Здесь описывается часть (поддерживаемая) NMEA 0183, +PMTK расширения для GPS модулей на базе MT333x (типа SIM68_ и подобных).

Сообщения NMEA 0183 используют набор символов ASCII. Каждое сообщение начинается с '$' (0x24) и заканчивается возвратом каретки и переводом строки (0x0D 0x0A). Каждое сообщение состоит из одного или более полей разделяемых запятыми (без пробелов). После последнего поля, и перед <CR> <LF>, располагается контрольная сумма - состоящая из звездочки '*' (0x2A) и двух символов, представляющими шестнадцатеричное значение исключающего ИЛИ всех символов между $ и *. Разграничивающие запятые всегда передаются, ведущие нули могут подавляться.

Стандарты NMEA 0183 и NMEA 2000 платные. Последней версией NMEA0183 на начало 2022г. была v.4.11, см. nmea.org

NMEA 0183 сообщения

У некоторых NMEA идентификаторов команд могут использоваться префиксы, уточняющие их принадлежность к конкретной системе позиционирования:

GP GPS применим к GGA, GLL, GSA, GSV, RMC, VTG
GL GLONASS применим к GGA, GLL, GSA, GSV, RMC, VTG
GA GALILEO применим к GGA, GLL, GSA, GSV, RMC, VTG
BD BEIDOU применим к GGA, GLL, GSA, GSV, RMC, VTG
GQ QZSS  
GI NAVIC не поддерживается в MT3333
GN Все системы применим к GGA, GLL, VTG

$префиксGGA, время и позиция. Пример: $GPGGA,091926.000,3113.3166,N,12121.2682,E,1,09,0.9,36.9,M,7.9,M,,0000*56

$префиксGSA, спутники активные (общая информ). Пример: $GPGSA,A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33 [p13]

$префиксGSV, спутники (сами данные). Пример: $GPGSV,3,1,11,26,68,023,37,15,64,251,33,05,45,058,34,29,33,253,33*75 [p14]

     Обычно GSV сообщения идут подряд группой, описывая видимые спутники.

$префиксRMC, направление и скорость, время и дата. Пример: $GPRMC,094330.000,A,3113.3156,N,12121.2686,E,0.51,193.93,171210,,,A*68 [p15]

$префиксVTG, направление и скорость. Пример: $GPVTG,83.37,T,,M,0.00,N,0.0,K,A*32 [p16]

$префиксGLL, позиция широта долгота время. Пример: $GNGLL,3113.9996,N,02122.7352,E,181828.000,A,D*47

$префиксGRS, математические остатки при вычислении позиции для GGA.

$префиксGST, статистически вычисляемые ошибки при определении позиции. Пример: $GPGST,155721.000,3.7,17,0.001,156.2,16,6.8,27*43

$префиксZDA, локальное время и дата. Пример (для MT3333 AXN5.10): $GNZDA,170345.000,17,01,2022,,*49

$префиксDTM, привязка (и смещение от привязки) к системе координат. Пример: $GNDTM,W84,,0.000000,N,0.000000,E,0.00,W84*41

$PMTKCHN, информация по каналам. Пример: $PMTKCHN,19282,21112,13192,06302,24072,22001,01152,14312,03001,12001,02001,17102 ... ,00000*4B

Последнее ($PMTKCHN), формально относится к PMTK расширениям, но функционально работает как NMEA сообщение (даже не имеет номера функции).

PMTK расширения

PMTK являются командами Mediatek, конфигурирующими модули, позволяющие получать и отправлять сообщения. После символов $PMTK идет трехзначный номер функции.

$PMTK000*32 тестовый пакет.

$PMTK001, ASK ответ-подтверждение на PMTK команду. Пример: $PMTK001,604,3*32

$PMTK010, ответ-уведомление на изменение состояния. Пример: $PMTK010,001*2E

$PMTK011, ответ-текст. Пример: $PMTK011,MTKGPS*08

$PMTK101*32 горячий старт.

$PMTK102*31 warm (теплый) старт.

$PMTK103*30 холодный старт.

$PMTK104*37 холодный старт со сбросом по умолчанию.

$PMTK120*31 стирает вспомогательные данные во Flash.

