NMEA 0183
National Marine Electronics Association
National Marine Electronics Association
La norme NMEA 0183 est utilisée principalement pour la communication entre équipements marins utilisant les satellites GPS.
Elle utilise la transmission série asynchrone de caractères ASCII.
Message de navigation :
Chaque satellite GPS émet un message de navigation qui contient toutes les données nécessaires au récepteur pour effectuer les calculs de position. Afin qu'un récepteur puisse reconnaître le satellite observé, chaque satellite transmet un code qui lui est propre.
Ce code est une trame binaire c'est-à-dire une suite de bits transmise en mode série à 50 bits/s (50 Hz, soit 20 ms/bit). Il est composé de 5 sous-trames de 300 bits chacune. Une trame comporte donc 1500 bits et il faut 30s au récepteur pour l’acquérir entièrement. Ces données comprennent :
l’identifiant du satellite ;
la date à laquelle le signal a été émis ;
l'almanach qui donne la position de tous les satellites opérationnels de la constellation (précision d'environ 1 km) ;
l'éphéméride qui donne sur la position du satellite à l’instant où le signal a été émis avec une précision de 1 à 10 m ;
les corrections d’horloge qui donnent l’écart de l’horloge du satellite par rapport au temps système (temps UTC établi par les systèmes de contrôle au sol) ;
les paramètres de correction ionosphérique qui donnent les informations concernant les dégradations de l’onde dues à son passage dans l'ionosphère.
Trames NMEA :
Chaque séquence commence par une en-tête de longueur fixe (5 lettres) précédé par le préfixe $.
La longueur de la séquence suivant l'en tête est variable. La chaîne de caractères se termine par le caractère "Retour Chariot" parfois accompagné du caractère "Nouvelle ligne".
Dans le cas d’une trame GPS, l’entête commence par l’identifiant « GP » suivi d’un code de 3 lettre selon le type de trame transmise.
Analyse de trames :
Donner toutes les informations possibles contenues dans ces trames sur le moniteur série.
Avec la bilbliothèque adéquat le programme arduino peut parser toutes ces données pour afficher directement des données plus claires !