NMEA и PMTK (для MT333x) |
Здесь описывается часть (поддерживаемая) 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 идентификаторов команд могут использоваться префиксы, уточняющие их принадлежность к конкретной системе позиционирования:
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]
$префикс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 являются командами 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.