Protocols & Binary Serialization

парсер NMEAЧитайте поля из журнала приёмника

Вставьте записанные сообщения и проверьте структуру, исходные значения и диагностику каждой строки.

парсер NMEA

Журнал NMEA

Подробности сообщений

Введите журнал или откройте пример.

Журнал обрабатывается в этом браузере без отправки и сохранения.

Настройки разбора

Именованные поля: GGA, RMC, GLL, GSA, GSV, VTG и ZDA.

Пересчитанные координаты — числовые значения, а не разрешение на навигацию. Проверяйте контрольную сумму и состояние определения позиции.

Введите журнал или откройте пример.

Парсер NMEA помогает сопоставить захваченный журнал с числами, которые получает ваша программа. Если пустое поле было удалено, номера позволяют обнаружить сдвиг координат или спутниковых данных. Неразобранные строки тоже остаются в отчёте.

Зачем нужен парсер NMEA

Каждую строку можно проследить

Парсер NMEA создаёт запись для каждой непустой строки. Известные типы, сообщения производителя и повреждённый текст сохраняют исходные номера. Можно вернуться к нужному месту захвата, даже если в середине журнала возникла ошибка.

Смешанный журнал разделяется на отдельные записи; неизвестные поля сохраняются полностью.

Координата и состояние источника отдельно

Числовая широта ещё не подтверждает действительную позицию. Результат проверки суммы и сообщения приёмника видны рядом с пересчитанными координатами. Читаемые поля не скрывают нарушение целостности исходной строки.

Градусы и минуты разделяются и пересчитываются рядом с отдельными индикаторами совпадения и ошибки суммы.

Как найти смещение полей

01

Сохраняйте пустые позиции

Размещайте одно сообщение на строку и оставляйте последовательные запятые. В GSA ровно двенадцать спутниковых позиций. Если сначала удалить пустые элементы, значения DOP окажутся под другими номерами.

02

Различайте отсутствие и совпадение

Контрольная сумма проверяется всегда. Без суффикса целостность не подтверждена. При несовпадении показаны полученное и вычисленное значения; инструмент не исправляет исходный текст ради успешной проверки.

03

Управляйте моментом пересчёта

Автоматический режим ждёт 350 мс после изменения. Отключите его, чтобы использовать кнопку или Ctrl/Cmd + Enter. Старый результат экспортировать нельзя; JSON содержит все записи, включая строки за пределами первых 50 показанных.

Позиция, время и спутниковые поля

Семь структур приёмника

GGA, RMC и GLL содержат поля позиции. GSA сохраняет спутниковые места и DOP, GSV показывает группы отдельного сообщения. VTG раскрывает путевой угол и скорость, а ZDA — полную дату.

Разные статусы в RMC

Статус данных и завершающий навигационный статус читаются отдельно. V в первом означает недействительные данные. V в navStatus не превращается в такой же признак отсутствия позиции.

Пересчёт координат GPS

Широта ddmm и долгота dddmm разделяются на градусы и минуты. Минуты делятся на 60, а S/W задают знак. Проверяются пределы и направления; дробные секунды UTC и допустимая секунда координации сохраняются.

Идентификаторы и расширения

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

Чего нельзя заключить из отчёта

Ограниченная поддержка протокола
Именованные поля основаны на открытых руководствах приёмников для семи структур. Это не сертификация всех версий NMEA. Полезная нагрузка AIS, NMEA 2000 и двоичные протоколы производителей не декодируются.
Дата не достраивается
Год RMC остаётся двузначным. GGA и GLL не получают дату из предыдущих строк. Дата ZDA проверяется по календарю, но её локальное смещение не меняет полученное время UTC.
Нет решения о навигации
Отсутствие позиции и недействительные данные сохраняются как диагностика. Система координат не преобразуется и не угадывается по журналу. Высота GGA над уровнем моря не считается автоматически высотой над эллипсоидом.
Ограничения размера
Разрешены 1 МиБ и 5000 непустых строк. Превышение общего предела останавливает разбор. Строка длиннее 4096 символов получает собственную диагностику; остальные сообщения обрабатываются дальше.
Без восстановления и подключения
Части GSV не объединяются в предполагаемую общую эпоху наблюдений. Траектория не рисуется, суммы не исправляются, соединение с приёмником не открывается. Экспорт содержит исходные сообщения NMEA вместе с ошибками, а не только удобные координаты.

Вопросы про парсер NMEA

Как перевести координаты в десятичные градусы?

Последние две цифры перед точкой и дробная часть обозначают минуты, предыдущие — градусы. Разделите минуты на 60 и прибавьте к градусам. Для S и W смените знак. Исходное поле остаётся для проверки.

Что означает GPGGA?

GP — идентификатор передатчика, GGA — структура данных о позиции. GN может появляться при сочетании спутниковых систем. Структура выбирается по трём последним буквам стандартного адреса, а передатчик сохраняется как в журнале.

Как проверяется контрольная сумма?

К ASCII-символам между начальным знаком и звёздочкой применяется XOR, включая запятые. Разделители и конец строки не участвуют. Результат сравнивается с двумя шестнадцатеричными цифрами, но не подтверждает точность позиции.

Какие типы сообщений поддерживаются?

GGA, RMC, GLL, GSA, GSV, VTG и ZDA получают именованные поля. Другие типы сохраняют адрес и пронумерованные исходные поля, если внешнюю структуру сообщения можно разделить.

Почему у некоторых строк есть время, но нет даты?

GGA и GLL не передают дату. Здесь она не подставляется из системных часов или другой строки. RMC сохраняет двузначный год без выбора столетия; ZDA может передать явную дату с четырёхзначным годом.

Поле интерпретировано неожиданно?

Проверьте следующий фрагмент

Откройте парсер NMEA для следующей записи. Сопоставьте номера проблемных полей с исходными значениями, прежде чем менять настройки приёмника.