Code source de traitement du protocole Nmea. Description du protocole NMEA

J'avais besoin de tester une application qui utilise les données GNSS via le protocole NMEA. C'était dû au fait que je travaillais sur un projet de programme de navigation aérienne, les tests dans les airs sont naturellement coûteux, conduire une voiture avec un récepteur GNSS au sol n'est pas particulièrement pratique, j'ai donc voulu avoir des données du protocole NMEA. du prétendu déplacement d'équipement sur un port parallèle virtuel alors que j'étais assis à mon bureau. Au début, je cherchais différents logiciels, je pensais trouver quelque chose d'approprié, mais la plupart sont payants et les commandes d'émulation de données ne sont pas très pratiques, bien qu'elles émulent presque tous les paramètres de la norme NMEA. Mais j'avais besoin de quelque chose de simple qui émule les coordonnées, la vitesse, rien de plus, et j'avais besoin de commandes assez pratiques et logiques. J'ai donc dû écrire une application de ce genre en C#.

Fly_nmea


NMEA (« National Marine Electronics Association ») – le nom complet est « NMEA 0183 » – un protocole textuel pour la communication entre les équipements marins (généralement de navigation).
Les données sont transmises sous forme de phrases. Le format de la proposition est le suivant :
$AAAAA[,<данные>]*hh , Où:
$ - symbole de début de phrase (code 24h) ;
AAAAA - Adresse à cinq caractères (nom) de l'offre ;
[, <данные>] - liste des champs de données séparés par des virgules (code 2Сh) ;
* - signe de somme de contrôle (code 2Ah) ;
hh - somme de contrôle.

Exemple de phrase :
GGA – Données de localisation GPS
Heure, lieu et données liées à l'observation.
$GPGGA,hhmmss.sss,llll.ll,a,aaaa.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

J'avais besoin d'émuler quatre lignes :

  • GLL – Coordonnées de localisation
  • GSV – Satellites visibles
  • RMC – Ensemble de données minimum recommandé pour GPS et GLONASS
  • GSA - Facteur de dégradation de la précision utilisé pour les satellites de navigation
L'émulation est organisée dans l'ordre suivant :
  • nous définissons les coordonnées initiales dans le système WGS-84
  • puis on passe à une projection plate, par exemple Mercator (pour convertir les coordonnées j'ai utilisé une bibliothèque toute faite en C#)
  • Connaissant les coordonnées du plan x, y, h, nous implémentons la physique du mouvement des avions en utilisant des paramètres variables via une interface graphique, tels que : roulis, tangage, vitesse.
  • convertir les coordonnées plates en coordonnées B, L, H du système WGS-84
  • nous formons un paquet de messages standard NMEA à partir des quatre lignes requises
  • envoyez-les au port parallèle virtuel
Fly_nmea + capteur Android
Pour des tests plus pratiques, j'ai également ajusté la réception des données des capteurs Android (angles d'inclinaison). Android envoie deux lignes comme :
  • "Angle :\t236.04152\t-1.0\t-3.0"
  • "Acc:\t-0.46309182\t-0.14982383\t-10.56939"
Dans l'application d'émulation, je les accepte et, en fonction des angles d'inclinaison, je modifie les paramètres :
  • Pas
Dans l'application d'émulation, vous pouvez passer du contrôle via l'interface du programme à Android Sensor.
Connexion Fly_nmea
Pour émuler les ports COM, l'émulateur de ports série virtuels est également utile, vous devrez configurer la connexion de deux ports COM virtuels, par exemple : COM1 ;<->COM6, et le programme Fly_nmea enverra les données à COM6, et à COM1 un programme utilisant le protocole NMEA les recevra.

Conclusion

En général, j'ai passé plus de temps à chercher un tel logiciel, et ne trouvant pas quelque chose qui me satisferait complètement, je l'ai rapidement écrit moi-même. En plus du projet sur lequel je travaillais, j'ai également réussi à connecter l'émulateur avec succès à des programmes comprenant le protocole NMEA, tels que 2Gis et SAS Planet.



FlyNMEA et capteur Android (projet de transmission des données des capteurs via UDP)

NMEA 0183(depuis " Association nationale de l'électronique marine") - une norme qui définit un protocole textuel pour la communication des équipements marins (généralement de navigation) (ou des équipements utilisés dans les trains) entre eux. Il est devenu particulièrement populaire en raison de la prolifération des récepteurs GPS utilisant cette norme.

Vue générale des lignes en NMEA 0183

  • symbole "$" ou "!" (hex 24 ou hex 21)
  • ID de message à 5 lettres. Les deux premières lettres sont l'identifiant de la source du message, les trois lettres suivantes sont l'identifiant du format du message, selon le protocole NMEA 0183 d'une certaine version.
  • une liste de données (lettres, chiffres et points) séparées par des virgules. S'il manque des données à l'intérieur lignes, des virgules sont toujours placées (par exemple, « »). Certains champs à la fin des lignes peuvent être complètement manquantes.
  • symbole "*".
  • XOR huit bits - la somme de tous les caractères (y compris "," et "^") dans la ligne entre "$" et "*" convertie en deux caractères ASCII majuscules pour la représentation hexadécimale de l'octet (0-9, A -F) .
  • (hexagone 0D, hexadécimal 0A).

La longueur maximale du message est limitée à 82 caractères (NMEA 0183 rév 3.0)

La norme décrit plus de 250 identifiants de séquence NMEA. La norme définit des taux d'échange de données à 4 800 bauds. (Pour des vitesses de 38 400 bauds et supérieures, il existe une norme étendue NMEA-0183-HS).

La norme vous permet d'ajouter vos propres identifiants de séquence, qui sont souvent utilisés par les fabricants pour transmettre des informations supplémentaires sur le fonctionnement de l'appareil.

Chaîne RMC (exemple particulier)

$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,v.v, b.b, jjmmaa, x.x, n,m*hh

