La trame NMEA

SNT – Ch.3 Trame NMEA
💻 Chapitre 3

La trame NMEA

Décoder les données brutes envoyées par un récepteur GPS : structure d'une trame, champs, et interprétation des coordonnées.

⏱ ~1h de cours + TP 📘 Niveau 2nde 🔗 Prérequis : Ch.1 & Ch.2
📨

Comprendre ce qu'est une trame NMEA

🔍

Identifier les champs d'une trame GGA

📐

Extraire heure, latitude, longitude, altitude

🧮

Calculer une vitesse à partir de deux trames

📡

Qu'est-ce qu'une trame NMEA ?

National Marine Electronics Association
Définition Une trame NMEA est une chaîne de caractères d'au maximum 82 caractères, produite par un récepteur GPS, dans laquelle sont encodées des informations de géolocalisation (heure, latitude, longitude, altitude, nombre de satellites…).

NMEA signifie National Marine Electronics Association — une association américaine qui a défini ce standard de communication à l'origine pour les équipements marins. Ce format est aujourd'hui universel pour tous les appareils GPS.

Il existe plusieurs types de trames NMEA. La plus courante est la trame GPGGA (ou GNGGA), qui contient les informations essentielles de positionnement.

🔍

Structure d'une trame GPGGA

Décomposition champ par champ

Exemple de trame

$GPGGA,180502.00,5041.7342,N,00311.786,E,1,07,1.19,122,M,,,,0000*0E

Décomposition des champs

$GPGGA
Début de trame ($) + type d'équipement (GP = GPS) + type de message (GGA = données de localisation)
180502.00
Heure UTC : 18h 05min 02s — format HHMMSS.ss
5041.7342,N
Latitude : 50°41,7342' Nord — format DDMM.MMMM + indicateur N/S
00311.786,E
Longitude : 3°11,786' Est — format DDDMM.MMMM + indicateur E/W
1
Qualité du signal : 0 = non fixé, 1 = GPS, 2 = GPS différentiel
07
Nombre de satellites utilisés pour le calcul de position
1.19
DOP horizontal (Dilution of Precision) : précision géométrique — plus c'est petit, mieux c'est
122,M
Altitude : 122 mètres au-dessus du niveau de la mer (M = mètres)
Lecture des coordonnées dans une trame Les coordonnées NMEA sont au format DDMM.MMMM (Degrés + Minutes décimales), et non en degrés-minutes-secondes (DMS) ni en degrés décimaux (DD). Pour convertir en DD :

DD = Degrés + (Minutes / 60)

Exemple : 5041.7342 N → 50 + (41.7342/60) = 50,6956°N
✏️

Exercices

Lecture et décodage de trames NMEA
✏️ Exercice 1 – Décodage d'une trame

On considère la trame NMEA suivante :

$GPGGA,180502.00,5041.7342,N,00311.786,E,1,07,1.19,122,M,,,,0000*0E

Donner :

a) L'heure du relevé GPS (en heure UTC)

b) L'altitude en mètres

c) Le nombre de satellites utilisés

d) La latitude et la longitude (en degrés décimaux)

Voir la correction

a) Heure : 18h 05min 02s UTC

b) Altitude : 122 mètres

c) Satellites : 7

d) Latitude : 50 + (41.7342/60) = 50,6956°N

Longitude : 3 + (11.786/60) = 3,1964°E

✏️ Exercice 2 – Calcul de vitesse

Deux trames NMEA ont été capturées sur un smartphone en déplacement :

Trame n°1 :

$GPGGA,071005.289,4616.9979,N,00447.5561,E,1,04,3.2,182.1,M,,,,0000*0E

Trame n°2 :

$GPGGA,074036.289,4645.3221,N,00449.9902,E,1,04,3.2,180.1,M,,,,0000*0E

a) Calculer le temps écoulé entre les deux trames (arrondir à la minute).

b) Entrer les coordonnées de chaque trame dans Google Maps pour mesurer la distance entre les deux points.

c) En déduire la vitesse moyenne de déplacement en km/h.

Aide : Pour saisir des coordonnées NMEA dans Google Maps, convertir d'abord en degrés décimaux.

✏️ Exercice 3 – Géolocalisation avec smartphone

Téléchargez l'application GPS Status & Toolbox (Android) ou regardez les réglages de votre smartphone.

a) Quelles sont vos coordonnées GPS actuelles ?

b) Combien de satellites votre téléphone utilise-t-il en ce moment ?

c) Testez l'application What3Words : en quels 3 mots votre position actuelle est-elle encodée ?

Bilan du chapitre

Mots-clés à maîtriser
NotionDéfinition essentielle
Trame NMEAChaîne de 82 caractères max envoyée par un récepteur GPS, contenant les données de localisation
GPGGAType de trame GPS le plus courant : heure, latitude, longitude, altitude, nb satellites
Format DDMM.MMMMFormat des coordonnées dans une trame NMEA (Degrés + Minutes décimales)
ConversionPour passer en degrés décimaux : DD = Degrés + Minutes/60
DOPDilution of Precision – indique la qualité géométrique des satellites visibles