- NMEA
-
La norme NMEA 0183 est une spécification pour la communication entre équipements marins dont les équipements GPS. Elle est définie et contrôlée par la National Marine Electronics Association (NMEA), association américaine de fabricants d'appareils électroniques maritimes, basée à Severna Park en Maryland (États-Unis d'Amérique).
La norme 0183 utilise une simple communication série pour transmettre une "phrase" à un ou plusieurs écoutants. Une trame NMEA utilise tous les caractères ASCII.
Exemple :
Waypoint Arrival Alarm:
$GPAAM,A,A,0.10,N,WPTNME*43
où :
AAM Arrival alarm A Arrival circle entered A Perpendicular passed 0.10 Circle radius N Nautical miles WPTNME Waypoint name *43 Checksum data
La nouvelle norme, NMEA 2000, permet plusieurs "discussions" avec un débit plus rapide.
La norme est propriétaire et payante. Toutefois, la plus grande partie du protocole a été récupérée grâce à des sources publiques et à l'utilisation de la rétro-ingénierie.
Type de trames
Il existe plus d'une trentaine de trames GPS différentes. Le type d'équipement est défini par les deux caractères qui suivent le $. Le type de trame est défini par les caractères suivants jusqu'à la virgule. Par exemple :
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E
est une trame GPS de type GGA. Chaque trame a sa syntaxe propre, mais selon le cas elles peuvent ou doivent se terminer, après le *, par une somme de contrôle qui permet de vérifier que la trame n'a pas été endommagée avant sa réception.
La trame GGA est très courante car elle fait partie de celles qui sont utilisées pour connaître la position courante du récepteur GPS.
$GPGGA : Type de trame 064036.289 : Trame envoyée à 06h40m36,289s 4836.5375,N : Latitude 48,608958° Nord = 48°36'32.25" Nord 00740.9373,E : Longitude 7,682288° Est = 7°40'56.238" Est 1 : Type de positionnement (le 1 est un positionnement GPS) 04 : Nombre de satellites utilisés pour calculer les coordonnées 3.2 : Précision horizontale ou HDOP (Horizontal dilution of precision) 200.2,M : Altitude 200,2 , en mètres ,,,,,0000 : D'autres informations peuvent être inscrites dans ces champs *0E : Somme de contrôle de parité, un simple XOR sur les caractères précédents
Une autre trame très courante pour les bateaux est la RMC, qui donne l'heure, la latitude, la longitude, la date, ainsi que la vitesse et la route sur le fond mais pas l'altitude.
$GPRMC : type de trame 053740.000 : heure UTC exprimée en hhmmss.sss A : état A=données valides, V=données invalides 2503.6319 : Latitude exprimée en ddmm.mmmm 25°03.6319' N : indicateur de latitude N=nord, S=sud 12136.0099 : Longitude exprimée en dddmm.mmmm 121°36.0099' E : indicateur de longitude E=est, W=ouest 2.69 : vitesse sur le fond en nœuds 79.65 : route sur le fond en degrés 100106 : date exprimée en ddmmyy , : deviation magnétique en degrés (souvent vide pour un GPS) , : sens de la déviation E=est, W=ouest (souvent vide pour un GPS) A : mode de positionnement A=autonome, D=DGPS, E=DR *53 : somme de contrôle de parité
Un récepteur GPS renvoie souvent plusieurs types de trames complémentaires (les GGA et RMC en sont un exemple) car tous les logiciels qui interprètent le NMEA ne connaissent pas toutes les trames. De même de nombreux GPS transmettent des trames non standardisées propres à leur fabricant (d'habitude ces trames propriétaires ne commencent pas par $GP. Par exemple, «GL» réservé aux GLONASS).
Les trames NMEA font toutes référence à l'ellipsoïde WGS84 comme base de son système de coordonnées.
Lien externe
Wikimedia Foundation. 2010.