Valeurs des champs :

  • "GP" - identifiant de la source ; dans l'exemple donné, il s'agit de GPS, « GL » - GLONASS, « GA » - Galileo, « GN » - GLONASS+GPS, etc.
  • "RMC" - "Peine minimale recommandée C"
  • "hhmmss.sss" - heure de fixation de l'emplacement selon UTC : "hh" - heures, "mm" - minutes, "ss.sss" - secondes. La durée des fractions de seconde varie. Les zéros non significatifs ne sont pas omis.
  • « A » - statut : « A » - les données sont fiables, « V » - peu fiables.
  • "GGMM.MM" - latitude. 2 chiffres de degrés (« GG »), 2 chiffres de minutes entières, un point et une fraction de minutes de durée variable. Les zéros non significatifs ne sont pas omis.
  • "P" - "N" pour la latitude nord ou "S" pour la latitude sud.
  • "gggmm.mm" - longitude. 3 chiffres de degrés (« ggg »), 2 chiffres de minutes entières, un point et une partie fractionnaire de minutes de durée variable. Les zéros non significatifs ne sont pas omis.
  • "J" - "E" pour l'est ou "W" pour la longitude ouest.
  • "v.v" est la composante horizontale de la vitesse par rapport au sol en nœuds. Nombre à virgule flottante. Parties entières et fractionnaires de longueur variable.
  • "b.b" - angle de trajectoire (direction de la vitesse) en degrés. Nombre à virgule flottante. Parties entières et fractionnaires de longueur variable. Une valeur de 0 correspond à un déplacement vers le nord, 90 vers l'est, 180 vers le sud, 270 vers l'ouest.
  • "jjmmaa" - date : jour du mois, mois, 2 derniers chiffres de l'année (les zéros non significatifs sont obligatoires).
  • « x.x » est la déclinaison magnétique en degrés (souvent manquante), calculée à l'aide d'un modèle. Nombre à virgule flottante. Parties entières et fractionnaires de longueur variable.
  • « n » - direction de la déclinaison magnétique : pour obtenir un cap magnétique, la déclinaison magnétique doit être « E » - soustraite, « W » - ajoutée au cap vrai.
  • "m" - indicateur de mode : "A" - autonome, "D" - différentiel, "E" - approximation, "N" - données peu fiables (souvent manquantes, ce champ comprenant la virgule manque dans les anciennes versions de NMEA).
  • "hh" - somme de contrôle.
  • - l'octet est 0x0D.
  • - l'octet est 0x0A.

Exemples de chaînes RMC

Exemple 1

$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,*17

Valeurs des champs :

  • 12 heures 55 minutes 4,049 secondes UTC
  • "A" - fiable
  • latitude 55° 42,2389", nord
  • longitude 37° 41.6063", est
  • vitesse 0,06 nœuds

NMEA (National Marine Electronics Association) 2000 est une norme de transmission de données pour les équipements de navigation, de communication et autres réseaux d'informations.

Dans la plupart des cas, NMEA2000 est utilisé dans les applications marines. Ce protocole est basé sur le protocole de transfert de données PEUT(Controller Area Network), utilisé principalement dans l’automatisation des navires.

La National Marine Electronics Association (NMEA) a développé un protocole spécial pour garantir la compatibilité entre les produits marins de différents fabricants.

Depuis sa création, le protocole NMEA a subi plusieurs modifications pour inclure de nouveaux champs et messages. La version actuelle prise en charge par la plupart des récepteurs est version 2.3, bien qu'une description du nouveau ait déjà été publiée version 3.0.

Messages NMEA

NMEA 2000 décrit non seulement les données reçues, mais également les mesures , , baromètres et autres appareils de navigation utilisés sur les navires. L'interface d'échange de données de la plupart des récepteurs GPS portables est implémentée conformément à la spécification NMEA. La plupart des programmes de navigation qui fournissent un support d'affichage des données en temps réel et « comprennent » le protocole NMEA. Ces données contiennent les mesures de navigation complètes du récepteur GPS - position, vitesse et temps.

La spécification complète des messages NMEA n'est pas accessible au public et ne peut pas être officiellement téléchargée par voie électronique. Ses sections individuelles, une description générale du protocole NMEA et les messages les plus populaires sont disponibles sur Internet. Vous pouvez acheter officiellement la documentation NMEA sur le site Web //www.nmea.org/.

Messages NMEA sortants

Tous les messages NMEA consistent en un ensemble séquentiel de données séparées par des virgules. Chaque message individuel est indépendant des autres et est totalement « complet ». Le message NMEA comprend :

  • titre,
  • un ensemble de données représenté par des caractères ASCII,
  • champ « checksum » pour vérifier l’exactitude des informations transmises.

Titre

Généralement, le titre se compose de cinq caractères. Les deux premiers caractères déterminent le type de message et les trois autres indiquent son nom. Par exemple, l'en-tête des messages GPS NMEA commence par « GP ». Les messages qui ne sont pas décrits dans la spécification NMEA, mais qui sont implémentés dans les récepteurs GPS selon des règles générales, sont préfixés par un « P » suivi de trois caractères propres à chaque entreprise. Par exemple, les messages NMEA ont le préfixe "PGRM", Magellan - "PMGN".

Données

Chaque message NMEA commence par "$", se termine par "\n" (saut de ligne) et ne peut pas dépasser 80 caractères. Toutes les données sont contenues sur une seule ligne et séparées par des virgules. Les informations sont présentées sous forme de texte ASCII et ne nécessitent pas de décodage particulier. Si les données ne rentrent pas dans les 80 caractères alloués, elles sont alors « divisées » en plusieurs messages. Ce format vous permet de ne pas limiter la précision et le nombre de caractères dans les champs de données individuels. Par exemple, la partie fractionnaire d'une valeur de coordonnée peut être représentée par trois ou quatre décimales, mais cela ne devrait en aucun cas affecter le fonctionnement du logiciel, qui extrait les données nécessaires d'un message par numéro de champ.

Champ "Somme de contrôle"

A la fin de chaque NMEA Le message contient un champ « somme de contrôle », séparé des données par le symbole « * ». Si nécessaire, il peut être utilisé pour vérifier l'intégrité et la validité de chaque message reçu.

Messages NMEA entrants

Le protocole NMEA 2000 prend en charge non seulement les messages sortants mais également les messages entrants, avec lesquels vous pouvez, par exemple, mettre à jour ou ajouter des waypoints d'itinéraire. Ces messages doivent être formatés strictement au format NMEA, sinon ils seront ignorés.