$PMTK127*36 стирает EPO данные во Flash.

$PMTK161, переход в standby режим. Пример: $PMTK161,0*28


$PMTK250, настройки коммуникационного порта. Пример: $PMTK250,1,3,9600*14

$PMTK251, скорость порта. Пример: $PMTK251,38400*27

$PMTK253, режим выходного порта. Пример: $PMTK253,1*2B


$PMTK255, задержка NMEA после PPS. Пример: $PMTK255,1*23

$PMTK256, вкл. синхронизации для PPS (увеличивает точность до 15 ns). Пример: $PMTK256,1*2E [p27] (AXN3.8)

$PMTK285, конфигурация PPS. Пример: $PMTK285,2,100*23

$PMTK326, фаза PPS. Пример: $PMTK326,1,1345,555*3F [p32]


$PMTK220, интервал фиксации позиции. Пример: $PMTK220,1000*1F

$PMTK223, параметры периодической фиксации. Пример: $PMTK223,1,32,180000,60000*3E [p23]

$PMTK225, периодическое переключение режимов. Пример: $PMTK225,2,3000,12000,18000,72000*16 [p24]

$PMTK257, вкл. высокоточного быстрого TTF (при выезде из тоннеля). Пример: $PMTK257,1*2F

$PMTK265, точность после запятой. Пример: $PMTK265,1*2E

$PMTK386, минимальная скорость для обновления позиции. Пример: $PMTK386,0.4*19


$PMTK311, задать минимальный угол возвышения спутника. Пример: $PMTK311,5*28

$PMTK411*36 запрос - минимального угла возвышения спутника.

$PMTK511, ответ - минимальный угол возвышения. Пример: $PMTK511,5*2E

$PMTK351, поддержка расширения NMEA для QZSS. Пример: $PMTK351,0*29

$PMTK352, откл. участие спутников QZSS в навигационных расчетах. Пример: $PMTK352,1*2B

$PMTK353, выбор задействованных навигационных систем. Пример: $PMTK353,1,1,0,0,0*2B

$PMTK355*31 запрос задействованных навигационных систем.


$PMTK314, конфигурация NMEA сообщений (до 20). Пример: $PMTK314,1,1,1,1,1,5,0,0,0,0,0,0,0,0,0,0,0,1,1,0*30

$PMTK414*33 запрос - текущая конфигурация NMEA сообщений.

$PMTK514, ответ - текущая конфигурация NMEA сообщений. Пример: $PMTK514,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*33


$PMTK301, выбор системы DGPS. Пример: $PMTK301,2*2E

$PMTK313, искать спутники SBAS. Пример: $PMTK313,1*2E

$PMTK401*37 запрос - текущая система DGPS (дифференциальные поправки).

$PMTK413*34 запрос - ищутся ли спутники SBAS.

$PMTK501, ответ - выбор системы DGPS. Пример: $PMTK501,2*28

$PMTK513, ответ - ищутся ли спутники SBAS. Пример: $PMTK513,1*28


$PMTK330, задать действующий Datum. Пример: $PMTK330,0*2E

$PMTK430*35 запрос - действующий Datum.

$PMTK530, ответ - действующий Datum. Пример: $PMTK530,0*28

$PMTK331, задать User Datum. Пример: $PMTK331,6378136.1,298.257839303,-1.0,57.0,85.0*1C

$PMTK431*34 запрос - User Datum.

$PMTK530, ответ - User Datum. Пример: $PMTK530,6378136.000,298.257839303,0.0,0.0,0.0*39


$PMTK605*31 запрос версии внутреннего ПО.

$PMTK705, ответ - версия ПО. Пример: $PMTK705,AXN_5.10_3333_17071400,0000,B06V11SIM68V_96,1.0*44


$PMTK607*33 запрос - сохраняемой информации по EPO (эфемериды для прогноза орбит).

$PMTK707, ответ - информация по хранимому EPO. Пример: $PMTK707,28,1680,259200,1681,237600,1680,345600,1680,345600*19

...

Примечание: Под AXNx.x следует понимать версию внутреннего ПО для чипов на базе Mediatek МТ333x.

далее