Четене на 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 или друго човешко нещо. Ще си чертая графики на статистиките, да ми е удобно. Мда.

2012

Равносметка. Защото така.

Тази година не правих много но пък успях да свърша малко по-големи неща в личен план. Личи си, че изобщо нямах време за драскане тук.

Общо взето се случи това:

  • Успях без кой знае какви усилия известно време да се издържам като freelancer. Имах достатъчно време да мързелувам и да уча, докато се занимавам с разни проекти. Научих се (или поне така си мисля) да подхожам както трябва към клиентите. Беше интересно.
  • След това си намерих постоянна (да се чете истинска) работа и общо взето ежедневието ми стана почти монотонно – работа, спане, работа и межувременно ядене и други работи.
  • Освен, че се издържах сам, се насладих на търсенето на временно място за живеене. Това беше от неприятните преживявания, но накрая успях да си намеря добро и удобно място.
  • Все още не са ме отказали от ученето тук. Даже към момента съм почти 55% инженер – клик.
  • Не научих нито един нов език, било то за програмиране или междучовешка комуникация. Но пък развих тези, които вече знам. Например – написах си php framework и половина. Не подозирах колко елементарно става и колко малко е нужно.
  • Купих си кола. Много полезно нещо. Ако ми се осъществят плановете, ще направя доста интересни неща по нея.

Като цяло не беше крайно зле, но, както винаги, може и по-добре.
Ще ми се през 2013 да реализирам поне половината от нещата, които съм си намислил. Първо да се наспя, пък после ще мислим другите работи.

That is all.