liste des messages

Le protocole NMEA décrit une longue liste de messages différents, dont deux douzaines sont activement utilisés dans les équipements de navigation. En raison de la grande popularité et de la présentation simple des données, le protocole NMEA a trouvé une application non seulement dans les équipements marins, mais également dans les récepteurs GPS géodésiques, domestiques et aéronautiques.

AAM - Arrivée au Waypoint
ALM - Données d'almanach
APA – Données du pilote automatique « A »
APB – Données du pilote automatique « B »
BOD – Relèvement vers la destination
DTM – Données utilisées
GGA – Informations sur la solution fixe
GLL – Données de latitude et de longitude
GSA - Informations générales sur les satellites
GSV – Informations satellite détaillées
MSK – Transfert de contrôle au récepteur de base
MSS – État de base du récepteur
RMA – Ensemble de données Loran recommandé
RMB – Ensemble de données de navigation GPS recommandé
RMC – Ensemble de données GPS minimum recommandé
RTE – Informations Itinéraire
VTG – Vecteur de mouvement et de vitesse
WCV – Données de vitesse à proximité du waypoint
WPL – Données de points de cheminement
XTC – Erreur hors piste
XTE – Erreur hors piste mesurée
ZTG – heure UTC et temps restant jusqu’à l’arrivée à destination
ZDA - Date et heure

Certains messages NMEA peuvent contenir les mêmes champs de données ou contenir entièrement les données d'autres messages NMEA plus petits.

1. GGA – informations sur une solution fixe.

Le message NMEA le plus populaire et le plus utilisé fournit des informations sur la solution fixe actuelle : coordonnées horizontales, valeur d'altitude, nombre de satellites utilisés et type de solution.

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47 Où:

GGA – En-tête NMEA

123519 – heure UTC 12:35:19

4807.038, N – Latitude, 48 degrés 7,038 minutes de latitude nord

01131.000, E – Longitude, 11 degrés 31.000 minutes de longitude est

1 – type de solution*, solution autonome

08 – nombre de satellites utilisés

0,9 – facteur géométrique, HDOP

545.4, M – altitude au-dessus du niveau de la mer en mètres

46.9, M – hauteur du géoïde au-dessus de l'ellipsoïde WGS 84

[champ vide] – temps écoulé depuis la réception de la dernière correction DGPS. Rempli lorsque le mode DGPS est activé

[champ vide] – numéro d'identification de la station de base. Rempli lorsque le mode DGPS est activé.

*Types de solutions :

2. GSA - informations générales sur les satellites

Ce message NMEA contient une liste des satellites utilisés dans le calcul de position et les valeurs des DOP géométriques qui déterminent la précision du calcul de position. Les paramètres DOP sont déterminés par la disposition géométrique des satellites dans le ciel. Mieux les satellites sont « répartis » dans le ciel, plus le DOP est faible et meilleure est la précision de la position. La valeur PDOP minimale (= 1) correspond à une situation où un satellite est directement au-dessus de l'utilisateur et les 3 autres sont uniformément répartis au niveau de l'horizon. La valeur PDOP est calculée comme la racine carrée de la somme des carrés de HDOP et VDOP.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39 Où:

GSA – en-tête NMEA

A – type de choix entre solutions 2D et 3D, Automatique (A-auto, M-manuel)

3 – type de solution, solution 3D (1 – pas de solution, 2 – solution 2D, 3 – solution 3D)

04.05… – Codes PRN utilisés dans le calcul des positions des satellites (12 champs)

2.5 – facteur géométrique spatial, PDOP

1.3 – facteur géométrique horizontal, HDOP

2.1 – facteur géométrique vertical, VDOP

3. GSV – Informations détaillées sur les satellites

Ce message NMEA contient des informations détaillées sur tous les satellites suivis par le navigateur GPS. Sur la base de la limite de 80 caractères, un message NMEA ne peut transmettre que des données pour 4 satellites. En conséquence, 12 satellites nécessitent 3 messages GSV. Le champ SNR (Signal to Noise Ration) contient les valeurs des niveaux des signaux de navigation reçus des satellites. Théoriquement, sa valeur peut varier de 0 à 99 et se mesure en dB. En fait, le niveau du signal se situe entre 25 et 35 dB. Il convient de noter ici que ce paramètre n'est pas absolu et ne convient pas pour comparer la sensibilité des récepteurs de différents modèles et fabricants. Les navigateurs GPS peuvent utiliser différents algorithmes pour calculer le niveau du signal reçu, ce qui conduit à des résultats différents avec le même degré de sensibilité des récepteurs. Pour chaque satellite GPS visible, un ensemble d'informations est transmis, notamment la force du signal, l'angle d'élévation et l'azimut du satellite. Le nombre de ces « ensembles » est déterminé par le nombre total de satellites visibles, dont la valeur est transmise dans un champ séparé.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 Où:

GSV – en-tête NMEA

2 – nombre de messages GSV dans le package

1 – numéro de message dans le colis (de 1 à 3)

08 – nombre de satellites visibles

01 – numéro de satellite

40 – angle d'élévation, en degrés

083 – azimut en degrés

46 – SNR, niveau du signal

Ce message NMEA contient l'ensemble des données dites « PVT ». « PVT » est une abréviation courante pour « position, vitesse, temps ».

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A Où:

RMC – En-tête NMEA 123419 – Heure UTC, 12:34:59

A – statut (A – actif, V – ignorer)

NMEA 0183– protocole de communication texte utilisé dans les modules de réception GPS. Cette norme a été créée pour la communication des équipements de navigation maritime. Le protocole prévoit la transmission de commandes et de messages texte à l'aide de caractères ASCII. Ainsi, pour recevoir des messages, il suffit d'utiliser l'interface série UART, tandis que tous les messages peuvent être transmis directement à l'ordinateur via le port COM, sans oublier la nécessité de convertir les niveaux de signal.

