NMEA 0183, ou simplesmente NMEA, é um conjunto de especificações de dados e elétricas para comunicação de dispositivos eletrônicos de navegação tais como Anemômetros, ecolocalizadores, girocompassos, piloto automático, receptores GPS e muitos outros tipos de instrumentos.
Configuração Serial (camada de enlace de dados)
Baud rate | 4800 |
bits de dados | 8 |
Paridade | Nenhuma |
bits de parada | 1 |
Handshake | Nenhum |
Regras do Protocolo (camada de aplicação)
- Cada início de mensagem começa com o símbolo cifrão($).
- Os próximos 5 caracteres indicam a origem da mensagem, sendo dois para a origem e três para o tipo de mensagem.
- Todos os campos dos dados são delimitados por vírgulas.
- Quando não há dados disponíveis o campo recebe um Byte nulo (por exemplo em "123,,456", o segundo campo não tem dados disponíveis).
- O primeiro caractere do último campo deve ser um asterisco (*), porém isto só se aplica quando houver checagem nos dados (checksum).
- O asterisco é seguido de um checksum de dois dígitos representados na forma hexadecimal, o checksum é um OU exclusivo (Disjunção exclusiva) de todos os caracteres entre o $ e o *. Segundo as especificações, o checksum é obrigatório apenas nos protocolos RMA, RMB e RMC e alguns outros.
- A mensagem é terminada com um Nova Linha ( <CR><LF> ou "\n" ).
Por exemplo, uma mensagem de aviso de chegada de um ponto no percurso tem a forma:
- $GPAAM,A,A,0.10,N,WPTNME,*32
Onde:
GP | ID do Remetente (GP para uma unidade de GPS, GL para um GLONASS) |
AAM | Aviso de chegada |
A | Entrada no ciclo de chegada |
A | Perpendicular passed |
0.10 | Raio do círculo |
N | Milha náutica |
WPTNME | Nome do ponto do caminho |
*32 | Dados de checksum |
Arquivo de Exemplo
Arquivo de exemplo produzido pelo GPS Tripmate 850. Este arquivo foi produzido na Leixlip co Kildare Rep of Ireland, os dados foram capturados durante 2 segundos.
/******************************************************************************/
$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,19,13,28,070,17,26,23,252,,04,14,186,14*79
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43
$GPGGA,092751.000,5321.6802,N,00630.3371,W,1,8,1.03,61.7,M,55.3,M,,*75
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,16,13,28,070,17,26,23,252,,04,14,186,15*77
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,092751.000,A,5321.6802,N,00630.3371,W,0.06,31.66,280511,,,A*45
Ver também
- NMEA 2000
- ASCII
- Sistema de posicionamento global
- Comunicação serial
- Marine electronics
- Navigation system companies
Ligações externas
- National Marine Electronics Association (EN)
- NMEA's website about NMEA 0183 (EN)
- NMEA data information (EN)
- Sirf-Chipset NMEA data reference manual (EN)
- Free C library for parsing and generation of the NMEA protocol (EN)
- Free Java library for parsing of the NMEA protocol (EN)
- Open Source (New BSD License) C# library for parsing NMEA protocol (EN)
- NMEA Specifications at APRS Info (EN)