Заметка юзера Gol

Софтовый GPS трекер.

GPS софт пробки пробколёт машина вождение йота Yota 4G

Помня что лучший отдых это смена рода занятия, сбацал вчера вечером одну программку. Бацал на старом древнем Borland C++ Builder 6.0, заодно хоть немного вспомнил как под ним программировать. А то последний раз я на сях кодил году эдак в 2002-м. Правда, потом под FreeBSD демона учёта телефонных звонков с АТС писал, но там совсем уж элементарное было.

Короче, для пробколёта понадобилось отслеживание местоположения машины. Принцип вырисовался общеизвестный: в машине стоит ноут к которому веб-камера подключена. Ноут выходит в инет через Йоту, транслирует картинку с камеры. Ещё к ноуту подключен блютусный приёмник GPS. Софтинка на ноуте читает географические координаты (в формате NMEA) с приёмника GPS, преобразует их в гугловские координаты и отсылает через инет на сервер. На сервере принимающая софтинка получает координаты и пишет в базу данных. Помимо координат можно передавать ещё и время получения координат, высоту над уровнем моря и т.д. Короче, всю ту информацию которую можно вычленить из строк NMEA. Далее, скрипт на страничке с гуглокартой с какой-то периодичностью проверяет, появились ли новые координаты. Если появились - двигает иконку по карте в нужную позицию.

Короче, всё просто. Только вот нужна буферизация координат, на случай если в текущий момент нет связи с сервером.

Продолжение...


Полез искать программы, которые могут получать с GPS и передавать куда-то в инет координаты. Оказалось что есть такие, но они либо работают только со своим сервером, либо не подходят по реализации - передают используя UDP. А мне лишний демон на сервак вешать очень не хоцца.

Вот и получился очередной велосипед. Моя программулька, гордо именуемая Gol's tracker client v.0.0.1 уже читает инфу с жэпээсины через виртуальный COM-порт. Обрабатывает их и шлёт на сервак. Причём шлёт обычным коннектом на веб-страничку, координаты передаёт как RAW_POST_DATA. Т.е. на веб-сервере лежит PHP-скриптик который и вызывается программкой как обычный URL. Буферизации данных пока нифига нет, если инет пропал то координаты не передаются и пропадают.

Вот чем хорошо изобретение велосипедов - тем что пока мастеришь, что-то новенькое изучаешь. Я вот теперь разобрался с NMEA, научился его строки разбирать. Даж контрольная сумма проверяется :-)
На скриншоте координаты неопределены ибо у меня ща GPS валяется на подоконнике и нифига спутники ловить не хочет. Как поймает - выложу ещё скриншотик.
Вот он, кстати.

Минусы очевидны - протокол TCP более накладней, чем UDP. Зато сразу есть подтверждение отправки координат. И нам пофиг на трафик, ибо у йоты скорость ништяк и анлим :-) Удобство налицо - принимать и обрабатывать координаты могёт любой обычный веб-скриптик, а не специально запущенный демон.

Работает софтинка пока только под обычной виндой (проверял на семёрке и на XP). Но проблем с портированием на Windows Mobile, думаю, быть не должно. Исходники сюда выложу на днях, мож кому пригодятся.

Кстати, визуализация принятых координат - вот тут. Щас там Храм Христа Спасателя фигурирует, эт я сегодня катался, тестил. Но об этом позже напишу.
Копия в ЖЖ Gol      Вторник, 23 Февраля, 2010 22:34       4


Добавить комментарий
 

SysCat Среда, 24 Февраля, 2010 10:58 цитировать ссылка на коммент

Кстати про АТС, мы все ждем.. :) и нам это очень как интересно. А более конкретно ФАКС машину.

 

 

Гость Среда, 19 Мая, 2010 10:05 цитировать ссылка на коммент

Интересная тема.
Исходники бы пригодились)

 

 

Гость Среда, 12 Марта, 2014 10:14 цитировать ссылка на коммент

И зачем это все если ни исходного кода не предоставил, ни скомпилированного файла для теста?

 

 

Gol Четверг, 13 Марта, 2014 11:19 цитировать ссылка на коммент

2 Гость:
Оно глючило конкретно, так что не выкладывал. А потом вообще на него забил и исходники куда-то прое..лись. Оно и к лучшему ибо совсем шайтан-сурцы были.

 

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 0
и 7 гостей









Страница сгенерирована за 0.0017459392547607 мкс

cached