Le module GPS transmet des messages de différents formats contenant différents ensembles de données : latitude et longitude, vitesse, cap, heure, nombre de satellites, etc. Les messages sont transmis séquentiellement et sont divisés en plusieurs types ; le format de chaque type de message contient des informations strictement définies dans ses champs. Regardons de plus près la structure générale des messages produits par le module GPS.

$ - chaque message commence par ce symbole

Ceci est suivi d'un identifiant de 5 caractères de texte. Les deux premières lettres indiquent le type de système de navigation, par ex. "GP" - GPS ou " GL" - Glonass etc. Les 3 caractères suivants sont l'identifiant du format du message, qui détermine complètement le contenu des données transmises ultérieurement. Par exemple "RMC"- il s'agit des données minimales recommandées, qui contiennent des informations sur l'heure et la date, la latitude et la longitude, la vitesse, le cap et la déviation magnétique en degrés (peuvent manquer). Ou "GSA", les données satellite seront transmises ici. La structure des principaux types de messages sera discutée ci-dessous.

Suit ensuite «,» - une virgule, après quoi le corps du message suit immédiatement diverses données séparées les unes des autres par la même virgule. Si le nombre transmis n'est pas un nombre entier, alors le séparateur entre les parties entière et fractionnaire est un point. «.» .

La fin du corps du message est indiquée par le symbole «*» . Ce qui suit est la somme de contrôle de tous les caractères contenus entre « $ » et « * », c'est-à-dire tout le corps du message, y compris les données elles-mêmes et les identifiants au début du message. La somme de contrôle est calculée en effectuant un XOR sur tous les codes ASCII hexadécimaux des caractères du message.

Et à la toute fin de chaque message, il doit y avoir des caractères de nouvelle ligne

Examinons le but et la structure des différents types de messages.

R.M.C.– données de navigation minimales recommandées. Le message contient la quantité minimale d'informations requise. Ces données incluent la latitude et la longitude, la date et l'heure ainsi que la vitesse. Pour de nombreuses tâches, il n'est pas nécessaire d'en faire plus, par exemple dans le module Quectel L50 J'ai désactivé la transmission de tous les autres types de messages, car je n'ai absolument pas besoin d'informations sur les satellites et le niveau de leurs signaux. Et recevoir des informations inutiles nécessite de compliquer le programme de traitement de ces données. La structure du message est la suivante :

$GPRMC hhmmss.sss,UN,jjmm.mmmm,N,jjmm. mmmm , E,v.v.c. c, jjmmaaaa,x.x,n,m*hh

Ce message contient les informations suivantes :

  • GPRMC– Système satellite GPS, identifiant de message RMC
  • hhmmss.sss– heure (Greenwich Mean Time), où hh – heures, mm – minutes, ss.sss – secondes
  • UN– les données sont fiables ou V– les données ne sont pas fiables. Symbole UN le message sera fourni indiquant qu'il existe une réception fiable des signaux des satellites nécessaires au calcul des données de localisation. Symbole V se produira lorsque le récepteur ne voit pas les satellites ou lorsque le nombre de satellites trouvés n'est pas suffisant pour calculer les coordonnées avec confiance. Par exemple, si vous allumez le module GPS quelque part dans une maison à panneaux et loin des fenêtres, vous verrez probablement le symbole V dans le message reçu.
  • jjmm.mmmm– latitude, degrés et minutes
  • N ou S- au nord ou au sud. L'hémisphère dans lequel vous vous trouvez. Si vous êtes en Australie, cela s'affichera S. A Ekaterinbourg, mon module GPS donne N.
  • jjmm.mmmm– longitude, degrés et minutes
  • E ou W– hémisphère occidental ou oriental
  • v.v– vitesse en nœuds
  • c. c– cap au-dessus du sol en degrés. En se déplaçant plein nord, il fera 0 degré.
  • jjmmaaaa- date
  • x.x– déclinaison magnétique
  • n– direction de la déclinaison magnétique. Je ne peux rien expliquer sur ces deux derniers paramètres. Par exemple mon module GPS Quectel L50 lors de la réception dans l'appartement, ces données n'étaient pas du tout affichées sur la fenêtre, elles étaient simplement ignorées.
  • m– mode navigation : N– des données inexactes, UN– autonome, D– différentiel

Voici un exemple de message RMC :

$GPRMC,105954.000,A,3150.6731,N,11711.9399,E,0.00,96.10,250313,A*53

  • GMT 10h 59min 54s
  • UN– les données sont fiables
  • Latitude 31 degrés et 50,6371 minutes
  • N– nord
  • Longitude 117 degrés 11,9399 minutes
  • E– Est
  • Vitesse 0,00 nœuds
  • Bien 96,1 degrés
  • date 25 mars 2013
  • Des informations sur déclinaison magnétique aucun
  • Mode- autonome
  • Somme de contrôle des caractères du message 0×053

Un point doit être souligné ici. Les données de latitude et de longitude contiennent une partie fractionnaire de minutes, qui ne correspond pas du tout au nombre de « secondes », puisqu'il s'agit d'une fraction décimale. Les programmes GPS que j'ai essayés affichent les coordonnées sur la carte avec précision. Mais si vous saisissez ces chiffres dans la barre de recherche de Google Maps, l'emplacement sur la carte sera à plusieurs kilomètres de l'emplacement réel. Lors de la saisie des coordonnées obtenues dans ce cas, vous devez diviser la partie fractionnaire de la latitude et de la longitude par 60 pour convertir ces nombres en « secondes ». Lorsque j'ai connecté pour la première fois le module Quectel L50 et saisi les coordonnées de latitude et de longitude obtenues dans la barre de recherche de Google Maps, j'ai reçu une position sur la carte avec une erreur significative, la carte indiquait un endroit quelque part dans la région d'Uralmash ;

Voici quelques autres types de messages utilisés dans ce protocole :

  • VTG- direction réelle du parcours et vitesse sol
  • G.G.A.- dernières données de localisation
  • G.S.A.- données sur les satellites actifs
  • GSV- des données sur les satellites visibles, leur position et leur nombre, ainsi que la force du signal
  • GLL- données de latitude, de longitude et d'heure
  • ZDA- informations sur l'heure et la date

