NMEA (NMEA 0183) - учимся читать сырой код GPS устройств

Список разделов Природа, Путешествия, Выживание

Описание: Куда пойти, что взять с собой.

Сообщение #1 [Stealth] » 07.06.2016, 14:44

matrix-434036_960_720.jpg


Доброго времени суток, гик!

Хочу начать серию публикаций по теме чтения кода из навиков и модулей, а так же небольшие исследования имеющегося оборудования. Постараюсь обходиться более простыми понятиями, по мере возможностей, а там как получится. Если проникся чтением кода, изучение методов работы своих навиков и навигационных систем в целом - добро пожаловать!
Изображение
Изображение
[Stealth] M
Администратор
Администратор
Аватара
Репутация: 103
Сообщения: 2684
С нами: 12 лет 6 месяцев

Сообщение #2 [Stealth] » 07.06.2016, 15:09

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

Код: Выделить всё
...
$GPGGA,073015.000,5450.4043,N,03735.8914,E,0,00,0.0,123.2,M,0.0,M,,0000*6E
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,073015.000,V,5450.4043,N,03735.8914,E,0000.0,000.0,070616,,,N*41
...

Это маленький кусок снятого кода с устройства, которое не видит неба. Отсюда вывод - код будет генерироваться независимо ни от чего (хоть в свинцовый ящик навигатор положите). То, что передаёт спутник, на сколько я знаю, выковырять куда сложнее - а именно это альманахи и эфемериды. Их сложно будет воткнуть в статью, т.к. они и для анализа не доступны толком, по крайней мере, мне, на настоящий момент. Но в целом как-то так выглядит сигнал спутника:

4-4-728.jpg
4-6-728.jpg


А так альманах:

7t2.png


Второй момент, который мы видим из наших строчек - координаты в коде (5450.4043,N,03735.8914,E) и высота (123.2,M). Казалось бы, откуда оно там? А всё просто - это последние снятые показатели, сохранённые устройством, и что бы не врать на карте - в коде присутствует информация, что видно 0 спутников, и используется тоже 0. Так же есть метка, что данные недостоверны. Но об этом подробнее чуть позже...

И в конце строки после звезды идёт контрольная сумма - это XOR сумма всей строки между $ и *. Что бы не заморачиваться с подсчётом в уме - есть калькулятор.

Ну вот пока и всё, дальше расскажу по командам...
Изображение
Изображение
[Stealth] M
Администратор
Администратор
Аватара
Репутация: 103
Сообщения: 2684
С нами: 12 лет 6 месяцев

Сообщение #3 [Stealth] » 19.09.2016, 14:04

Прошу прощения, но немного терминологии воткнуть придётся...

Сообщение стандарта NMEA, в самом стандарте называются «sentence», тот, кто эти «предложения» «говорит» — «Talker». Так например, GPS-применик в рамках NMEA имеет идентификатор «GP», ГЛОНАСС - GL, а вот полный список ID "Талкеров":

GP - Global Positioning System receiver
LC - Loran-C receiver
II - Integrated Instrumentation
IN - Integrated Navigation
EC - Electronic Chart Display & Information System (ECDIS)
CD - Digital Selective Calling (DSC)
GA - Galileo Positioning System
GL - GLONASS, according to IEIC 61162-1
GN - Mixed GPS and GLONASS data, according to IEIC 61162-1
GB - BeiDou (China)
BD - BeiDou (China)
QZ - QZSS regional GPS augmentation system (Japan)

Нас интересуют, в основном, строчки красным цветом.
Идентификаторы втыкаются, например, так:

$GPGST,172814.0,0.006,0.023,0.020,273.6,0.023,0.020,0.031*6A

$ - начало строчки "талкера"
GP - обозначение данных со спутника GPS
GST - GPS Pseudorange Noise Statistics (статистика по шуму сигнала)
ну, и так далее...

Скоро продолжим!
Изображение
Изображение
[Stealth] M
Администратор
Администратор
Аватара
Репутация: 103
Сообщения: 2684
С нами: 12 лет 6 месяцев


Вернуться в Природа, Путешествия, Выживание

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость

cron