GPS - это просто, описание протокола NMEA, часть 2. NMEA («National Marine Electronics Association») — полное название «NMEA 0183» — текстовый протокол связи морского (как правило, навигационного) оборудования между собой. Стал особенно популярен в связи с распространением GPS-приёмников , использующих этот стандарт
2. Содержание основных NMEA сообщений
GSV - детальная информация о спутниках
Это NMEA сообщение содержит детальную информацию для всех отслеживаемых навигатором GPS спутников. Исходя из ограничения в 80 символов в составе одного NMEA сообщения могут передаваться данные только для 4-х спутников. Соответственно для 12 спутников требуется 3 сообщения GSV.
Поле SNR (Signal to Noise Ration) содержит значения уровней, принимаемых со спутников, навигационных сигналов. Теоретически его значение может варьироваться от 0 до 99 и измеряется в dB. Фактически уровень сигнала лежит в диапазоне 25 …35 dB. Здесь стоит отметить, что данный параметр не является абсолютным и не подходит для сравнения чувствительности приемников разных моделей и производителей. В GPS навигаторах могут использоваться различные алгоритмы вычисления уровня принимаемого сигнала, что приводит к разным результатам при равной степени чувствительности приемников.
Для каждого видимого GPS спутника передается набор информации, включающий уровень сигнала, угол возвышения и азимут спутника. Количество этих "наборов" определяется общем количеством видимых спутников, значение которого передается в отдельном поле.
$GPGSV,1,1,04,1,12,22,20,2,90,222,33,3,11,10,33,4,49,10,33*7E
где:
№ | GSV - заголовок | |
1 | x | 1, количество сообщений GSV в пакете (0-9) |
2 | х | 1, номер сообщения в пакете (от 1 до 9) |
3 | xx | 04, количество используемых спутников |
4 | x | 01, PRN номер спутника |
5 | xx | 12, угол возвышения, в градусах (90 - максимум) |
6 | ххх | 022, азимут в градусах (0 -359) |
7 | хх | 20, SNR, уровень сигнала (отношение сигнал\шум 0-99дБ, 0 - когда нет сигнала) |
8-11 | хх …………… | 2,90,222,33, тоже, что в 4-7 для второго спутника |
12-15 | хх …………… | 3,11,10,33, тоже, что в 4-7 для третьего спутника |
16-19 | хх …………… | 4,49,10,33, тоже, что в 4-7 для четвертого спутника |
*hh | *7E, контрольная сумма строки | |
<CR><CL> | конец строки |
VTG - истинное направление курса и скорость относительно земли.
Это NMEA сообщение указывает азимут на точку назначения в режиме навигации.
$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F
где:
№ | VTG - заголовок | |
1 | x.х | 89.68, направление курса в градусах |
2 | T | T, истинное направление на точку |
3 | x.х | ,, магнитное склонение в градусах |
4 | М | М, магнитное склонение на точку |
5 | x.х | 0.00,cкорость над поверхностью (SOG) (Horizontal Speed) |
6 | N | N, cкорость над поверхностью (SOG), N = узлы (Knots) |
7 | x.х | 0.0, cкорость над поверхностью (SOG) (Horizontal Speed) |
8 | K | K, cкорость над поверхностью (SOG), К = км/ч (Km/h) |
9 | *hh | *5F, контрольная сумма строки |
<CR><CL> | конец строки |
RMB - рекомендованный набор навигационных GPS данных.
NMEA сообщение содержит рекомендованный минимальный набор данных для навигации "по маршруту" или "на точку" в режиме "Goto".
$GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20
где:
№ | RMB - заголовок | |
1 | а | A, тип данных, (A-активные, V-игнорировать) |
2 | x.xx | 0.66, отклонение от трека. Параметр определен в морских милях. |
3 | a | L, отклонение (L -влево, R-вправо) |
4 | xxx | 003, идентификационный номер начальной точки |
5 | xxx | 004, идентификационный номер конечной точки |
6 | xxxx.xxx | 4917.24, широта, 49 градусов 17.24 минуты северной широты |
7 | a | N, N-север, S-юг |
8 | yyyyy.yyy | 12309.57, долгота, 123 градуса 09.57 минуты западной долготы |
9 | a | E, E-запад, W-восток |
10 | xxx.x | 001.3, расстояние до точки, в морских милях |
11 | xxx.x | 052.5, направление на точку |
12 | xxx.x | 000.5, скорость, в узлах |
13 | a | V, V - информация о прибытии ( А - прибытие, V - точка еще не достигнута) |
14 | *hh | *20, контрольная сумма строки |
<CR><CL> | конец строки |
RMC - рекомендованный минимальный набор GPS данных.
Это NMEA сообщение содержит весь наборы, так называемых "PVT" данных. "PVT" - общепринятое сокращение от "position, velocity, time" (позиция, скорость, время).
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
где:
№ | RMC - заголовок | |
1 | hhmmss.sss | UTC (Гринвичское) время 12:35:19 |
2 | a | А, статус (А- активный, V- игнорировать) |
3 | xxxx.xxx | 4917.24, широта, 49 градусов 17.24 минуты северной широты |
4 | a | N, N-север, S-юг |
5 | yyyyy.yyy | 12309.57, долгота, 123 градуса 09.57 минуты западной долготы |
6 | a | E, E-запад, W-восток |
7 | xxx.x | 022.4, cкорость, в узлах |
8 | xxx.x | 084.4, направление движения, в градусах |
9 | ddmmyy | 230394, дата, 23 марта 1994 года |
10 | xxx.x | 003.1, магнитные вариации |
11 | a | W, единицы магнитной вариации |
12 | *hh | *6A, контрольная сумма строки |
<CR><CL> | конец строки |
RTE - маршрутная информация.
NMEA сообщение RTE выводит список путевых точек активного маршрута. Есть два типа сообщений RTE. В первом случае, отображаются все точки маршрута. Во втором, только список оставшихся точек, которые еще предстоит посетить при движении по маршруту. Учитывая, что в NMEA протоколе есть ограничение, по которому длина сообщение не должна превышать 80 символов, сообщение RTE может состоять из нескольких строк.
$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69
где:
№ | RTE - заголовок | |
1 | x | 2, общее количество сообщений для отображения полного списка данных |
2 | х | 1, номер сообщения из общего списка |
3 | а | с - тип RTE сообщения (с - полный список точек маршрута, w - список точек, которые еще предстоит посетить) |
4 | a | 0 - идентификатор маршрута |
5-6.. | a,b | W3IWI,DRIVWY,.. - список путевых точек |
... | *hh | *69, контрольная сумма строки |
... | <CR><CL> | конец строки |
2.1 Особенности приемников Garmin
В дополнение к стандартным NMEA сообщениям, в приемниках Garmin реализован собственный набор сообщений, каждое из которых в заголовке содержит префикс "GRM", идентификатор "М" или "Z", определяющий тип данных, и один символ для названия.
PGRME - оценка ошибки позиционирования
$PGRME,15.0,M,45.0,M,25.0,M*1C
PGRMM - текущий датум
$PGRMM,NAD27 Canada*2F
PGRMZ - измерения высоты
$PGRMZ,93,f,3*21
2.2 Особенности приемников Sirf
PGPS чипы компании "Sirf" используются в различном навигационном GPS оборудовании, начиная от обычных плат, заканчивая портативными и автомобильными GPS навигаторами. Но в отличие от навигаторов, они поддерживают только NMEA сообщения связанные с GPS измерениями, вычислением позиции и времени - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.
"Sirf" поддерживает также несколько "входящих" NMEA сообщений, предназначенных для конфигурации и настройки различных параметров. В дополнение, в "Sirf" реализован собственный бинарный протокол, который позволяет изменить значительно больше настроек. Эти 5 "входящих" NMEA сообщений в соответствии с правилами начинают с префикса $PSFR. Все сообщения содержат фиксированный набор данных и заканчиваются символом "\n" (перевод строки).