Je n'ai pas détaillé en quoi consiste chaque message ; un lien vers un document décrivant le protocole est donné en fin d'article. Un type spécifique de module GPS peut ne pas transmettre toutes les données répertoriées. Vous pouvez désactiver ou activer le transfert de différents types de données, ainsi que définir le délai de livraison. Pour configurer le module, il existe des commandes spéciales qui commencent par un identifiant $PSRFxxx, Où xxx spécifie le type et le format de la commande, tout comme dans les messages sortants.

Par exemple, la commande $PSRF100.0.9600.8.1.0*0C définit le protocole de communication et configure les paramètres du port série.

  • 100 $ PSRF – identifiant de commande du protocole SIRF natif
  • 0 – protocole SIRF binaire, 1 – Protocole NMEA
  • 9600 – vitesse bit/s
  • 8 bit de données
  • 1 peu d'arrêt
  • 0 – contrôle de parité désactivé

Équipe $PSRF103.00.00.02.01*26 configure les paramètres de sortie pour différents types de messages de module :

  • $PSRF103– Identifiant de commande du protocole natif SIRF
  • puis après la virgule décimale il y a deux chiffres qui déterminent le type de message personnalisé : 00 - GGA
    01 - GLL
    02 - GSA
    03 - GSV
    04 - CMR
    05 - VTG
  • les deux chiffres suivants configurent l'ordre dans lequel les messages sont émis, par exemple : 00 - périodiquement
    01 - sur demande
  • Les nombres suivants définissent la période du message en secondes : 00 = Désactivé (les messages sont désactivés)
    1-255 – intervalle entre les messages de ce type en secondes
  • puis la transmission de la somme de contrôle est activée/désactivée dans le message NMEA transmis par le module : 00 – la transmission de la somme de contrôle est désactivée
    01 – la somme de contrôle est transmise
  • après le caractère « * », comme dans le message NMEA sortant, une somme de contrôle et des caractères de saut de ligne sont transmis.

C'est tout ce que je voulais décrire brièvement sur le protocole NMEA 0183 et les commandes de contrôle du module sur le chipset SIRF. Un décodage plus détaillé de tous ces messages et commandes est donné par exemple dans la description du protocole du module Quectel L50, téléchargeable à partir du lien ci-dessous.

Description du protocole NMEA.

Implémentation dans les récepteurs Garmin et GlobalSat

Introduction

La National Marine Electronics Association (NMEA) a développé un protocole spécial pour maintenir la compatibilité entre les équipements de navigation maritime de différents fabricants. Ce protocole NMEA décrit non seulement les données reçues des récepteurs GPS, mais également les mesures des sonars, radars, compas électroniques, baromètres et autres appareils de navigation utilisés sur les navires. L'interface d'échange de données de la plupart des récepteurs GPS portables est implémentée conformément à la spécification NMEA. La plupart des programmes de navigation qui fournissent un support d'affichage des données en temps réel et « comprennent » le protocole NMEA. Ces données contiennent les mesures de navigation complètes du récepteur GPS - position, vitesse et temps. Tous les messages NMEA consistent en un ensemble séquentiel de données séparées par des virgules. Chaque message individuel est indépendant des autres et est totalement « complet ». Un message NMEA comprend un en-tête, un ensemble de données représentées par des caractères ASCII et un champ de somme de contrôle pour vérifier la validité des informations transmises. L'en-tête des messages NMEA standard est composé de 5 caractères, dont les deux premiers déterminent le type de message et les trois autres indiquent son nom. Par exemple, tous les messages GPS NMEA portent le préfixe « GP ». Les messages qui ne sont pas décrits dans la spécification NMEA, mais qui sont implémentés dans les récepteurs GPS selon des règles générales, sont préfixés par un « P » suivi de trois caractères propres à chaque entreprise. Par exemple, les messages NMEA « natifs » de Garmin portent le préfixe « PGRM », Magellan – « PMGN ». Chaque message NMEA commence par « $ », se termine par « \n » (« saut de ligne ») et ne peut pas comporter plus de 80 caractères. . Toutes les données sont contenues sur une seule ligne et séparées les unes des autres par des virgules. Les informations sont présentées sous forme de texte ASCII et ne nécessitent pas de décodage particulier. Si les données ne rentrent pas dans les 80 caractères alloués, elles sont alors « divisées » en plusieurs messages NMEA. Ce format vous permet de ne pas limiter la précision et le nombre de caractères dans les champs de données individuels. Par exemple, la partie fractionnaire de la valeur des coordonnées peut être représentée par 3 ou 4 décimales, mais cela ne devrait en aucun cas affecter le fonctionnement du logiciel, qui sélectionne les données nécessaires dans le message par numéro de champ. A la fin de chaque message NMEA se trouve un champ « somme de contrôle » séparé des données par un caractère « * ». Si nécessaire, il peut être utilisé pour vérifier l'intégrité et la validité de chaque message reçu. Le protocole NMEA prend en charge non seulement les messages sortants, mais également les messages entrants, avec lesquels, par exemple, vous pouvez mettre à jour ou ajouter des waypoints d'itinéraire. Ces messages doivent être générés en stricte conformité avec le format NMEA, sinon ils seront simplement ignorés par le récepteur GPS. Il convient de noter que tous les programmes de navigation et modèles de récepteurs ne prennent pas en charge ce mode, car ils utilisent des protocoles propriétaires des fabricants - Garmin, Magellan, etc. - pour charger des points et des itinéraires. Depuis sa création, le protocole NMEA a subi plusieurs modifications associées à l'ajout de nouveaux champs et messages. La version actuelle prise en charge par la plupart des récepteurs est la version 2.3, bien qu'une nouvelle version 3.0 ait déjà été publiée. La spécification complète des messages NMEA n'est pas accessible au public et ne peut pas être officiellement téléchargée sous forme électronique. Ses sections individuelles, une description générale du protocole NMEA et les messages les plus populaires peuvent être trouvés sur Internet. Vous pouvez acheter officiellement la documentation NMEA sur http://www.nmea.org/.

liste des messages

