Я тут столкнулся с тем, что не существует единого формата записи координат
Википедия
Вот например запись из Википедии имеет вот такой вид
5542.2389,N,03741.6063,E
А на тех же Яндекс Картах
Эти же координаты записываются в другом виде!
Но не просто в другом виде, но и другим числом!
вот 55°42′14.34″N 37°41′36.38″E
и вот 55.703982 и 37.693438
( Вот вбейте любой из этих примеров в ЯндексМапс и увидите одну и туже точку на карте )
---------------------------------------------
На данный момент не могу решить задачу как-же сохранить настройки сообщений в GPS модуле.
Хочу настроить модуль так что бы он выдавал сообщения исключительно в NMEA формате.
Меня интересует сообщение GLL ( $GPGLL )
Сейчас модуль шлет кучу разных сообщений, да к тому же сразу в двух форматах. ( NMEA и UBX )
Я не хочу отсеивать данные программно, в МК - хотя это возможно.
С настройками нужно аккуратно! Иначе девайс можно превратить в КИРПИЧ!
источник: http://roboforum.ru/forum68/topic14604.html
Цитата
настройки модуля открываются по Ctrl+F9
после изменения настройки надо нажать кнопку Send чтобы отправить их в модуль.
если всё Ок то настройки надо сохранить в память постоянную, на вкладке CFG выбрать место для сохранения (i2c eeprom например) и нажать кнопку Send
чтобы не окирпичить девайс, не надо отключать входящий протокол на вкладке PRT. ато модуль может перестать реагировать на команды.
китайский модуль имеет только уарт распаянный, но в настройках можно включить и остальные протоколы, например второй уарт или i2c и отконфигурить отдельно.
судя по даташиту они работают независимо то есть можно управлять по i2c, а считывать координаты по UART.
а вот и решение задачи: http://www.rwpbb.ru/copter/copter5.html
Цитата
Далее идем в меню View/Configuration View/PRT и устанавливаем скорость 115200 и жмем внизу на кнопку Send. После этого программа теряет связь с модулем до перенастройки скорости соединения в MultiSerialMega. В ней надо изменить строку на Serial2.begin(115200);
Здесь тонкий момент. Модуль помнит о новой скорости только до выключения питания. Поэтому надо обеспечить независимое питание модуля GPS, если он питается от платы Arduino, а та в свою очередь только от компьютера.
После смены скорости u-center снова увидит плату и теперь в меню CFG надо запомнить измененное значение в энергонезависимой памяти, выбрав пункт Save current configuration и нажав кнопку Send.
---------------------------------------------
Точная нстройка: http://www.ra3apw.ru/proekty/ublox-neo-7m/
---------------------------------------------
Хочу обратить внимание, на то, что модуль имеет долгосрочный АЛЬМАНАХ !
Цитата
Neo-6M умеет использовать SBAS (Satellite Based Augmentation System) — спутниковые системы дифференциальной коррекции, что увеличивает точность определения положения до 2 м, а также AGPS (Assisted GPS) для снижения времени холодного старта. Получение данных AGPS происходите сайта u-blox с помощью сервисов AssistNow Online и AssistNow Offline (долгосрочный альманах). Модуль обладает поддержкой протоколов NMEA, UBX и RTCM. UBX — проприетарный протокол от u-blox, a RTCM — протокол для передачи модулю данных о дифференциальной коррекции DGPS. Также для связи доступны интерфейсы UART, I2C, SPI и USB.
источник http://nerohelp.info/4679-neo-6m.html
---------------------------------------------
Ура! Настроил!
Теперь сообщения выходят исключительно в формате NMEA
А модуль посылает одно единственное сообщение - GLL ( $GPGLL ) координаты и время!
Теперь сообщение имеют вид $GPGLL,5532.8492,N,03729.0987,E,004241.469,A*33 ( проверил в гипертерминале )
Осталось подключить GPS модуль к МК ( через UART ) и выводить данные на дисплей.
Цель урока - научится работать с UARTом.
---------------------------------------------
Теперь изучать UART ( USART )
http://articles.greenchip.com.ua/1-0-40.html
http://easyelectronics.ru/avr-uch....rt.html
http://petro-ewlab.com/viewtopic.php?f=150&t=500