HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL

Использование Google Maps для мобильного GPS-устройства слежения

Некоторое время назад я рассказал об интерфейсе на AVR котроллере для Telit GM862.

В этой публикации я покажу, как использовать это оборудование для посылки SMS с информацией о вашем текущем местоположении и как отображать его в Google Maps.

Какими будут станции зарядки электромобилей в 2030 году: лучшие решения и мировой опыт для отечественных разработок

Использование Google Maps для мобильного GPS-устройства слежения

Как это работает?

Последовательный порт контроллера соединен с последовательным портом модуля GM862. Таким образом контроллер может посылать AT команды на модуль и получать ответ. GM862 имеет два последовательных порта: один для управления модемом, а другой для получения GPS данных в формате NMEA 0183. К счастью, мы можем иметь доступ к GPS через порт для модема, что спасает от необходимости использования второго последовательного порта. Для отладки и управления контроллером я использую второй последовательный порт, который соединяет контроллер с моим компьютером. Так я могу посылать команды на контроллер и управлять выполнением программы, пока она еще не протестирована и закончена.

Чтобы все заработало нужно совершить следующие действия:

  • Включить устройство.
  • Включить модуль GM862 (делается ATmega8).
  • Инициализировать модем.
  • Инициализировать GPS модуль (может быть пропущено).
  • Послать запрос о положении (повторяется до получения постоянных данных).
  • Послать SMS с текущими GPS данными о положении на сервис SMS-to-Email.
  • Открыть почту и открыть линк Google Maps.

Подробности

Поскольку ATmega8 имеет только один аппаратный UART, я использую его для сообщения с модемом 19200 бод. На втором последовательном порту реализован программный UART для отладки, который сообщается с компьютером на 9600 бод. Запуск контроллера выводит на терминале следующее меню:

------
Beacon v0.02 2007/07/28
s - Change sms phone number
o - Switch modem on/off
i - Init modem
m - Send SMS
c - Cold start GPS
p - Request GPS
------
key >

Включение и выключение модема производится понижением напряжения на 17 контакте GM862 минимум на секунду. Светодиод статуса на модеме должен замигать в ответ.

Инициализация модема производится следующей последовательностью AT команд:

  • AT, приветсвие
  • AT+IPR=19200, установить скорость 19200 бод
  • AT+CPIN= , ввести PIN-код для SIM-карты
  • AT+CMEE=2, выбрать расширенный формат вывода ошибок

В ответ, если PIN-код совпадает и сеть доступна, светодиод статуса на модеме должен замигать медленнее.

Инициализировать GPS модуль необязательно, поскольку GM862 запускает GPS при включении. Вы можете задать принудительный выбор «холодного» или «теплого» пуска.

  • AT$GPSR=1, заканчивается холодным пуском (полностью выключенной системы)
  • AT$GPSR=2, заканчивается теплым пуском (перезагрузка без выключения)

Если вы пропускаете холодный или теплый пуск, фиксированное местоположение будет доступно через 30 секунд после включения модуля. Это время может различаться в зависимости доступности спутников и от того, где вы находитесь.

Текущее положение запрашивается командой

  • AT$GPSACP, показать запрошенное положение

Ответ содержит информацию о текущем времени и дате, положение и число доступных спутников.

Чтобы отправить SMS, пошлите следующие команды:

  • AT+CMGF=1, выбрать текстовый формат SMS
  • AT+CMGS=" ", отправить сообщение на данный номер телефона. В ответ на эту команду появляется приглашение >. Теперь можно передавать текст SMS. Сообщение должно оканчиваться 0x1A.

Анализ GPS данных о положении

Строка полученных GPS данных выглядит примерно так: GPSACP:

131924.999,5343.9291N,00954.7841E,2.6,34.0,3,29.78,0.32,0.17, 130707,07

Все значения разделены запятыми.

Это:

  • Время, hhmmss.SSS
  • Положение, широта в градусах и минутах
  • Положение, долгота в градусах и минутах
  • Фактор снижения точности при определении положения в горизонтальной плоскости
  • Положение, высота в метрах
  • Привязка, 0 = недействительна, 2 = 2D, 3 = 3D
  • Направление маршрута
  • Скорость в км
  • Скорость в узлах
  • Число спутников

Полученные данные не могут быть напрямую использованы в Google Maps, потому что GPS возвращает положение в градусах и минутах, а для GM градусы должны быть представлены в виде числа с плавающей точкой. Это значит, что минуты нужно перевести в десятичную долю градусов.

Отправка ссылки на Google Maps

Теперь, когда мы получили и преобразовали GPS данные, мы готовы послать SMS со ссылкой на GM. Ссылка имеет следующий формат .

Вы можете вставить сообщение, которое появится во всплывающем окне. Оно окружено скобками кода. Еще вы можете контролировать масштаб изображения и вид карты (k = спутник, m = карта). Теперь эта ссылка посылается в виде SMS на сервис SMS-to-Email, который доставляет SMS на заданный адрес электронной почты.

Заключение

Если все прошло хорошо, вы сможете щелкнуть по ссылке и увидеть, как браузер открывает Google Maps, показывающий ваше положение.

Позднее я выложу код, который сейчас отлаживается и проверяется на правильность.

Перевод: Piyavka, по заказу РадиоЛоцман

На английском языке: Using Google Maps with a Mobile GPS Tracker

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • А если в Гугле нет толковой карти для нужной местности? Плохое качество изображения. Как ето повлияет на отображения координат?