Académique Documents
Professionnel Documents
Culture Documents
Activité snt
Activité snt
Objectif : Décoder une trame NMEA pour déterminer des coordonnées géographiques qui y sont
inscrites.
Introduction
Un récepteur GPS crée une chaîne de caractère appelée trame, à partir des informations issues des
satellites. Celle-ci a une structure imposée par une norme appelée NMEA-0183.
Comment peut-on récupérer cette trame ?
Comment convertir la trame fournie par le GPS en information de géolocalisation ?
I Le protocole NMEA
1 Qu’est ce que le protocole NMEA ?
La National Marine & Electronics Association (NMEA) est une association américaine à but non
lucratif fondée par un groupement de professionnels de l’industrie de l’électronique des
périphériques de marine, conjointement avec des fabricants, des distributeurs, des revendeurs et
des institutions d’enseignement. L’un de ses objectifs et d’harmoniser et de standardiser les
équipements de la marine. Pour simplifier on peut considérer le standard NMEA comme le protocole
de transmission des données entre les instruments et les équipements électroniques liés au GPS.
2 La structure d’une trame NMEA produite par un GPS
Dans le standard NMEA-0183, toutes les données sont transmises sous la forme de caractères ASCII,
tous imprimables, et de caractères [CR] (retour chariot) et [LF](Retour à la ligne), à la vitesse de
transmission de 4800 bauds (nombre de symboles transmis par seconde). Pour lire les informations
inscrites dans une trame, il est nécessaire de connaître ses règles d’écriture.
Par exemple, décryptons la trame suivante :
$GPGGA,073028.314,4359.5071,N,00727.1158,E,1,04,2.1,2.5,M,,,,0000*43
Consortium GP Global Positioning System (GPS) (GA pour Galileo, GL pour Glonass)
Type de trame GGA Trame GGA (RMC, GLL)
Heure d’envoi 073028.314 07 h 30 min 28,314 s
Latitude 4359.5071 43° 59,5071 min
Orientation latitude N Nord
Longitude 00727.1158 007° 27,1158 min
Orientation longitude E Est
Positionnement 1 0 = point non calé, 1 = point calé, 2 = précision supérieure, 6 = point
estimé
Nombre de satellites 04 Nombre de satellites utilisés pour le calcul
Précision 2.1 Fiabilité mesurée (1 = optimale, 9 = mauvais)
Altitude 2.5 Altitude de l’antenne par rapport au niveau de la mer
Unité d’altitude M Mètres
Champ vide ,,,,0000
Nombre de
Heure d’envoi Latitude Longitude Altitude
satellites
14 h 57 minutes 2,00 secs 37° 49,1833 min Nord 122° 28,7167 min Ouest 07 satellites reçus 67 m
b) En vous inspirant de la question précédente, traduire également la trame suivante qui est de type
GLL au lieu de GGA. Son format est légèrement différent, elle donne seulement la latitude, la
longitude et l’heure. Le « A » de la fin signifie juste que les données sont valides.
A quel endroit précis était le récepteur GPS lorsqu’il a créé cette trame NMEA ?
L'heure est 14 h 57 min 02 s
La latitude est 37° 49.1833 min Nord
La longitude est 122° 28.7167 min Ouest
Le positionnement est 1
Le nombre de satellites reçus vaut 07
La précision sur une échelle de 1 à 9 vaut 1.19
L'altitude est de 67m.
Les coordonnées se trouvent dans le Pacifique Nord.
2 Changer la position
Modifier la trame NMEA du programme en y insérant la latitude et la longitude de la question 1.2.b.
Puis exécutez à nouveau le programme et vérifier que l’endroit correspondant est, cette fois, un endroit bien
particulier situé à Paris.
Quel est cet endroit ?
………………………………………………………………………………………………………………………………………………………………………
Sur la carte créée précédemment, vous pouvez voir un marqueur au centre. Si vous cliquez dessus, une petite boite
de dialogue s’ouvre avec écrit «Où est-ce ?».
Trouver et modifier une ligne du programme pour afficher le nom du lieu où se trouve le marqueur lorsqu’on clique
dessus. Exécuter le programme et ouvrir à nouveau « maCarte.html » pour vérifier le résultat.
Numéro de la ligne à modifier et début du texte de cette ligne :
………………………………………………………………………………………………………………………………………………………………………