- Описание протокола NMEA 0183
- Состав строк:
- Источник данных:
- Идентификатор строки:
- Данные:
- Контрольная сумма:
- Состав сообщений:
- Пример сообщений NMEA 0183:
- Пример строки GGA:
- Назначение параметров строки GGA:
- Пример строки GLL:
- Назначение параметров строки GLL:
- Пример строки GSA:
- Назначение параметров строки GSA:
- Пример строки GSV:
- Назначение параметров строки GSV:
- Пример строки RMC:
- Назначение параметров строки RMC:
- Пример строки VTG:
- Назначение параметров строки VTG:
- Пример строки ZDA:
- Назначение параметров строки ZDA:
- Пример строки DHV:
- Назначение параметров строки DHV:
- Пример строки GST:
- Назначение параметров строки GST:
- Пример строки TXT:
- Назначение параметров строки TXT:
- Nmea windows com port
Описание протокола NMEA 0183
NMEA 0183 (от «National Marine Electronics Association») — стандарт определяющий текстовый протокол связи навигационного оборудования. Стал особенно популярен в связи с распространением GPS-приёмников, использующих этот стандарт для передачи данных по шине UART.
Сообщения NMEA передаваемые GPS-модулем могут состоять из одной или нескольких строк.
Состав строк:
- Каждая строка начинается символом ‘$’.
- Далее следуют два символа источника данных и три символа идентификатора строки.
- После идентификатора следуют данные состоящие из параметров, разделённые запятыми.
- Завершают строку символ ‘*’, два символа контрольной суммы и символы «\r\n».
Источник данных:
Источник данных представлен двумя символами которые следуют за символом ‘$’.
- GP — информация получена от спутников GPS (США).
- GL — информация получена от спутников Глонасс (Россия).
- GA — информация получена от спутников Galileo (Европа).
- BD — информация получена от спутников Beidou (Китай).
- GQ — информация получена от спутников QZSS (Япония).
- GN — информация получена от спутников разных навигационных систем.
Идентификатор строки:
Идентификатор строки представлен тремя символами следующими за источником данных.
- GGA — Данные о последнем зафиксированном местоположении.
- GLL — Географические координаты.
- GSA — Информация об активных спутниках (участвующих в позиционировании).
- GSV — Информация о всех наблюдаемых спутниках.
- RMC — Рекомендуемый минимум навигационных данных.
- VTG — Скорость и курс относительно земли.
- ZDA — Дата и время.
- DHV — Информация о скорости движения GNSS приемника.
- GST — Статистика ошибок позиционирования.
- TXT — Текстовое сообщение.
Данные:
Данные состоят из параметров, разделённых запятыми. Тип и состав параметров зависит от идентификатора строки. Ниже рассмотрены параметры строк с разными идентификаторами.
Контрольная сумма:
Контрольная сумма представлена двумя символами следующими за символом ‘*’.
Контрольная сумма представляет из себя шестнадцатиричное представление результата операции XOR с байтами всех символов строки расположенных между ‘$’ и ‘*’, не включительно.
Состав сообщений:
Сообщения состоят из одной и более строк. Количество строк и их состав зависят от настроек GPS модуля.
При пользовании библиотекой iarduino_GPS_ATGM336, состав сообщений можно настроить функцией composition(), указав ей идентификаторы тех строк, которые требуется включить в состав сообщения отправляемого Trema GPS модулем ATGM336H.
Пример сообщений NMEA 0183:
Пример сообщения NMEA 0183 версии 4.1:
Отличия сообщений версий 2.0 и 4.0 от 4.1 рассмотрены в описаниях параметров строк.
Строка с идентификатором GGA содержит данные о последнем местоположении.
Пример строки GGA:
Назначение параметров строки GGA:
- 1 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 2 — Широта в формате «ГГММ.МММММ». В примере «5546.95900» = 55°46.959′ = 55.78265°.
- 3 — Направление широты: ‘N’-север / ‘S’-юг. В примере ‘N’ — север.
- 4 — Долгота в формате «ГГГММ.МММММ». В примере «03740.69200» = 37°40.692′ = 37.6782°.
- 5 — Направление долготы: ‘E’-восток / ‘W’-запад. В примере ‘E’ — восток.
- 6 — Способ вычисления координат. В примере ‘1’ — автономно.
- ‘0’ — недоступно.
- ‘1’ — автономно.
- ‘2’ — дифференциально.
- ‘3’ — PPS.
- ‘4’ — фиксированный RTK.
- ‘5’ — не фиксированный RTK.
- ‘6’ — экстраполяция.
- ‘7’ — фиксированные координаты.
- ‘8’ — режим симуляции.
- 7 — Количество активных спутников, от «00» до «12». В примере «08».
- 8 — Горизонтальный геометрический фактор ухудшения точности (HDOP). В примере «2.7».
- 9,10 — Высота над уровнем моря (geoid), единицы измерения высоты. В примере «142.0,M».
- 11,12 — Разница между эллипсоидом земли и уровнем моря (geoid), единицы измерения.
- 13 — Количество секунд прошедших с получения последней DGPS поправки (SC104).
- 14 — ID базовой станции предоставляющей DGPS поправки (если включено DGPS).
Примечание: В примере GPS-модуль не отправил значение параметров 13 и 14.
Строка с идентификатором GLL содержит географические координаты.
Пример строки GLL:
Назначение параметров строки GLL:
- 1 — Широта в формате «ГГММ.МММММ». В примере «5546.95900» = 55°46.959′ = 55.78265°.
- 2 — Направление широты: ‘N’-север / ‘S’-юг. В примере ‘N’-север.
- 3 — Долгота в формате «ГГГММ.МММММ». В примере «03740.69200» = 37°40.692′ = 37.6782°.
- 4 — Направление долготы: ‘E’-восток / ‘W’-запад. В примере ‘E’-восток.
- 5 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 6 — Достоверность полученных координат. В примере ‘A’ — данные достоверны.
- ‘A’ — данные достоверны.
- ‘V’ — ошибочные данные.
- 7 — Способ вычисления координат. В примере ‘A’ — автономный.
- ‘A’ — автономный.
- ‘D’ — дифференциальный.
- ‘E’ — аппроксимация.
- ‘M’ — фиксированные данные.
- ‘N’ — недостоверные данные.
Примечание: В сообщениях NMEA 0183 версии 2.2 строка содержит только 6 параметров.
Строка с идентификатором GSA содержит информацию об активных спутниках.
Пример строки GSA:
Назначение параметров строки GSA:
- 1 — Режим выбора формата 2D/3D: ‘A’-автоматический / ‘M’-ручной. В примере ‘A’ — автоматич.
- 2 — Режим выбранного формата ‘1’-нет решения / ‘2’-2D / ‘3’-3D. В примере ‘3’ — 3D.
- 3-14 — ID активного спутника. В примере указаны ID 6 спутников: «10», «16», «18», «20», «26», «27».
- 15 — Пространственный геометрический фактор ухудшения точности (PDOP). В примере «4.8».
- 16 — Горизонтальный геометрический фактор ухудшения точности (HDOP). В примере «2.0».
- 17 — Вертикальный геометрический фактор ухудшения точности (VDOP). В примере «4.3».
- 18 — Номер навигационной системы (1-GPS, 2-Glonass, 3-Galileo, 4-Beidu). В примере ‘1’.
Примечание: В одном сообщении NMEA 0183 отправляется сразу несколько строк GSA, по одной для каждой спутниковой навигационной системы используемой модулем.
В сообщениях NMEA 0183 версии 2.2 и 4.0 строка содержит только 17 параметров, а источник данных (два первых символа после ‘$’) указывает на конкретную спутниковую навигационную систему «GP», «GL», «GA», «BD», или «GQ», в отличии от версии 4.1, где источник данных для любой строки GSA указан как «GN», а спутниковая навигационная система определена в 18 параметре.
Строка с идентификатором GSV содержит информацию о всех наблюдаемых спутниках.
Пример строки GSV:
Пример строки в которой присутствует информация о 4 спутниках (максимальное количество):
Пример строки в которой присутствует информация только о 2 спутниках:
Назначение параметров строки GSV:
- 1 — Количество выводимых сообщений GSV для данной навигационной системы. В примере ‘3’.
- 2 — Номер сообщения GSV для данной навигационной системы. В 1 примере ‘1’, во втором ‘3’.
- 3 — Количество наблюдаемых спутников указанной навигационной системы. В примере «09».
- 4,5,6,7 — Данные о спутнике. В одной строке может быть от 0 до 4 блоков данных.
Каждый блок данных состоит из 4 параметров:- ID спутника (от 1 до 255). ID не может быть равен ‘0’.
- Угол возвышения спутника относительно модуля, в градусах («00»-горизонт / «90»-зенит).
- Азимут положения спутника относительно модуля, в градусах («000» — «360»).
- Уровень сигнала SNR (отношение сигнал/шум) в дБ («00» — «99»),
- 8 — Дополнительный параметр, присутствует в версии 4.1 и выше, значение всегда равно ‘0’.
Примечание: В одном сообщении NMEA 0183 отправляется сразу несколько строк GSA, от одной до нескольких строк для каждой спутниковой навигационной системы используемой модулем.
Источник данных (два первых символа после ‘$’) указывает на спутниковую навигационную систему «GP», «GL», «GA», «BD», или «GQ», к которой относятся данные о спутниках в строке. Для каждой навигационной системы в одном сообщении может быть указано несколько строк, их количество указано в первом параметре строки, а номер строки указан во втором параметре.
В сообщениях NMEA 0183 версии 4.1 добавлен один последний дополнительный параметр, значение которого всегда равно 0.
Строка с идентификатором RMC содержит рекомендуемый минимум навигационных данных.
Пример строки RMC:
Назначение параметров строки RMC:
- 1 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 2 — Достоверность полученных координат. В примере ‘A’ — данные достоверны.
- ‘A’ — данные достоверны.
- ‘V’ — ошибочные данные.
- 3 — Широта в формате «ГГММ.МММММ». В примере «5546.95900» = 55°46.959′ = 55.78265°.
- 4 — Направление широты: ‘N’-север / ‘S’-юг. В примере ‘N’-север.
- 5 — Долгота в формате «ГГГММ.МММММ». В примере «03740.69200» = 37°40.692′ = 37.6782°.
- 6 — Направление долготы: ‘E’-восток / ‘W’-запад. В примере ‘E’-восток.
- 7 — Скорость в узлах. В примере «0.12» = 0.222 км/ч.
- 8 — Курс на истинный полюс в градусах. В примере «49.75» = 49.75°.
- 9 — Дата в формате «ДДММГГ». В примере «200220» = 20.02.20г.
- 10 — Магнитное склонение в градусах. Отсутствует в примере.
- 11 — Направление магнитного склонения: ‘E’-вычесть / ‘W’-прибавить. Отсутствует в примере.
- 12 — Способ вычисления координат (отсутствует в версии 2.2). В примере ‘A’ — автономный.
- ‘A’ — автономный.
- ‘D’ — дифференциальный.
- ‘E’ — аппроксимация.
- ‘M’ — фиксированные данные.
- ‘N’ — недостоверные данные.
- 13 — Статус навигации (отсутствует в версиях 2.2 и 4.0). В примере ‘V’.
Примечание: В сообщениях NMEA 0183 версии 2.2 строка содержит только 11 параметров, а в версии 4.0 — 12 параметров.
Строка с идентификатором VTG содержит скорость и курс относительно земли.
Пример строки VTG:
Назначение параметров строки VTG:
- 1 — Курс на истинный полюс в градусах. В примере «49.75» = 49.75°.
- 2 — Флаг достоверности курса: ‘T’-True / ‘F’-False. В примере ‘T’-True.
- 3 — Магнитное склонение в градусах. Отсутствует в примере.
- 4 — ‘M’-Магнитный.
- 5,6 — Скорость, единицы измерения скорости. В примере «0.12,N» = 0.12 узлов.
- 7,8 — Скорость, единицы измерения скорости. В примере «0.12,K» = 0.22 км/ч.
- 9 — Способ вычисления скорости и курса (отсутствует в верс. 2.2). В примере ‘A’ — автономный.
- ‘A’ — автономный.
- ‘D’ — дифференциальный.
- ‘E’ — аппроксимация.
- ‘M’ — фиксированные данные.
- ‘N’ — недостоверные данные.
Примечание: В сообщениях NMEA 0183 версии 2.2 строка содержит только 8 параметров.
Строка с идентификатором ZDA содержит дату и время.
Пример строки ZDA:
Назначение параметров строки ZDA:
- 1 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 2 — День в формате «ДД». В примере «20» = 20 день месяца.
- 3 — Месяц в формате «ММ». В примере «02» = февраль.
- 4 — Год в формате «ГГГГ». В примере «2020» = 2020 год.
- 5 — Часовой пояс — часы в формате «ЧЧ». В примере «00» — без сдвига часов от UTC.
- 6 — Часовой пояс — минуты в формате «ММ». В примере «00» — без сдвига минут от UTC.
Строка с идентификатором DHV содержит информацию о скорости движения приемника.
Пример строки DHV:
Назначение параметров строки DHV:
- 1 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 2 — Скорость 3D в м/с. В примере «0.08».
- 3 — Скорость ECEF-X в м/с. В примере «-0.179».
- 4 — Скорость ECEF-Y в м/с. В примере «0.105».
- 5 — Скорость ECEF-Z в м/с. В примере «0.071».
- 6 — Скорость в м/с. В примере «0.04».
Строка с идентификатором GST содержит статистику ошибок позиционирования.
Пример строки GST:
Назначение параметров строки GST:
- 1 — Время UTC в формате «ЧЧММСС.ССС». В примере «102030.000» = 10ч., 20м., 30.000 сек.
- 2 — Среднее квадратическое значение (RMS) стандартной девиации диапазонов в метрах.
- 3 — Ошибка элипса полуоси semi-major в метрах. Отсутствует в примере.
- 4 — Ошибка элипса полуоси semi-minor в метрах. Отсутствует в примере.
- 5 — Ошибка ориентации элипса полуоси semi-major в градусах. Отсутствует в примере.
- 6 — Ошибка широты в метрах. В примере «5.6» = ошибка широты до 5.6 м.
- 7 — Ошибка долготы в метрах. В примере «9.2» = ошибка долготы до 9.2 м.
- 8 — Ошибка высоты в метрах. В примере «10.1» = ошибка высоты до 10.1 м.
Строка с идентификатором TXT содержит текстовое сообщение.
Пример строки TXT:
Назначение параметров строки TXT:
- 1 — Количество строк с текстом данного текстового сообщения. В примере «01» = 1 строка.
- 2 — Номер строки с текстом данного текстового сообщения. В примере «01» = 1 строка.
- 3 — Идентификатор типа сообщения. В примере «01» — Предупреждение.
- «00» — ошибка.
- «01» — предупреждение.
- «02» — уведомление.
- «07» — пользовательское.
- 4 — Текстовое сообщение. В примере «ANTENNA OK».
Примечание: Текстовое сообщение может содержать пробелы и запятые.
Nmea windows com port
Описание: Программа «GNSS Data Interface» предназначена для обеспечения работоспособности «традиционных» навигационных программ, которые получают данные GPS/ГЛОНАСС через последовательный коммуникационный порт (COM порт).
Операционная система: Windows 7/8/10
Текущая версия программы: 1.2.0.2
Часто задаваемые вопросы: Читать
Скачать актуальную версию: GnssDataInterface v1.2.0.2.zip ( 1,46 МБ )
Программа «GNSS Data Interface» предназначена для обеспечения работоспособности «традиционных» навигационных программ, которые получают данные GPS/ГЛОНАСС через последовательный коммуникационный порт (COM порт).
Программа «GNSS Data Interface», далее «Программное Обеспечение» предоставляется «как есть», Вы пользуетесь им на собственный риск. Автор не предоставляет никаких других прямых и/или косвенных гарантий или условий. Лицензия на использование Программного Обеспечения предоставляется безвозмездно для использования только в личных целях. Вы вправе установить и использовать Программное Обеспечение одновременно на неограниченном числе компьютеров.
- Программа считывает данные с сенсора GNSS Geolocation Sensor (GPS + ГЛОНАСС) и передаёт их в формате NMEA в последовательный коммуникационный порт.
- В случае если навигационный сенсор выдаёт нативные данные в NMEA формате, таким образом, что в программе навигации мы будем иметь абсолютно всю информацию о спутниках (видимость, азимуты, уровни сигнала).
- В случае, если «родные» данные в NMEA формате не «отдаются» навигационным чипом, то программа производит эмуляцию всех необходимых NMEA данных, как положение/высота/скорость, так и «поддельную» информацию о спутниках (12 спутников).
Например Broadcom чип в Asus VivoTab выдаёт данные в NMEA формате, а чип Ericsson в ноутбуках Lenovo нет - Если пропадает сигнал со спутников или пропадает информация от GNSS сенсора, программа также производит эмуляцию NMEA данных, таким образом, что навигационная программа выдаёт сигнал «Потерян сигнал GPS».
- Из меню программы можно запускать любимую программу навигации, прописав её имя настройках программы, а также возможно настроить и автоматический запуск навигационной программы при старте программы GNSS Data Interface.
- Из меню программы можно открыть онлайн карты Google, Yandex, Bing, OpenStreetMap.
Онлайн карты откроются в браузере по умолчанию с автоматическим указанием настоящего местоположения. - Также есть возможность генерации файлов в формате GPX, KML (для Google Earth) с информацией о пройденным маршруте.
- Конфигурация программы производится через конфигурационный диалог (пункт в меню Options -> Setting, или через кнопку на тулбаре).
- В конфигурации программы можно настроить, в том числе, и автоматический запуск интерфейса с датчиком местоположения (GNSS), автоматическое открытие указанного COM порта.
- В «экспертной» конфигурации вывод NMEA данных поддерживается одновременно до четырех СОМ портов (т.е. нет необходимости использовать программы типа GPS Gate), а также и многое другое.
Инструкция по расширенной конфигурации и дополнительным возможностям: GNSS Data Interface — extended configuration v1.0 (ru).pdf ( 80,43 КБ )