Protocole NMEA-0183

Un récepteur GPS crée une chaîne de caractères, appelée trame, à partir des informations issues des satellites. Celle-ci a une structure imposée par une norme appelée NMEA-0183

La National Marine & Electronics Association (NMEA), est une association à but non lucratif fondée par un groupement de professionnels de l'industrie de l'électronique des périphériques marine, conjointement avec des fabricants, des distributeurs, des revendeurs, des institutions d'enseignements. Leur but entre autre, harmoniser et standardiser les équipements de la marine. NMEA est à l'origine de nombreux standards et en particulier du Standard NMEA-0183. Le Standard NMEA est défini comme étant le protocole de transmission des données entre les instruments et équipements électroniques liés au GPS.

Exemple de trame GPRMC

$GPRMC,094040.000,A,2403.6319,N,12036.0099,E,9.50,79.65,200318,,,A*53

Type de trame Heure Etat Latitude Longitude Vitesse Route Date Déclinaison/parité

  • $GPRMC: type de trame: GP pour la réception d'un signal GPS; RMC pour récupérer les informations minimales recommandées (heure, longitude, latitude, date, N ou S, E ou O...)
  • 094040.000: indique l'heure sous forme: hhmmss.sss: 9h40min40s.000
  • A: état: A= données valides, V=données invalides
  • 2403.6319: latitude exprimée en dd.mm.ss.sss: 24°03.6319' = 24°03'37.914" (°:degré, ':minute,":seconde)
  • N:  indicateur de latitude : N= Nord, S=Sud
  • 12036.0099: longitude exprimée en dd.mm.ss.sss: 120°36.0099' = 120°36'00.594" (°:degré, ':minute,":seconde)
  • E:  indicateur de longitude: E= Est, W=Ouest
  • 9.50:  vitesse en noeud (1 noeus = 1.852 km/h)
  • 79.65: Route sur le fond en degré
  • 200319:  date exprimée en qqmmaa: 20 mars 2019
  • ,:  déclinaison magnétique en degré (souvent vide pour le GPS)
  • ,:  sens de la déclinaison E= est, W=Ouest (souvent vide pour le GPS)
  • *53:  controle de parité de la trame

Définitions:

Protocole de transmission:  Ensemble de règles à respecter pour que deux entités puissent s'échanger des informations  et communiquer à travers un réseaux de communication

Contrôle de parité  Contrôle destiné à vérifié que la transmission de la trame a été effetuée sans erreurs

Exemple de trame GPGGA

$GPGGA,064036.289,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,,0000*0E

  • $GPGGA : Type de trame
  • 064036.289 :Trame envoyée à 06h40m36,289s (heure UTC)
  • 4836.5375,N : Latitude 48,608958° Nord = 48°36'32.25" Nord
  • 00740.9373,E : Longitude 7,682288° Est = 7°40'56.238" 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 precision)
  • 200.2,M : Altitude 200,2, en mètres
  • ,,,,,0000 : D'autres informations peuvent être inscrites dans ces champs
  • *0E : Somme de contrôle de parité, un simple XOR sur les caractères précédents