NMEA
Un article de Wikipédia, l'encyclopédie libre.
Le standard NMEA 0183 est une spécification pour la communication entre équipements marins ainsi que pour les équipements GPS. Il est défini, et contrôlé, par la National Marine Electronics Association.
Le standard 0183 utilise un simple protocole série pour transmettre une "phrase" à un ou plusieurs écoutant. 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
Le nouveau standard, NMEA 2000, permet plusieurs "discussions" avec un débit plus important.
Le standard est propriétaire et coûteux. Toutefois, la plus grande partie du protocole a été récupérée grâce à des sources publiques et à l'utilisation du reverse engineering.
[modifier] Type de trames
Il existe plus d'une trentaine de trames différentes, le type de trame est défini par la première partie de celle ci. Par exemple :
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E
est une trame de type GGA. Chaque trame a sa syntaxe propre, mais elles commencent toutes par $GP et se terminent toutes 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 parties de celles qui sont utilisées pour connaitre la position courante du récepteur GPS.
$GPGGA : Type de trame 064036.289 : Trame envoyée à 06h40m36,289s 4836.5375,N : Latitude 48°36,5375' Nord 00740.9373,E : Longitude 7°40,9373' 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 précision) 200.2,M : Altitude 200,2 , en mètres ,,,,,0000 : D'autres informations peuvent être inscrites dans ces champs *0E : Somme de contrôle, un simple XOR sur les caractères précédents
Une autre trame très courante est la RMC, qui donne l'heure, la latitude, la longitude et la date, mais pas l'altitude. 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 fabriquant (d'habitude ces trames propriétaires ne commencent pas par $GP).
Les trames NMEA font toutes référence à la géoïde WGS84 comme base de son système de coordonnées.
[modifier] Lien externe
- http://www.nmea.org/
- http://grandzebu.net : Quelques infos sur les normes NMEA 180, 182 & 183 (en français)
- http://gpsd.berlios.de/NMEA.txt (en anglais)
- http://www.gpsinformation.org/dale/nmea.htm (en anglais)