NMEA - Kasimashi/Systemes-embarques GitHub Wiki
(National Marine Electronics Association) protocole utilisé par les récepteurs GPS pour fournir la localisation sous une forme de trame normalisée facilement décodable.
Les trames NMEA sont codées au format ASCII et sont de la forme :
$<talker ID><Trame type>[,<données>,<données>]*<checksum>
Champs | Longueur | Signification |
---|---|---|
$ | 1 | Marqueur de début de trame |
Talker ID | 2 | Équipement ayant généré la trame NMEA |
Trame type | 3 | Code identifiant le contenu de la trame |
Données | variable | Charge utile dont le contenu est défini par le "Trame type". Chaque valeur est séparée par le caractère ',' |
* | 1 | Séparateur de checksum |
Checksum | 2 | Somme de contrôle générée par un ou exclusif de tous les caractères situés entre '$' et '*' (exclus) |
Fin de ligne | 2 | Caractères "carriage return" + "line feed" marquant un retour à la ligne ( soit <0x0D><0x0A> ) |
Exemple :
$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E
Pour décoder ce style de trame on peut utiliser ce document : https://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual-Rev2.1-Dec07.pdf
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.