WikiDer > NMEA-0183
NMEA-0183 ist ein Protokoll Ausrüstung an Bord tragen Schiffe Daten auszutauschen. Dieses Protokoll ist geeignet für seriell Verbindungen (besonders RS-422Zeilen in den neueren Versionen, RS-232 in der Originalversion 1.0), um Informationen zu senden. Laut offiziellem Protokoll geht das mit 4800 Baud, aber oft kann eine höhere Baudrate gewählt werden, wenn alle Geräte dies unterstützen.
Das Protokoll
Das genaue Protokoll ist proprietäres Material und kann über das National Marine Electronics Association (NMEA) kann gegen Gebühr bezogen werden. Im Internet finden sich zahlreiche Beschreibungen von Sätzen.
Das Protokoll besteht aus einzelnen Nachrichten (Sätzen), in denen bestimmte Daten gruppiert sind. Im Prinzip bestehen die Sätze nur aus lesbaren ASCII Zeichen und die Zeichen 'Wagenrücklauf' und 'Zeilenvorschub'. Ein Satz kann bis zu 82 Zeichen lang sein, einschließlich der $ und CR/LF.
Jeder Satz enthält eine feste Anzahl von Komponenten.
- Zuerst kommt ein Dollarzeichen ($).
- Dann zwei Zeichen mit der Sprecher-ID. Dies ist eine Abkürzung für das Gerät, das den Satz sendet (z Geographisches Positionierungs System sendet Nachrichten mit der Talker-IDGP und GLONASS Ich würdeGL).
- Dann folgt der Satzbezeichner aus drei Buchstaben. Dieser gibt an, welche Informationen im Satz enthalten sind und bestimmt somit auch das Layout des restlichen Satzes. Ein Beispiel für einen Satzbezeichner ist HDT für eine Nachricht, die den Kurs eines Schiffes sendet.
- Der folgende Teil ist von variabler Länge und kann Zahlen und Text enthalten. Der Inhalt wird durch die Satzkennung und das NMEA-0183-Protokoll bestimmt. Einige Felder in einem Satz sind nicht obligatorisch, aber dann müssen diese Stellen leer übergeben werden. (siehe Beispiel unten) Unterschiedliche Felder werden durch Kommas getrennt.
- Am Ende der Nachricht, a Prüfsumme hinzugefügt wird. Wenn dies erledigt ist, kommt zuerst a Sternchen (*) und dann folgt die hexadezimale Darstellung des xor aller Zeichen zwischen '$' und '*'. Die Prüfsumme ist zwei Zeichen lang. Beispiel: $TTSSS,Feld,1,Feld,2,,*2A.
- Folgen Sie schließlich den Schildern 'Wagenrücklauf' und 'Zeilenvorschub'.
Ein Beispiel:
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30$GPGSV,3,1.09.3,,,,6,73,209,28,10,,, ,13 ,,,*41
Breiten-und Längengrad
Das geografische Koordinaten in der NMEA-Sätze sind in dieser Schreibweise nicht immer sofort verwendbar und müssen dann umgewandelt werden Längengrade) stellen die Gradzahl dar, gefolgt von 2 Stellen, die die Minuten darstellen. Die letzten 4 Ziffern (nach dem Punkt) repräsentieren 1/10000stel einer Minute.
Beispiel:
- NMEA-Ausgang:
- 5312.3456,N,00612.3456,E
- Grad-, Minuten-, Sekundenformat (°'"):
- 53°12'20.736" (Nördlicher Breitengrad)
- 6°12'20.736" (östliche Länge)
- Abschlüsse:
- 53.20576 (nördlicher Breitengrad)
- 6.20576 (östlicher Längengrad)
Konvertieren
Von NMEA zu Grad-Minuten-Sekunden-Notation geht wie folgt:
XXYY.ZZZZ = XX°YY'(ZZZZ * 0,006)"
Von NMEA zu Grad geht das so:
XXYY.YYYY = XX (YYYYYY / 60) Grad.
Zuverlässigkeit der Daten
Ein Indikator für die Zuverlässigkeit der empfangenen NMEA-Daten stellt die Anzahl der für die Positionsbestimmung verwendeten Satelliten dar. Für eine genaue Positionsbestimmung sollten die Satelliten so weit wie möglich vom Standort des Empfängers entfernt sein. Je größer die Anzahl der sichtbaren Satelliten, desto wahrscheinlicher ist ein Paar, das einen relativ großen Winkel zum Empfänger einschließt und damit die Genauigkeit erhöht.Eine Einheit, die in die NMEA-Sätze übergeben werden kann, dass dies ( in )Genauigkeit ist die Verdünnung der Präzision (DOP) Es gibt mehrere Variationen dieses DOP-Werts:
- PDOP = Positionsverdünnung der Präzision (am häufigsten)
- VDOP = Vertikale Verdünnung der Präzision
- GDOP = Geometrische Verdünnung der Präzision
- HDOP = Horizontale Verdünnung der Präzision
- TDOP = Zeitverdünnung der Präzision
Dieser DOP-Wert gibt den erwarteten Standardabweichung wieder in Metern DOP-Werte über 6 sind für die Navigation auf der Straße in der Praxis nicht mehr brauchbar, da man innerhalb einer Ortschaft schnell eine Nebenstraße übersehen könnte.
Die NMEA-Sätze liefern auch Informationen, während der Empfänger möglicherweise keinen zuverlässigen "Fix" herstellen konnte. $GPGSA-Satz gibt an, ob bereits ein "Fix" ermittelt wurde und wenn ja, ob dies eine zuverlässige 2D- oder 3D-Positionsbestimmung ist und welche Satelliten dafür verwendet wurden. Es ist jedoch möglich, dass beispielsweise 10 Satelliten empfangen werden und dennoch Eine genaue Höhe kann nicht bestimmt werden. Dies kann die Folge von Reflexionen von Gebäuden oder anderen Hindernissen sein.
Die häufigsten NMEA-Sätze
Es sind viele Dutzend verschiedene NMEA-Sätze möglich und viele mehr, wenn Sie die herstellereigenen Erweiterungen (beginnend mit einem $P) einbeziehen.Allerdings sind nicht alle NMEA-Sätze immer sinnvoll und werden daher nicht standardmäßig angezeigt. (NMEA-Sätze können oft ein- oder ausgeschaltet werden)
Dies sind die häufigsten:
- $GPRMCEmpfohlene minimale spezifische GNSS-Daten
- Die nützlichsten Informationen in 1 NMEA-Satz. Diese enthält die Koordinaten, Uhrzeit, Datum, Geschwindigkeit und Richtung über Grund und ob die Daten "gültig" sind.
- $GPGGAFeste Daten des globalen Positionsbestimmungssystems
- Dazu gehören die Zeit, Breite und Länge, Nord/Süd, Ost/West, Höhe, Anzahl der Satelliten, HDOP und ob es einen "Fix" gibt und wenn ja, ob es sich um einen 2D- oder 3D-Fix handelt.
- $GPGLLGeografische Position - Breitengrad / Längengrad
- Ein ziemlich kurzer NMEA-Satz mit den Koordinaten und der Uhrzeit.
- $GPGSAGNSS DOP und aktive Satelliten
- Informationen zu den verwendeten Satelliten, diversen DOP-Werten und ob es einen „Fix“ gibt.
- $GPGSVGNSS-Satelliten im Blick
- Detaillierte Informationen zu den angezeigten Satelliten. Dies kann sogar auf bis zu 3 NMEA-Sätze verteilt werden.
- $GPVTGKurs auf Grund und Grundgeschwindigkeit
- Dieser (oft kurze) NMEA-Satz gibt Kurs und Geschwindigkeit (in Knoten und/oder km/h) an.