Le protocole NMEA décrit une longue liste de messages différents, à partir desquels peuvent être identifiés deux douzaines de messages activement utilisés dans les équipements de navigation. En raison de la grande popularité et de la présentation simple des données, le protocole NMEA a trouvé une application non seulement dans les équipements marins, mais également dans les récepteurs GPS géodésiques, domestiques et aéronautiques.

    AAM – Arrivée au Waypoint

    ALM - Données d'almanach

    APA – Données du pilote automatique « A »

    APB – Données du pilote automatique « B »

    BOD – Relèvement vers la destination

    DTM – Données utilisées

    GGA – Informations sur la solution fixe

    GLL – Données de latitude et de longitude

    GSA - Informations générales sur les satellites

    GSV – Informations satellite détaillées

    MSK – Transfert de contrôle au récepteur de base

    MSS – État de base du récepteur

    RTE – Information itinéraire VTG – Vecteur mouvement et vitesse

    WCV - Données de vitesse à proximité du waypoint

    WPL – Données de points de cheminement

    XTC – Erreur hors piste

    XTE – Erreur hors piste mesurée

    ZTG – heure UTC et temps restant jusqu’à l’arrivée à destination

    ZDA – Date et heure.

Certains messages NMEA peuvent contenir les mêmes champs de données ou contenir entièrement les données d'autres messages NMEA plus petits.

GGA - informations sur une solution fixe.

Le message NMEA le plus populaire et le plus utilisé fournit des informations sur la solution fixe actuelle : coordonnées horizontales, valeur d'altitude, nombre de satellites utilisés et type de solution.

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47

GGA – En-tête NMEA

123519 – Heure UTC 12:35:19

4807.038, N – Latitude, 48 degrés 7,038 minutes de latitude nord

01131.000, E – Longitude, 11 degrés 31.000 minutes de longitude est

Solution de type 1, solution autonome

08 – nombre de satellites utilisés

0,9 – facteur géométrique, HDOP

545.4, M – altitude au-dessus du niveau de la mer en mètres

46.9, M – hauteur du géoïde au-dessus de l'ellipsoïde WGS 84

[champ vide] – temps écoulé depuis la réception de la dernière correction DGPS. Rempli lorsque le mode DGPS est activé

[champ vide] – numéro d'identification de la station de base. Rempli lorsque le mode DGPS est activé.

GSA – informations générales sur les satellites.

Ce message NMEA contient une liste des satellites utilisés dans le calcul de position et les valeurs des DOP géométriques qui déterminent la précision du calcul de position. Les paramètres DOP sont déterminés par la disposition géométrique des satellites dans le ciel. Mieux les satellites sont « répartis » dans le ciel, plus le DOP est faible et meilleure est la précision de la position. La valeur PDOP minimale (= 1) correspond à une situation où un satellite est directement au-dessus de l'utilisateur et les 3 autres sont uniformément répartis au niveau de l'horizon. La valeur PDOP est calculée comme la racine carrée de la somme des carrés de HDOP et VDOP.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39

    GSA – en-tête NMEA

    A – type de choix entre solutions 2D et 3D, Automatique (A-auto, M-manuel)

    3 – type de solution, solution 3D (1 – pas de solution, 2 – solution 2D, 3 – solution 3D)

    04.05… - Codes PRN utilisés dans le calcul des positions des satellites (12 champs)

    2.5 – facteur géométrique spatial, PDOP

    1.3 – facteur géométrique horizontal, HDOP

    2.1 – facteur géométrique vertical, VDOP

GSV - Informations détaillées sur les satellites

Ce message NMEA contient des informations détaillées sur tous les satellites suivis par le navigateur GPS. Sur la base de la limite de 80 caractères, un message NMEA ne peut transmettre que des données pour 4 satellites. En conséquence, 12 satellites nécessitent 3 messages GSV. Le champ SNR (Signal to Noise Ration) contient les valeurs des niveaux des signaux de navigation reçus des satellites. Théoriquement, sa valeur peut varier de 0 à 99 et se mesure en dB. En fait, le niveau du signal se situe entre 25 et 35 dB. Il convient de noter ici que ce paramètre n'est pas absolu et ne convient pas pour comparer la sensibilité des récepteurs de différents modèles et fabricants. Les navigateurs GPS peuvent utiliser différents algorithmes pour calculer le niveau du signal reçu, ce qui conduit à des résultats différents avec le même degré de sensibilité des récepteurs. Pour chaque satellite GPS visible, un ensemble d'informations est transmis, notamment la force du signal, l'angle d'élévation et l'azimut du satellite. Le nombre de ces « ensembles » est déterminé par le nombre total de satellites visibles, dont la valeur est transmise dans un champ séparé.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75

    GSV – en-tête NMEA

    2 – nombre de messages GSV dans le package

    1 – numéro de message dans le colis (de 1 à 3)

    08 – nombre de satellites visibles

    01 – numéro de satellite

    40 – angle d'élévation, en degrés

    083 – azimut en degrés

    46 – SNR, niveau du signal

Ce message NMEA contient l'ensemble des données dites « PVT ». « PVT » est une abréviation courante pour « position, vitesse, temps ».

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

    RMC – en-tête NMEA

    123419 – Heure UTC, 12:34:59

    A – statut (A – actif, V – ignorer)

    4807.038,N – Latitude, 48 degrés 07,038 minutes de latitude nord

    01131.000, E – Longitude, 11 degrés 31.000 minutes de longitude est

    022.4 – Vitesse, en nœuds

    003.1,W – Variations magnétiques

GLL - données de latitude et de longitude

Message NMEA avec les coordonnées de latitude et de longitude, et l'heure à laquelle cette solution a été calculée.

$GPGLL,4916.45,N,12311.12,W,225444,A,*31

    GLL – en-tête NMEA

    4916.46,N – latitude, 49 degrés 16,45 minutes nord

    12311.12, longitude W, 123 degrés 11,12 minutes de longitude ouest

    225444 – Temps de fixation sur l'échelle de temps UTC, 22:54:44

BOD - Azimut vers la destination

Ce message NMEA indique le relèvement vers une destination en mode navigation.

$GPBOD,045.,T,023.,M,DEST,START*01

    BOD – en-tête NMEA

    045.,T – vraie direction vers le point

    023.,M – direction magnétique vers un point

    DEST – numéro d’identification du point final

    START – numéro d’identification du point de départ

