NMEA0183
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 29 de junio de 2015; la verificación requiere
21 ediciones .
NMEA 0183 [1] (de la " Asociación Nacional de Electrónica Marina ") es un estándar que define un protocolo basado en texto para la comunicación de equipos marinos (generalmente de navegación) (o equipos utilizados en trenes) entre sí. Se hizo especialmente popular debido a la difusión de los receptores GPS que utilizan este estándar.
Vista general de cadenas en NMEA 0183
- el símbolo "$" o "!" (hexágono 24 o hexágono 21)
- Identificador de mensaje de 5 letras. Las dos primeras letras son el identificador de la fuente del mensaje, las siguientes tres letras son el identificador del formato del mensaje, según el protocolo NMEA 0183 de una determinada versión.
- una lista de datos (letras, números y puntos) separados por comas. Si falta algún dato dentro de la cadena, aún se colocan comas (por ejemplo, ",,"). Es posible que falten algunos campos al final de la línea.
- símbolo "*".
- Suma XOR de ocho bits de todos los caracteres (incluidos "," y "^") en la cadena entre "$" y "*" convertida a dos caracteres ASCII en mayúsculas para la representación de bytes hexadecimales (0-9, A-F) .
- <CR><LF> (0D hexadecimal, 0A hexadecimal).
La longitud máxima del mensaje está limitada a 82 caracteres (NMEA 0183 rev 3.0)
El estándar describe más de 250 identificadores de secuencia NMEA. El estándar especifica tasas de baudios de 4800 baudios . (Para velocidades de transmisión de 38400 y superiores, existe un estándar NMEA-0183-HS extendido).
El estándar le permite agregar sus propios identificadores de secuencia, que los fabricantes suelen utilizar para transmitir información adicional sobre el funcionamiento del dispositivo.
Sintaxis NMEA
Los mensajes comienzan con un encabezado. El encabezado se divide en dos partes: ID y tipo.
ID - identificador de fuente (sistema de satélite)
IDENTIFICACIÓN
|
sistema satelital
|
médico de cabecera
|
GPS
|
GL
|
GLONASS
|
Georgia
|
galileo
|
BD
|
Beidou
|
ES
|
Beidou
|
El estándar define los ID que comienzan con el carácter P como ID que se codificarán a discreción del fabricante del receptor GNSS.
Cadena RMC (ejemplo especial)
$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,vv,bb,ddmmaa,xx,n,m*hh<CR><LF>
Significado de los campos:
- "GP" - identificador de fuente; en el ejemplo dado, esto es GPS, "GL" - GLONASS , "GA" - Galileo , "GN" - GLONASS + GPS, etc.
- "RMC" - "Sentencia mínima recomendada C"
- "hhmmss.sss" es el tiempo de fijar la ubicación según UTC : "hh" - horas, "mm" - minutos, "ss.sss" - segundos. La longitud de la parte fraccionaria de segundos varía. Los ceros iniciales no se omiten.
- "A" - estado: "A" - los datos son confiables, "V" - inválidos.
- "GGMM.MM" es la latitud. 2 dígitos de grados ("GG"), 2 dígitos de minutos enteros, un punto y fracciones de minutos de duración variable. Los ceros iniciales no se omiten.
- "P" - "N" para latitud norte o "S" para latitud sur.
- "ggmm.mm" es la longitud. 3 dígitos de grados ("ggg"), 2 dígitos de minutos enteros, un punto y una parte fraccionaria de minutos de duración variable. Los ceros iniciales no se omiten.
- "J" - "E" para longitud este o "W" para longitud oeste.
- "vv" es la componente horizontal de la velocidad respecto al suelo en nudos . Número de punto flotante. Partes enteras y fraccionarias de longitud variable.
- "bb" - ángulo de tierra (dirección de la velocidad) en grados . Número de punto flotante. Partes enteras y fraccionarias de longitud variable. Un valor igual a 0 corresponde a moverse hacia el norte , 90- este , 180- sur , 270- oeste .
- "ddmmaa" - fecha : día del mes, mes, últimos 2 dígitos del año (se requieren ceros iniciales).
- "xx" es la declinación magnética en grados (a menudo falta), calculada a partir de algún modelo. Número de punto flotante. Partes enteras y fraccionarias de longitud variable.
- "n" - la dirección de la declinación magnética: para obtener el rumbo magnético, la declinación magnética debe ser "E" - restar, "W" - sumar al rumbo verdadero.
- "m" - indicador de modo: "A" - autónomo, "D" - diferencial, "E" - aproximación , "N" - datos no confiables (a menudo falta, este campo, incluida la coma, falta en versiones anteriores de NMEA).
- "hh" - suma de comprobación .
- <CR> - el byte es 0x0D.
- <LF> - el byte es 0x0A.
Ejemplos de cadenas RMC
Ejemplo 1
$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,,,*17
Significado de los campos:
- 12 horas 55 minutos 4.049 segundos UTC
- "Un fiable
- latitud 55° 42.2389' norte
- longitud 37° 41.6063' este
- velocidad 0,06 nudos
- rumbo 25,82 grados
- 20 de septiembre (20)06
- declinación magnética no especificada
- dirección de declinación magnética no especificada
- sin indicador de modo
- suma de comprobación 0x17
Ejemplo 2
$GPRMC,,V,,,,,,,080907,9.6,E,N*31
Significado de los campos:
- "V" - poco fiable
- 8 de septiembre (20)07
- declinación magnética este, 9.6°
- "N" - datos no válidos
- suma de comprobación 0x31
Todos los demás campos están ausentes (no hay señal de satélites).
Ejemplo de receptor
El receptor comercial Garmin eTrex Pocket admite el intercambio de las siguientes cadenas:
- NMEA 0183 versión 3.0:
- GPGGA - Datos de la última posición
- GPGLL - coordenadas, latitud/longitud
- GPGSA - DOP (GPS) y satélites activos
- GPGSV - satélites observados
- GPWPL - Opciones de punto de ajuste
- GPBOD - acimut de un punto relativo a otro
- GPRMB - datos de navegación mínimos recomendados para llegar a un punto determinado
- GPRMC - Datos de navegación mínimos recomendados (ver arriba)
- GPRTE - Rutas
- HCHDG - datos de la brújula
- Cadenas propias ( propietarias ) de Garmin [2] :
- PGRME - Estimación del Error de Medición
- PGRMM - datos del mapa
- PGRMZ - Altura
- PSLIB - control de recepción de balizas
Notas
- ↑ Asociación Nacional de Electrónica Marina - NMEA . www.nmea.org . Recuperado: 29 junio 2022. (indefinido)
- ↑ http://www8.garmin.com/support/pdf/NMEA_0183.pdf Archivado el 27 de septiembre de 2007 en Wayback Machine .
Enlaces