Вступление
48 часов в пути, а то и больше, многие даже не знают, как можно провести столько времени за рулем. Они, конечно, догадываются, что существуют такие профессии как водитель грузовика – дальнобойщик, но, смею предположить, даже не думали о том, что такое долгая дорога и как проводить время за рулем.
Я люблю путешествовать и люблю свой мотоцикл. Было время, когда я мог за сутки преодолевать до 1000 км. Это очень много, даже для такой страны как Россия.
Первое о чем стоит подумать человеку, кто едет очень далеко на собственном транспорте – это безопасность. В дальней дороге может случиться что угодно: аварии, поломки, внезапные проблемы со здоровьем, да и просто может кончиться бензин. Знайте, даже если вы аля волк-одиночка, есть люди, которым вы дороги, кто думает и переживает за вас.
Именно о решении, которое позволяет отслеживать транспортные средства в реальном времени мы и поговорим сегодня.
Решение
OpenGTS («Open GPS Tracking System») — первое open-source решение, разработанное специально для мониторинга транспортных средств в web-браузерах используя данные с GPS приемников.
выглядит как-то так:
Архитектура решения
На изображении выше, схематично показана архитектура OpenGTS. Различные device communication servers (модули которые получают GPS данные с различных устройств) запущены как самостоятельные Java процессы. Track сервлет, отвечающий за web-интерфейс, также как и другие сервлеты (включая http-based device communication server), запускаются на application сервере известном как Apache Tomcat.
Http-based communication server
Мы рассмотрим простейшую передачу данных с клиента на сервер, на основе HTTP-GET запросов (http-based devices). Для этих целей к серверу подключается сервлет “gprmc”. Его установка и запуск в Tomcat открывают доступ к следующему URL'у:
http://opengts.mechsoft.ru:8080/gprmc/Data
Все аргументы для URL’а перечислены в документации, но мы рассмотрим простейший тестовый запрос к серверу:
http://opengts.mechsoft.ru:8080/gprmc/Data?acct=...&dev=...&gprmc=...
Ответ сервера ниже говорит нам о том, что данные успешно переданы:
<html>
<head>
</head>
<body>
<pre>OK </pre>
</body>
</html>
Разберем аргументы запроса:
acct – идентификатор аккаунта, для которого проводиться передача данных;
dev – идентификатор транспортного средства, который зарегистрирован для аккаунта;
gprmc – строка формата NMEA-0183, которая содержит данные с GPS приемника.
Мобильный клиент
Для http-based сервлета, создан простейший клиент для мобильной платформы Android. Как было показано выше, задача клиента – опрашивать сервер с помощью правильно сформированных HTTP -GET запросов.
Программа, которая умеет это делать – GPS2OpenGTS. Внешний вид приложения спартанский. На главном экране отображается информация о координатах, количестве спутников, скорости и направлении движения, имя сервера, на которое шлются HTTP-GET запросы и их интенсивность.
Как это выглядит
Включенный GPS приемник очень «прожорливый», поэтому аккумулятор мобильного устройства может быстро сесть. Перед выездом рекомендуется подумать о зарядке вашего мобильного устройства в пути. В моем случае я использовал обычный провод для прикуривателя автомобиля. Прикуриватель я вывел на мотоцикле самостоятельно. Получилось весьма функционально:
Я использовал OpenGTS на своем сервере, когда путешествовал из Москвы (Россия) в Норд Кап (Норвегия) через Финляндию.
Интересно как я ехал? Эти данные доступны. Можно подключиться к серверу http://opengts.mechsoft.ru:8080/track/Track используя учетную запись:
Account: | public |
User: | guest |
Password: | guest |
затем, в правом — верхнем углу окна необходимо выбрать даты:
From: | 12 августа 2011 года |
To: | 18 августа 2011 года |
И нажать на кнопку “Update”.
Вместо заключения
Передвигаясь по дорогам, я могу сказать точно, что сейчас очень много людей, кто путешествует. Приятно видеть автомобили с номерами из других регионов страны, отличных о того, по которому едешь, а уж если это будет мотоциклист – с таким непременно надо познакомиться на следующей заправке. Путешествуйте…
Минусы:
- Необходимо иметь свой сервер, доступный через Интернет, для установки OpenGTS;
- Необходимо подключение к интернету на мобильных устройствах (в условиях роуминга это может быть дорого).
Плюсы:
- Свободное программное обеспечение;
- Можно отслеживать сразу несколько транспортных средств, объединяя их в группы;
- Отчеты по передвижению зарегистрированных транспортных средств;
- Огромный спектр GPS устройств, которые могут использоваться для сбора данных.