$GPRMB,A,0,66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20

    RMB – en-tête NMEA

    A – Type de données, (A – actif, V – ignorer)

    0,66,L – écart par rapport à la piste. Le paramètre est défini en milles marins. (L – gauche, R – droite)

    003 - numéro d'identification du point de départ

    004 - numéro d'identification du point final

    4917.24,N – valeur de latitude du point final, 49 degrés 17,24 minutes de latitude nord

    12309.57,W – valeur de longitude du point final, 123 degrés 09,57 minutes de longitude ouest

    001.3 – distance jusqu'au point, en milles marins

    000,5 – vitesse, en nœuds

    V – information d’arrivée (A – arrivée, V – point non encore atteint)

RTE – Informations Itinéraire

Le message NMEA RTE affiche une liste de waypoints sur l'itinéraire actif. Il existe deux types de messages RTE. Dans le premier cas, tous les points d'itinéraire sont affichés. Dans le second, il n'y a qu'une liste des points restants qui doivent encore être visités tout en parcourant l'itinéraire. Étant donné que le protocole NMEA a une limitation selon laquelle la longueur du message ne doit pas dépasser 80 caractères, un message RTE peut être composé de plusieurs lignes.

$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

    RTE – en-tête NMEA

    2 – nombre total de messages pour afficher la liste complète des données

    1 – numéro de message de la liste générale

    с – Type de message RTE (с – liste complète des points de route, w – liste des points non encore visités)

    0 – identifiant d'itinéraire

    W3IWI,DRIVWY,.. - liste des waypoints

Fonctionnalités Garmin

Les récepteurs Garmin prennent en charge la plupart des messages NMEA contenant des mesures GPS, des positions et l'heure - GGA, GLL, GSA, GSV, RMC. Ainsi que les messages de navigation - RMB, BOD

Pour afficher ces messages, vous devez changer l'interface dans les paramètres du récepteur de « Garmin » à « NMEA » et éventuellement régler la vitesse souhaitée. La même vitesse doit être définie dans le programme de navigation dans les paramètres du port série auquel le navigateur est connecté.

Malheureusement, les récepteurs dotés d'un port USB ne prennent pas en charge le protocole NMEA, limitant ses paramètres au seul protocole Garmin.

Pour afficher les informations entrant dans le port série de l'ordinateur, vous pouvez utiliser un programme de terminal Windows ou l'un des programmes de navigation prenant en charge cette fonctionnalité.

Vous trouverez ci-dessous une liste des messages NMEA du récepteur Garmin eMap contenus dans une époque.

$GPRMC,135412,A,5522.8973,N,03710.1401,E,0.0,0.0,190507,9.3,E,A*1F

$GPRMB,A,,A,A*0B

$GPGGA,135412,5522.8973,N,03710.1401,E,1,04,5.4,205.2,M,15.8,M,*4A

$GPGSA,A,3,08,13,23,25,5.7,5.4,1.0*3C

$GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233.00*77

$GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

$GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229.00*46

$GPGLL,5522.8973,N,03710.1401,E,135412,A,A*43

$GPBOD,T,M,*47

$PGRME,19.1,M,15.2,M,25.3,M*15

$PGRMZ,673, f,3*19

$ PGRMM, WGS 84*06

En plus des messages NMEA standard, les récepteurs Garmin implémentent leur propre ensemble de messages, chacun contenant un préfixe « GRM » dans l'en-tête, un identifiant « M » ou « Z » identifiant le type de données et un caractère pour le nom.

PGRME – Estimation des erreurs de positionnement

$PGRME,15.0,M,45.0,M,25.0,M*1C

    15,0,M – évaluation de l'erreur de positionnement horizontal, en mètres

    45,0,M – estimation de l'erreur verticale, en mètres

    25,0,M – erreur de positionnement sphérique équivalente

PGRMZ – mesures de hauteur

$PGRMZ,93,f,3*21

    93,f – valeur de taille, en livres

    3 - conditions de mesure de position (2 - hauteur définie par l'utilisateur,

    3 – altitude calculée par GPS)

PGRMM – donnée actuelle

$PGRMM,NAD27 Canada*2F

    NAD27 Canada – nom du système de référence horizontal actuel

Caractéristiques de Sirf

Les puces GPS de Sirf sont utilisées dans divers équipements de navigation GPS, des cartes classiques aux navigateurs GPS portables et automobiles. Mais contrairement aux navigateurs, ils ne prennent en charge que les messages NMEA liés aux mesures GPS, aux calculs de position et de temps - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

"Sirf" prend également en charge plusieurs messages NMEA "entrants" destinés à la configuration et au réglage de divers paramètres. De plus, Sirf implémente son propre protocole binaire, qui vous permet de modifier beaucoup plus de paramètres. Ces 5 messages NMEA "entrants", selon les règles, commencent par le préfixe $PSFR. Tous les messages contiennent un ensemble fixe de données et se terminent par le caractère « \n » (saut de ligne)

Pour configurer les paramètres « Sirf », un programme spécial « SirfTech » est utilisé. Les paramètres des messages NMEA sont configurés dans un élément de menu distinct.

$GPGGA,100643.000,5522.9036,N,03710.1282,E,1.07,1.6,209.9,M,14.9,M,0000*52

$GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

$GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

$GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

$GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

$GPRMC,100643.000,A,5522.9036,N,03710.1282,E,0.16,119.11,200507,*0D

Comme vous pouvez le voir dans l'exemple ci-dessus, les paramètres d'usine contiennent moins de messages NMEA que les paramètres Garmin. Si nécessaire, cet ensemble peut être étendu en définissant la période dans les messages NMEA manquants.

$GPGGA,100833.000,5522.9076,N,03710.1270,E,1.07,1.3,222.4,M,14.9,M,0000*53

$GPGLL,5522.9076,N,03710.1270,E,100833.000,A*34

$GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

$GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

$GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

$GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

$GPRMC,100833.000,A,5522.9076,N,03710.1270,E,0.18,4.86,200507,*00

$GPVTG,4,86,T,M,0,18,N,0,3,K*60

