Четене на SMS-ите от джажите за интернет на Vivacom

От известно време на лаптопа имам само мобилен интернет, за който ползвам USB модем от vivacom.
Джаджата е Huawei и под windows идва с шарена програма, от която може да се следи трафика, да се гледат SMS-ите и разни други неща. На картата в модема се праща SMS, когато свършат “бързите мегабайти” и когато излезе сметката.

Вчера ми се прищя да си чета SMS-ите без да минавам на windows и след като се поразрових малко, намерих разни неща за устройството. Не беше никак трудно да намеря как става номера. Оказа се много просто – пращам команди, чета резултата, обработвам го и – готово.

От джаджата към компютъра постоянно летят статистики за изпратени/получени данни, скорост и др., които изглеждат долу-горе така:


^DSFLOWRPT:00000454,00000D36,00000092,00000000001912E8,000000000017E69A,00004000,00004000

^DSFLOWRPT:00000456,0000001A,0000004E,000000000019131C,000000000017E736,00004000,00004000
[...]

Нещото приема AT+C команди и за да върне SMS-ите, трябва да му се каже това:

AT+CMGF=1
АT+CSCS="UTF8"
AT+CMGL="ALL"

Първо го направих на python, но след това видях, че вече е правенo реших да го пренапиша на C++. По-голямата част си е чисто C, но заради работата с низовете се прежалих да ползвам и C++.
Long story short – нещото го има в github – https://github.com/chilyashev/smsread

Пробвано е с Huawei E173 и не е давало дефекти. Само веднъж се случи да хвърли SIGSEGV, малко след като вкарах устройството в USB-то, но това е нормално, все пак не беше инициализирано.
Ако се докопам до други джаджи, ще пробвам и с тях.

Ако в близките дни имам повече свободно време, ще му напиша GUI на pygtk или друго човешко нещо. Ще си чертая графики на статистиките, да ми е удобно. Мда.

Leave a Reply