$GPZDA,100834.000,20/05/2007,*5A

PSFR100, PSFR102 – configuration du port série

Le message NMEA numéro 100 est utilisé pour définir le port A, le message 102 - le port B. Le message 100 possède un champ supplémentaire qui vous permet de basculer l'interface vers le protocole binaire Sirf.

En conséquence, dans le protocole binaire, il existe une commande qui rebascule le port au format NMEA. Avant de passer au protocole binaire, vous devez comprendre s'il existe un programme qui vous permettra de restaurer le protocole NMEA à l'avenir.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

    PSRF100 – en-tête NMEA

    0 – paramètre indiquant dans quel mode le protocole a été modifié (0-Sirf, 1-NMEA)

    9600 – vitesse du port (4800, 9600, 19200, 38400)

    8 – bits de données (7, 8)

    1 – bits d'arrêt (0,1)

    0 – appariement (0 – aucun, 1-impair, 2-pair)

PSFR101, PSFR104 – initialisation des paramètres du récepteur

Les messages NMEA numérotés 101 et 104 sont destinés à initialiser des paramètres destinés à la réception GPS. La détermination de ces paramètres peut accélérer le temps d'acquisition des satellites GPS. Le message 101 définit les coordonnées actuelles au format XYZ, le message 104 – au format BLH (longitude, latitude).

$PSRF101,-2686700,-4304200,3851624,95000,497260,921,12.3*22

$PSRF104.37.3875111.-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 – en-tête NMEA

    37.3875111 – latitude en degrés

    121.97232 – longitude en degrés

    0 – hauteur, en mètres

    95000 – décalage d'horloge

    237759 – Temps GPS, en secondes

    922 – numéro de semaine GPS

    12 – nombre de canaux

    3 – type d'initialisation des données (1 – démarrage à chaud, 2 – démarrage à chaud, 3 – initialisation des données, 4 – démarrage à froid avec effacement complet des données, 8 – démarrage à froid avec restauration des paramètres d'usine)

PSFR103 – Configuration de génération de messages NMEA

Ce message NMEA permet de paramétrer ou d'interroger la période de génération de chaque message NMEA « sortant ».

$PSRF103.05.00.01.01*20

    PSRF103 – en-tête NMEA

    05 – titre du message

    01 – période, en secondes (0-255)

    01 – présence de la somme de contrôle (0 - oui, 1 - non)

Résultats de l'expérience

Dans des conditions de visibilité satellite normale, le récepteur Garmin eMap produit l'ensemble de messages NMEA suivant :

$GPRMC,104644,A,5522.8965,N,03710.1389,E,0.0,0.0,200507,9.3,E,A*16

$GPRMB,A,,A,A*0B

$GPGGA,104644,5522.8965,N,03710.1389,E,1.07,1.2,186.6,M,15.8,M,*44

$GPGSA,A,3,01,04,13,16,20,23,31,2.1,1.2,1.7*35

$GPGSV,3,1,10,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

$GPGSV,3,2,10,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196.00*70

$GPGSV,3,3,10,30,05,012,00,31,36,055,52*7D

$GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME,6.0,M,7.7,M,9.8,M*29

$PGRMZ,612,f,3*1E

$PGRMM,WGS 84*06

$GPRTE,1,1,c,*37

L'analyse des messages montre clairement que le récepteur suit actuellement 10 satellites (GSV), dont 7 (GGA) sont utilisés pour le calcul de position. L'erreur de positionnement horizontal est égale à 6 mètres (RME) et l'indicateur de type de solution est 1 (GGA)

Si vous créez des conditions dans lesquelles le signal GPS ne sera pas reçu, alors les messages GGA contiendront des champs « vides », et l'indicateur de type de décision prendra la valeur 0 (GGA)

$GPGGA,0.00,M,M,*66

$GPGSA,A,1,,*1E

En mode « normal », les messages RMB et BOD contiennent des champs vides. Une fois le waypoint routier sélectionné comme destination finale, ces champs ont été remplis de données. Comme il ressort de l'analyse du message, la distance jusqu'au point est de 1 620 milles, l'azimut du mouvement est de 6,3 degrés (BOD). Dans le même temps, l'azimut des messages BOD et RMB diffère de 0,1 degré.

$GPRMB,A,0.00,R,Route,5524.501,N,03710.445,E,1.620,6.4,V,A*59

$GPBOD,6.3,T,357.0,M,Route,*74

Une fois l'itinéraire Home sélectionné pour la navigation, la liste des messages RTE affiche une liste de tous les waypoints de l'itinéraire. Et dans le message RMB - les numéros d'identification des points de départ et d'arrivée (suivants) de l'itinéraire.

$GPRTE,1,1,c,ACCUEIL,SLOBODA,IERUSALIM,INSTITUT*01

$GPRMB,A,9.99,R,SLOBOD,IERUSAL,5555.237,N,03649.976,E,34.346,340.6,V,A*1F

Conclusion

Dans la plupart des cas, l’utilisateur n’a pas besoin de savoir quelles données sont transmises et dans quels domaines, ni ne s’y intéresse. La plupart des programmes de navigation « analysent » les données des messages NMEA et les présentent sous une forme conviviale : graphiques, diagrammes, tableaux, etc.

Les messages NMEA sont particulièrement intéressants pour les utilisateurs qui souhaitent effectuer des recherches sur les données GPS, calculer des estimations des mesures acquises ou analyser le comportement des récepteurs de navigation dans diverses conditions. Il existe un certain nombre de programmes avec lesquels vous pouvez résoudre ces problèmes.

Mais toujours, le format NMEA n'est pas destiné à une analyse approfondie des données GPS, puisqu'il ne contient pas les mesures dites « brutes » - pseudo-portées, phases, Doppler. Chaque fabricant d'équipement de navigation possède son propre protocole « ouvert » ou « fermé » qui affiche ces informations

NMEA est un format simple et compréhensible qui permet non seulement l'échange de données entre les récepteurs GPS et les programmes de navigation, mais donne également aux utilisateurs une idée des principes de fonctionnement des équipements de navigation par satellite.

Attention!

Un article du site " Portail GPS"



 

Il pourrait être utile de lire :