heim - Service
Nmea-Protokoll. Merkmale des NMEA2000-Protokolls und seine Verwendung

Sie sind wahrscheinlich gerade damit beschäftigt, das Problem des Hackens eines weiteren Mega-Super-Hyper-Servers zu lösen, aber wissen Sie, was GPS ist und wie man es verwendet?! Wenn nicht, dann sind Sie hier genau richtig! In diesem Artikel erzähle ich Ihnen, wie GPS-Empfänger funktionieren, wie Sie Informationen von ihnen erhalten und wie Sie selbst ein einfaches Programm schreiben, um mit dem GPS-Modul zu arbeiten.

GPS (Global Positioning System) wurde 1994 von den Vereinigten Staaten eingeführt. Es besteht aus 24 Satelliten und Bodenempfangssystemen, die Ihr GPS-Navigator oder GPS-Modul (im Folgenden als Navigator bezeichnet) sein können. Um die Koordinaten genau zu bestimmen, muss Ihr Navigator mindestens 4 Satelliten sehen. In der jüngeren Vergangenheit wurde die Genauigkeit der Koordinatenbestimmung außerhalb der USA (bzw. für Nicht-US-Verbraucher) künstlich verringert, aber vor nicht allzu langer Zeit wurde diese Einschränkung aufgehoben und jetzt können Sie Ihren Standort auch in der Taiga genau bestimmen von mehreren Metern.

So funktioniert alles: Ihr Navigator empfängt Informationen von jedem der sichtbaren Satelliten, die für ihn wie Leuchtfeuer sind. Im Inneren des Navigators befindet sich ein Mikroprozessor mit einem integrierten Programm, das anhand der empfangenen Daten Ihren Standort berechnet.

Derzeit gibt es eine große Anzahl von GPS-Navigationsgeräten und GPS-Modulen für PDAs und Laptops im Angebot. Ein GPS-Navigator ist ein GPS-Empfänger mit einem Bildschirm, der Informationen über Ihren Standort anzeigt, und ein GPS-Modul ist ein GPS-Empfänger, der an einen Computer angeschlossen wird und alle Navigationsinformationen an das damit arbeitende Programm überträgt. Alle unterscheiden sich grundsätzlich nur im Formfaktor und weisen keine grundsätzlichen Unterschiede in der Bedienung auf. Sie und mich interessiert jedoch mehr, wie er mit dem Computer kommuniziert und wie man ihm Informationen entzieht. Jetzt erzähle und zeige ich dir alles.

Welchen Formfaktor (COM, USB, BlueTooth usw.) das GPS-Modul auch hat, es wird logisch über einen COM-Port mit dem Computer verbunden, d. h. Beim Verbinden wird eine Verbindung hergestellt über serielle Schnittstelle. Navigationsinformationen werden in den meisten Fällen über das NMEA-Protokoll übertragen. Dies ist das gebräuchlichste Übertragungsprotokoll für GPS-Module. Obwohl es andere Protokolle gibt, werden wir diese nicht berücksichtigen.

Nun ist es an der Zeit, herauszufinden, wie man Software so gestalten kann, dass sie mit all diesen Geräten funktioniert. Ich sage gleich, dass ich jetzt nicht wirklich erklären möchte, wie man Knöpfe hineinsteckt
VB, der Artikel dient eher Informationszwecken. Für diejenigen, die im Tank sind, werde ich in den folgenden Artikeln den Prozess der Programmerstellung erklären.
Ich werde nur das Wichtigste hervorheben wichtige Punkte und ich denke, Sie werden Erfolg haben. Ich sage gleich, dass Sie ein Programm in jeder Programmiersprache erstellen können, solange es möglich ist, mit einer seriellen Schnittstelle und mit Strings zu arbeiten.
Als Erstes müssen Sie den COM-Port öffnen. Fast alle Receiver verfügen über Standardeinstellungen: Geschwindigkeit 9600 bps, 8/N/1. Sobald Sie den Hafen öffnen, erhalten Sie sofort im Sekundentakt Navigationsinformationen in etwa der folgenden Art:

$GPGGA,143345.264, 0936.23,N,06354.15,E,0.06,0.0,230.6,M,0.0,M,0.0,0345*76
$GPRMC,143345.26, A,0936.23,N,06354.15, E,0.0,0.0,230306,0.0,E,A*45
$GPGSA,A,3,03,04,05,07,11,12,0.0,0.0,0.0*E2
$GPGSV,1,1,06,05,67,120,20*34

Beginnen wir nun mit der Analyse:

Die Übermittlung der Daten erfolgt in Form von Sätzen. Das Vorschlagsformat ist wie folgt:

$AAAAAA[,<данные>]*hh , Wo

$ — Symbol für den Satzanfang (Code 24h);
AAAAA – fünfstellige Adresse (Name) des Angebots;
[, <данные>] – Liste der durch Kommas getrennten Datenfelder (Code 2Сh);
* — Prüfsummenzeichen (Code 2Ah);
hh – Prüfsumme;
, – Endbegrenzer (Codes 0Dh und 0Ah).

Datenfeldtypen.

Feldtyp Bezeichnung Definition

Spezielles Feldformat

Status A Einzelzeichenfeld. A= ja, Daten
zuverlässiges Warnsignal
Nein. V= nein, die Daten sind nicht zuverlässig, ja
Warnsignal.
Breite llll.ll
Grad-Minuten Bruchteile von Minuten. 2 Zeichen

Anzahl der Minutenbruchteile. Wenn der erste
Es gibt also keine Grad- oder Minutenanzeige
es wird durch Null ersetzt, so dass




hohe Auflösung.
Längengrad jjjjj.jj Feld mit fester/variabler Länge:
Gradminuten und Bruchteile von Minuten. 3 Zeichen
Grad, 2-Minuten-Zeichen und variabel
Anzahl der Minutenbruchteile. Wenn der erste
Zeichen oder das erste Minutenzeichen fehlt,
dann werden sie durch Null ersetzt, um
Halten Sie die Anzahl der Zeichen konstant.
Dezimalpunkt und Folgezeichen
Bruchteile von Minuten sind zusätzlich und
dürfen nicht verwendet werden, wenn sie nicht benötigt werden
hohe Auflösung.
Zeit hhmmss.ss Feld mit fester/variabler Länge: Stunden/Minuten/Sekunden
und einen Bruchteil einer Sekunde. 2 Uhrenschilder, 2 Schilder
Minuten, 2 Sekunden und variable Zahl
Zeichen für Sekundenbruchteile. Als der erste
Stunden-, Minuten-, Sekundenzeichen vielleicht
Zum Speichern auf Null setzen
konstante Zeichenanzahl. Wenn nicht
Dann ist hohe Präzision gefragt
Dezimalpunkt und Bruchteile von Sekunden können
weggelassen werden.
Spezifische Felder Einige Bereiche sind speziell
vorgesehen, im Voraus platziert zu werden
bestimmte konstante Werte häufiger
Gesamtbuchstabenbezeichnungen. Zeichen
Solche Felder sind das Vorhandensein eines oder
mehrere Charaktere.

Digitale Wertfelder

Informationsfelder

Anmerkungen:

1. Leerzeichen können nur in Textfeldern variabler Länge verwendet werden.

2. Das negative Vorzeichen „-“ (Code 2Dh) ist das erste Zeichen des Feldes, wenn es negative Werte enthält. Wenn Sie in Feldern fester Länge ein negatives Vorzeichen verwenden, erhöht sich deren Länge um eins. Bei positiven Werten entfällt das Vorzeichen.

GGA – GPS-Standortdaten

Zeit, Ort und Daten im Zusammenhang mit der Beobachtung.

$GPGGA,hhmmss.sss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh

1. hhmmss.sss – Uhrzeit der Navigationsdefinitionen;
2. llll.ll,a – Breitengrad, N/S;
3. yyyyy.yy,a – Längengrad, E/W;
4. x – Beobachtungsqualitätsindikator: 0 = keine Daten, 1 = Beobachtung empfangen, 2 = Beobachtung im Differentialmodus;
5. xx – Anzahl der verwendeten Satelliten;
6. x.x – der Wert des horizontalen geometrischen Faktors (HDOP);
7. x.x,M – Antennenhöhe über dem Meeresspiegel (Geoid), m;
8. x.x,M – Höhe des Geoids über dem WGS84-Ellipsoid, m;
9. x.x – Alterung der Differenzialkorrekturen, d. h. Zeit in Sekunden seit dem Empfang der letzten Differenzialkorrektur; ein Nullfeld wird verwendet, wenn der Differenzialmodus ausgeschaltet ist;
10. xxxx – differenzielle Stationskennung 0е1023.

Uhrzeit, Datum, Koordinaten und Kurs werden von der Ausrüstung berechnet.

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a,a*hh

Die Bereiche dieses Angebots sind:

1. hhmmss.ss – Zeit;
2. A – Status (A/V);
3. llll.ll,a – Breitengrad, N/S;
4. yyyyy.yy,a – Längengrad, E/W;
5. x.x – Geschwindigkeit in Knoten;
6. x.x – Kurs in Grad;
7. xxxxxx – Datum: TT/MM/JJ (Tag/Monat/Jahr);
8. x.x,a – magnetische Deklination in Grad, O/W;
9. a – Modusanzeige: A = autonome Beobachtung, D = Differentialmodus, N = ungültige Daten.

GSA – Genfür Navigationssatelliten

$GPGSA,a,x,xx, … ,xx,x.x,x.x,x.x*hh

Die Bereiche dieses Angebots sind:
1. a – Steuermodus für die Anzahl der definierten Koordinaten: M = manuell, Modus angegeben, A = automatische Umschaltung;
2. x – Betriebsart: 1 = Beobachtung ist nicht möglich, 2 = zwei Koordinaten werden bestimmt, 3 = drei Koordinaten werden bestimmt;
3. xx...xx – Anzahl der Satelliten, die zur Lösung des Navigationsproblems verwendet werden. Die Anzahl der Felder entspricht der Anzahl der Empfängerkanäle. Die Nummern 1–32 werden für GPS, 33–64 für WAAS und 65–96 für GLONASS verwendet.
4. x.x – allgemeiner Verschlechterungsfaktor der geometrischen Genauigkeit (PDOP);
5. x.x – horizontaler geometrischer Verschlechterungsfaktor (HDOP);
x.x – vertikaler geometrischer Degradationsfaktor (VDOP).

GSV – Sichtbare Satelliten

Anzahl der Satelliten in der Funksichtzone, Satellitenanzahl, Höhenwinkel, Azimut und Signal-Rausch-Verhältnis. Ein Satz kann Informationen über 1 bis 4 Satelliten enthalten, weitere Satellitendaten werden in den folgenden Sätzen übertragen. Die Angebotsnummer wird in den ersten beiden Datenfeldern angegeben. Für Satellitensysteme sind folgende Nummern reserviert: für GPS 1-32, für WAAS 33-64, für GLONASS 65-96.

$GPGSV,x,x,xx,xx,xx,xxx,xx, … ,xx,xx,xxx,xx*hh

Die Bereiche dieses Angebots sind:
1. x – Gesamtzahl der Nachrichten;
2. x – Nachrichtennummer;
3. xx – Gesamtzahl der Satelliten in der Funksichtzone;
4. xx – Satellitennummer;
5. xx – Höhenwinkel des Satelliten, Grad 00-90;
6. xxx – wahrer Azimut, Grad 000–360;
7. xx – Signal-Rausch-Verhältnis 00-99 dB, wenn der Satellit nicht begleitet wird, wird er nicht gesendet.

Hinweis: Die Felder 4, 5, 7 werden für 2, 3 und 4 Satelliten wiederholt.

Nun, da Sie eine Beschreibung des NMEA-Protokolls und des Treibers „direct_ruki.sys“ haben, können Sie mit der zeilenweisen Analyse von Paketen beginnen und ein Megaprogramm erstellen)))).

NMEA 0183(aus " Nationale Marine-Elektronik-Vereinigung„) – ein Standard, der ein Textprotokoll für die Kommunikation von Schiffsausrüstung (normalerweise Navigationsausrüstung) (oder Ausrüstung, die in Zügen verwendet wird) untereinander definiert. Besonders beliebt wurde es durch die Verbreitung von GPS-Empfängern, die diesen Standard nutzen.

Gesamtansicht der Linien in NMEA 0183

  • „$“ oder „!“ (Hex 24 oder Hex 21)
  • 5-stellige Nachrichten-ID. Die ersten beiden Buchstaben sind die Kennung der Nachrichtenquelle, die nächsten drei Buchstaben sind die Kennung des Nachrichtenformats gemäß dem NMEA 0183-Protokoll einer bestimmten Version.
  • eine durch Kommas getrennte Liste von Daten (Buchstaben, Zahlen und Punkte). Falls Daten fehlen innen In Zeilen werden weiterhin Kommas gesetzt (z. B. „,“). Einige Felder Am Ende Zeilen können ganz fehlen.
  • Symbol „*“.
  • 8-Bit-XOR – die Summe aller Zeichen (einschließlich „,“ und „^“) in der Zeile zwischen „$“ und „*“, konvertiert in zwei ASCII-Großbuchstaben für die hexadezimale Darstellung des Bytes (0–9, A –F) .
  • (hex 0D, hex 0A).

Die maximale Nachrichtenlänge ist auf 82 Zeichen begrenzt (NMEA 0183 rev 3.0)

Der Standard beschreibt mehr als 250 NMEA-Sequenzkennungen. Der Standard definiert Datenaustauschraten mit 4800 Baud. (Für Geschwindigkeiten von 38400 Baud und höher gibt es einen erweiterten Standard NMEA-0183-HS).

Der Standard ermöglicht das Hinzufügen eigener Sequenzkennungen, die von Herstellern häufig zur Übermittlung verwendet werden Weitere Informationenüber die Bedienung des Gerätes.

RMC-String (spezielles Beispiel)

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

Feldwerte:

  • „GP“ – Quellenkennung; Im angegebenen Beispiel ist dies GPS, „GL“ – GLONASS, „GA“ – Galileo, „GN“ – GLONASS+GPS usw.
  • „RMC“ – „Empfohlener Mindestsatz C“
  • „hhmmss.sss“ – Uhrzeit der Standortbestimmung gemäß UTC: „hh“ – Stunden, „mm“ – Minuten, „ss.sss“ – Sekunden. Die Länge der Sekundenbruchteile variiert. Führende Nullen werden nicht weggelassen.
  • „A“ – Status: „A“ – Daten sind zuverlässig, „V“ – unzuverlässig.
  • „GGMM.MM“ – Breitengrad. 2 Grad-Stellen („GG“), 2 ganze Minuten-Stellen, ein Punkt und ein Bruchteil von Minuten variabler Länge. Führende Nullen werden nicht weggelassen.
  • „P“ – „N“ für nördliche oder „S“ für südliche Breite.
  • „gggmm.mm“ – Längengrad. 3 Ziffern für Gradzahlen („ggg“), 2 Ziffern für ganze Minuten, ein Punkt und ein Bruchteil von Minuten variabler Länge. Führende Nullen werden nicht weggelassen.
  • „J“ – „E“ für östliche oder „W“ für westliche Länge.
  • „v.v“ ist die horizontale Komponente der Geschwindigkeit relativ zum Boden in Knoten. Gleitkommazahl. Ganzzahlige und gebrochene Teile variabler Länge.
  • „b.b“ – Spurwinkel (Geschwindigkeitsrichtung) in Grad. Gleitkommazahl. Ganzzahlige und gebrochene Teile variabler Länge. Ein Wert von 0 entspricht einer Bewegung nach Norden, 90 nach Osten, 180 nach Süden, 270 nach Westen.
  • „ddmmyy“ – Datum: Tag des Monats, Monat, letzte 2 Ziffern des Jahres (führende Nullen sind erforderlich).
  • „x.x“ ist die magnetische Deklination in Grad (fehlt oft), berechnet mit einem Modell. Gleitkommazahl. Ganzzahlige und gebrochene Teile variabler Länge.
  • „n“ – Richtung der magnetischen Deklination: Um einen magnetischen Kurs zu erhalten, muss die magnetische Deklination „E“ – subtrahiert, „W“ – zum wahren Kurs addiert werden.
  • „m“ – Modusanzeige: „A“ – autonom, „D“ – differenziell, „E“ – Näherung, „N“ – unzuverlässige Daten (oft fehlend, dieses Feld einschließlich des Kommas fehlt in älteren Versionen von NMEA).
  • „hh“ – Prüfsumme.
  • - Byte ist 0x0D.
  • - Byte ist 0x0A.

RMC-String-Beispiele

Beispiel 1

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

Feldwerte:

  • 12 Stunden 55 Minuten 4,049 Sekunden UTC
  • "Ein zuverlässiger
  • Breitengrad 55° 42,2389", nördlich
  • Längengrad 37° 41,6063", östlich
  • Geschwindigkeit 0,06 Knoten

Beschreibung des NMEA-Protokolls. Implementierung in Garmin- und GlobalSat-Empfängern

Einführung

Die National Marine Electronics Association (NMEA) hat ein spezielles Protokoll entwickelt, um die Kompatibilität zwischen Schiffsnavigationsgeräten verschiedener Hersteller aufrechtzuerhalten. Dieses NMEA-Protokoll beschreibt nicht nur von GPS-Empfängern empfangene Daten, sondern auch Messungen von Sonargeräten, Radargeräten, elektronischen Kompassen, Barometern und anderen Navigationsgeräten, die auf Seeschiffen verwendet werden.

Die Datenaustauschschnittstelle der meisten tragbaren GPS-Empfänger ist gemäß dieser Spezifikation implementiert. Die meisten Navigationsprogramme, die eine Echtzeit-Datenanzeige bieten, unterstützen und „verstehen“ das NMEA-Protokoll. Diese Daten beinhalten die kompletten Navigationsmessungen des GPS-Empfängers – Position, Geschwindigkeit und Zeit. Alle NMEA-Nachrichten bestehen aus einem sequentiellen Satz von Daten, die durch Kommas getrennt sind. Jede einzelne Nachricht ist unabhängig von den anderen und vollständig „vollständig“. Eine NMEA-Nachricht enthält einen Header, einen durch ASCII-Zeichen dargestellten Datensatz und ein Prüfsummenfeld zur Überprüfung der Gültigkeit der übertragenen Informationen.

Der Header von Standard-NMEA-Nachrichten besteht aus 5 Zeichen, von denen die ersten beiden den Typ der Nachricht bestimmen und die restlichen drei ihren Namen angeben. Beispielsweise wird allen GPS-NMEA-Nachrichten das Präfix „GP“ vorangestellt. Nachrichten, die nicht in der NMEA-Spezifikation beschrieben sind, aber nach allgemeinen Regeln in GPS-Empfängern implementiert werden, werden mit einem „P“ vorangestellt, gefolgt von drei unternehmensspezifischen Zeichen. Beispielsweise haben Garmins „native“ NMEA-Nachrichten das Präfix „PGRM“, Magellan – „PMGN“.
Jede NMEA-Nachricht beginnt mit „$“, endet mit „n“ („Zeilenvorschub“) und darf nicht länger als 80 Zeichen sein. Alle Daten sind in einer Zeile enthalten und durch Kommas voneinander getrennt. Die Informationen werden in Form von ASCII-Text dargestellt und erfordern keine spezielle Dekodierung. Passen die Daten nicht in die vorgesehenen 80 Zeichen, werden sie in mehrere NMEA-Nachrichten „aufgeteilt“.

Mit diesem Format können Sie die Genauigkeit und Anzahl der Zeichen in einzelnen Datenfeldern nicht einschränken. Beispielsweise kann der Bruchteil des Koordinatenwerts durch 3 oder 4 Dezimalstellen dargestellt werden, dies sollte jedoch keinerlei Auswirkungen auf die Operation haben Software, das die erforderlichen Daten aus der Nachricht anhand der Feldnummer auswählt. Am Ende jeder NMEA-Nachricht befindet sich ein „Prüfsummen“-Feld, das durch ein „*“-Zeichen von den Daten getrennt ist. Bei Bedarf kann damit die Integrität und Gültigkeit jeder empfangenen Nachricht überprüft werden.

Das NMEA-Protokoll unterstützt nicht nur ausgehende, sondern auch eingehende Nachrichten, mit denen Sie beispielsweise Routenwegpunkte aktualisieren oder hinzufügen können. Diese Nachrichten müssen streng nach dem NMEA-Format generiert werden, sonst werden sie vom GPS-Empfänger einfach ignoriert. Es ist zu beachten, dass nicht alle Navigationsprogramme und Empfängermodelle diesen Modus unterstützen, da sie proprietäre Protokolle der Hersteller – Garmin, Magellan usw. – zum Laden von Punkten und Routen verwenden.

Seit seiner Einführung hat das NMEA-Protokoll mehrere Änderungen erfahren, die mit der Hinzufügung neuer Felder und Nachrichten verbunden sind. Die aktuelle Version, die von den meisten Receivern unterstützt wird, ist Version 2.3, eine Beschreibung wurde jedoch bereits veröffentlicht neue Version 3,0. Die vollständige NMEA-Nachrichtenspezifikation ist nicht öffentlich verfügbar und kann nicht offiziell heruntergeladen werden im elektronischen Format, Seine einzelnen Abschnitte, allgemeine Beschreibung Das NMEA-Protokoll und die beliebtesten Nachrichten finden Sie im Internet. Sie können die NMEA-Dokumentation offiziell unter www.nmea.org erwerben.

Liste der Nachrichten

Das NMEA-Protokoll beschreibt eine große Liste unterschiedlicher Nachrichten, aus der zwei Dutzend Nachrichten identifiziert werden können, die aktiv in Navigationsgeräten verwendet werden. Aufgrund der großen Beliebtheit und einfachen Darstellung von Daten hat das NMEA-Protokoll nicht nur in Schiffsgeräten, sondern auch in geodätischen, Haushalts- und Luftfahrt-GPS-Empfängern Anwendung gefunden.

  • AAM – Ankunft am Wegpunkt
  • ALM – Almanachdaten
  • APA – Autopilot-Daten „A“
  • APB – Autopilotdaten „B“
  • BSB – Peilung zum Ziel
  • DTM – Verwendetes Datum
  • GGA – Informationen zur festen Lösung
  • GLL – Breiten- und Längengraddaten
  • GSA – Allgemeine Satelliteninformationen
  • GSV- Genaue Informationüber Satelliten
  • MSK – Übergabe der Kontrolle an den Basisempfänger
  • MSS – Grundlegender Empfängerstatus
  • RMA – Empfohlener Loran-Datensatz
  • RMB – Empfohlener GPS-Navigationsdatensatz
  • RMC – Empfohlener minimaler GPS-Datensatz
  • RTE – Routeninformationen
  • VTG – Bewegungs- und Geschwindigkeitsvektor
  • WCV – Geschwindigkeitsdaten in der Nähe des Wegpunkts
  • WPL – Wegpunktdaten
  • XTC – Off-Track-Fehler
  • XTE – Gemessener Spurfehler
  • ZTG – UTC-Zeit und verbleibende Zeit bis zur Ankunft am Zielort
  • ZDA – Datum und Uhrzeit.

Einige der NMEA-Nachrichten enthalten möglicherweise dieselben Datenfelder oder enthalten vollständig die Daten anderer, kleinerer NMEA-Nachrichten.

InhaltNMEA-Nachrichten

GGA – Informationen zu einer festen Lösung.
Die beliebteste und am häufigsten verwendete NMEA-Nachricht liefert Informationen über die aktuelle feste Lösung – horizontale Koordinaten, Höhenwert, Anzahl der verwendeten Satelliten und Lösungstyp.

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

  • GGA – Kopfzeile
  • 123519 – UTC-Zeit 12:35:19
  • 4807,038, N – Breitengrad, 48 Grad 7,038 Minuten nördlicher Breite
  • 01131.000, E – Längengrad, 11 Grad 31.000 Minuten östlicher Längengrad
  • 1 – Typlösung, StandAlone-Lösung
    • 0 - keine Lösung,
    • 1 – StandAlone,
    • 2 - DGPS,
    • 3 - PPS,
    • 4 - festes RTK,
    • 5 - nicht festes RTK,
    • 6 - Nutzung von Inertialsystemdaten,
    • 7 - manueller Modus,
    • 8 - Simulationsmodus
  • 08 - Anzahl der verwendeten Satelliten
  • 0,9 - geometrischer Faktor, HDOP
  • 545,4, M - Höhe über dem Meeresspiegel in Metern
  • 46,9, M – Höhe des Geoids über dem WGS 84-Ellipsoid
  • [leeres Feld] – seit dem Empfang der letzten DGPS-Korrektur verstrichene Zeit. Wird ausgefüllt, wenn der DGPS-Modus aktiviert ist
  • [leeres Feld] – Identifikationsnummer Basisstation. Wird ausgefüllt, wenn der DGPS-Modus aktiviert ist.

GSA – allgemeine Informationen über Satelliten.
Diese NMEA-Nachricht enthält eine Liste der bei der Positionsberechnung verwendeten Satelliten und die Werte der geometrischen DOPs, die die Genauigkeit der Positionsberechnung bestimmen. DOP-Parameter werden durch die geometrische Anordnung der Satelliten am Himmel bestimmt. Je besser die Satelliten am Himmel „verteilt“ sind, desto geringer ist der DOP und desto besser ist die Positionsgenauigkeit. Der minimale PDOP-Wert (= 1) entspricht einer Situation, in der sich ein Satellit direkt über dem Benutzer befindet und die anderen drei gleichmäßig auf Horizonthöhe verteilt sind. Der PDOP-Wert wird als Quadratwurzel der Summe der Quadrate von HDOP und VDOP berechnet.

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

  • GSA – Kopfzeile
  • A – Art der Wahl zwischen 2D- und 3D-Lösungen, automatisch (A-automatisch, M-manuell)
  • 3 – Art der Lösung, 3D-Lösung (1 – keine Lösung, 2 – 2D-Lösung, 3 – 3D-Lösung)
  • 04.05… – PRN-Codes zur Berechnung von Satellitenpositionen (12 Felder)
  • 2,5 - räumlicher geometrischer Faktor, PDOP
  • 1,3 - horizontaler geometrischer Faktor, HDOP
  • 2.1 - vertikaler geometrischer Faktor, VDOP

GSV - Detaillierte Informationen zu Satelliten
Diese NMEA-Nachricht enthält detaillierte Informationen zu allen vom GPS-Navigator verfolgten Satelliten. Basierend auf der Beschränkung auf 80 Zeichen kann eine NMEA-Nachricht nur Daten für 4 Satelliten übertragen. Dementsprechend benötigen 12 Satelliten 3 GSV-Nachrichten.
Das Feld SNR (Signal to Noise Ration) enthält die Werte der Pegel der von Satelliten empfangenen Navigationssignale. Theoretisch kann sein Wert zwischen 0 und 99 variieren und wird in dB gemessen. Tatsächlich liegt der Signalpegel im Bereich von 25 ... 35 dB. Das ist hier erwähnenswert diesen Parameter nicht absolut und nicht zum Vergleich von Empfängerempfindlichkeiten geeignet verschiedene Modelle und Hersteller. GPS-Navigatoren können unterschiedliche Algorithmen zur Berechnung des Pegels des empfangenen Signals verwenden, was bei gleicher Empfindlichkeit der Empfänger zu unterschiedlichen Ergebnissen führt.
Für jeden sichtbaren GPS-Satelliten wird eine Reihe von Informationen übertragen, darunter Signalstärke, Höhenwinkel und Azimut des Satelliten. Die Anzahl dieser „Sets“ wird durch die Gesamtzahl der sichtbaren Satelliten bestimmt, deren Wert in einem separaten Feld übertragen wird.

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

  • GSV – Header
  • 2 – Anzahl der GSV-Nachrichten im Paket
  • 1 - Nachrichtennummer im Paket (von 1 bis 3)
  • 08 - Anzahl der sichtbaren Satelliten
  • 01 - Satellitennummer
  • 40 - Höhenwinkel in Grad
  • 083 - Azimut in Grad
  • 46 – SNR, Signalstärke

RMC – empfohlener Mindestsatz GPS-Daten
Diese NMEA-Nachricht enthält den gesamten Satz sogenannter „PVT“-Daten. „PVT“ ist eine gebräuchliche Abkürzung für „Position, Geschwindigkeit, Zeit“.

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

  • RMC – Header
  • 123419 – UTC-Zeit, 12:34:59
  • A – Status (A – aktiv, V – ignorieren)
  • 4807.038,N – Breitengrad, 48 Grad 07.038 Minuten nördlich
  • 01131.000,E – Längengrad, 11 Grad 31.000 Minuten östlicher Längengrad
  • 022.4 – Geschwindigkeit, in Knoten
  • 084.4 – Bewegungsrichtung in Grad
  • 230394 – Datum, 23. März 1994
  • 003.1,W – Magnetische Variationen

GLL – Breiten- und Längengraddaten

NMEA-Nachricht mit den Breiten- und Längenkoordinaten sowie dem Zeitpunkt, zu dem diese Lösung berechnet wurde.

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

  • GLL – Header
  • 4916,46,N – Breitengrad, 49 Grad 16,45 Minuten nördlicher Breite
  • 12311,12,W-Längengrad, 123 Grad 11,12 Minuten westlicher Längengrad
  • 225444 – Fixierungszeit im UTC-Zeitmaßstab, 22:54:44

IN OD – Azimut zum Ziel
Diese NMEA-Nachricht gibt die Peilung zu einem Ziel im Navigationsmodus an.

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

  • BSB – Kopfzeile
  • 045.,T – wahre Richtung auf den Punkt
  • 023.,M - magnetische Richtung zu einem Punkt
  • DEST – Endpunkt-Identifikationsnummer
  • START – Startpunkt-Identifikationsnummer

$GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

  • RMB – Kopfzeile
  • A – Datentyp, (A – aktiv, V – ignorieren)
  • 0,66,L - Abweichung von der Spur. Der Parameter wird in Seemeilen definiert. (L – links, R – rechts)
  • 003 – Startpunkt-Identifikationsnummer
  • 004 – Endpunkt-Identifikationsnummer
  • 4917,24,N – Breitengradwert des Endpunkts, 49 Grad 17,24 Minuten nördlicher Breite
  • 12309,57,W – Längengradwert des Endpunkts, 123 Grad 09,57 Minuten westlicher Länge
  • 001,3 – Entfernung zum Punkt, in Seemeilen
  • 052.5 - Richtung zum Punkt
  • 000,5 – Geschwindigkeit in Knoten
  • V – Ankunftsinformationen (A – Ankunft, V – Punkt noch nicht erreicht)

RTE – Routeninformationen

Die NMEA RTE-Nachricht zeigt eine Liste von Wegpunkten auf der aktiven Route an. Es gibt zwei Arten von RTE-Nachrichten. Im ersten Fall werden alle Routenpunkte angezeigt. Im zweiten gibt es lediglich eine Liste der verbleibenden Punkte, die während der Fortbewegung entlang der Route noch besucht werden müssen. Da das NMEA-Protokoll eine Einschränkung hat, wonach die Nachrichtenlänge 80 Zeichen nicht überschreiten sollte, kann eine RTE-Nachricht aus mehreren Zeilen bestehen.

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

  • RTE – Header
  • 2 – Gesamtzahl der Nachrichten zur Anzeige der vollständigen Datenliste
  • 1 - Nachrichtennummer aus der allgemeinen Liste
  • с – Art der RTE-Nachricht (с – volle Liste Wegpunkte, w – Liste der Punkte, die noch besucht werden müssen)
  • 0 – Routenkennung
  • W3IWI,DRIVWY,.. – Liste der Wegpunkte

Garmin-Funktionen

Garmin-Empfänger unterstützen die meisten NMEA-Nachrichten mit GPS-Messungen, Positionen und Zeit – GGA, GLL, GSA, GSV, RMC. Sowie Navigationsnachrichten - RMB, BOD

Um diese Meldungen anzuzeigen, müssen Sie in den Empfängereinstellungen die Schnittstelle von „Garmin“ auf „NMEA“ ändern und ggf. einstellen gewünschte Geschwindigkeit. Die gleiche Geschwindigkeit muss im Navigationsprogramm in den Einstellungen der seriellen Schnittstelle eingestellt werden, an die das Navigator angeschlossen ist.

Leider sind Receiver mit USB-Anschluss unterstützt das NMEA-Protokoll nicht und beschränkt seine Einstellungen nur auf das Garmin-Protokoll

Um Informationen anzuzeigen, die über die serielle Schnittstelle des Computers eingegeben werden, können Sie das Terminal verwenden Windows-Programm oder eines der Navigationsprogramme, das diese Funktion unterstützt.

Nachfolgend finden Sie eine Liste der NMEA-Meldungen des Garmin eMap-Empfängers, die in einer Epoche enthalten sind.

$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

Zusätzlich zu den Standard-NMEA-Nachrichten implementieren Garmin-Empfänger ihre eigenen Nachrichtensätze, die jeweils ein „GRM“-Präfix im Header, eine „M“- oder „Z“-Kennung zur Identifizierung des Datentyps und ein Zeichen für den Namen enthalten.

PGRME – Positionierungsfehlerschätzung

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

  • 15,0,M – Bewertung des horizontalen Positionierungsfehlers in Metern
  • 45,0,M – geschätzter vertikaler Fehler in Metern
  • 25,0,M – äquivalenter sphärischer Positionierungsfehler

PGRMZ - Höhenmessungen

$PGRMZ,93,f,3*21

  • 93,f – Höhenwert in Pfund
  • 3 – Positionsmessbedingungen (2 – benutzerdefinierte Höhe, 3 – GPS-berechnete Höhe)

PGRMM – aktuelles Datum

$PGRMM,NAD27 Kanada*2F

  • NAD27 Kanada – Name des aktuellen horizontalen Datums

BesonderheitenSirf

GPS-Chips von Sirf werden in verschiedenen Bereichen eingesetzt Navigations-GPS von herkömmlichen Leiterplatten bis hin zu tragbaren Geräten und Automobilgeräten GPS-Navigatoren. Aber im Gegensatz zu Navigatoren unterstützen sie nur NMEA-Nachrichten im Zusammenhang mit GPS-Messungen, Positions- und Zeitberechnungen – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

„Sirf“ unterstützt auch mehrere „eingehende“ NMEA-Nachrichten, die zur Konfiguration und Anpassung verschiedener Parameter dienen. Darüber hinaus implementiert Sirf ein eigenes Binärprotokoll, mit dem Sie deutlich mehr Einstellungen ändern können. Diese 5 „eingehenden“ NMEA-Nachrichten beginnen den Regeln zufolge mit dem Präfix $PSFR. Alle Nachrichten enthalten einen festen Datensatz und enden mit dem Zeichen „n“ (Zeilenvorschub).

Um die Sirf-Parameter zu konfigurieren, verwenden Sie Sonderprogramm SirfTech. NMEA-Nachrichtenparameter werden in einem separaten Menüpunkt konfiguriert.

$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

Wie Sie dem obigen Beispiel entnehmen können, enthalten die Werkseinstellungen im Vergleich zu den Garmin-Einstellungen weniger NMEA-Meldungen. Bei Bedarf kann dieser Satz durch die Angabe des Zeitraums in den fehlenden NMEA-Nachrichten erweitert werden.

$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 – Konfiguration der seriellen Schnittstelle

Mit der NMEA-Nachrichtennummer 100 wird Port A eingestellt, mit Nachricht 102 Port B. Nachricht 100 verfügt über ein zusätzliches Feld, mit dem Sie die Schnittstelle auf das binäre Sirf-Protokoll umstellen können.

Dementsprechend gibt es im Binärprotokoll einen Befehl, der den Port wieder auf das NMEA-Format umschaltet. Bevor Sie zum Binärprotokoll wechseln, müssen Sie wissen, ob es ein Programm gibt, mit dem Sie das NMEA-Protokoll in Zukunft wiederherstellen können.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

  • PSRF100 – Kopfzeile
  • 0 – Parameter, der angibt, in welchem ​​Modus das Protokoll geändert wurde (0-Sirf, 1-NMEA)
  • 9600 – Portgeschwindigkeit (4800, 9600, 19200, 38400)
  • 8 - Datenbits (7, 8)
  • 1 - Stoppbits (0,1)
  • 0 – Paarung (0 – keine, 1 – ungerade, 2 – gerade)

PSFR101, PSFR104 – Initialisierung der Empfängerparameter

NMEA-Nachrichten mit den Nummern 101 und 104 dienen der Initialisierung von Parametern für den GPS-Empfang. Durch die Bestimmung dieser Parameter kann die Erfassungszeit von GPS-Satelliten beschleunigt werden. Nachricht 101 legt die aktuellen Koordinaten im XYZ-Format fest, Nachricht 104 - im BLH-Format (Längengrad, Breitengrad).

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

$PSRF104.37.3875111.-121.97232.0.95000.237759.922.12.3*3A

  • PSRF101 – Kopfzeile
  • 37,3875111 - Breitengrad in Grad
  • -121,97232 - Längengrad in Grad
  • 0 – Höhe in Metern
  • 95000 - Taktverschiebung
  • 237759 – GPS-Zeit in Sekunden
  • 922 – GPS-Wochennummer
  • 12 - Anzahl der Kanäle
  • 3 – Art der Dateninitialisierung (1 – Heißstart, 2 – Warmstart, 3 – Dateninitialisierung, 4 – Kaltstart mit Komplettreinigung Daten, 8 - Kaltstart mit Wiederherstellung der Werkseinstellungen)

PSFR103 – Generierungskonfiguration NMEA-Nachrichten

Mit dieser NMEA-Nachricht können Sie den Generierungszeitraum jeder „ausgehenden“ NMEA-Nachricht festlegen oder abfragen.

$PSRF103.05.00.01.01*20

  • PSRF103 – Header
  • 05 – Nachrichtentitel
    • 00 - GGA
    • 01 - GLL
    • 02 - GSA
    • 04 - RMS
    • 05 - VTG
  • 00 – Modus (0 – Periodeneinstellung, 1 – Anfrage)
  • 01 – Zeitraum, in Sekunden (0-255)
  • 01 – Vorhandensein einer Prüfsumme (0 – ja, 1 – nein)

Versuchsergebnisse

Unter Bedingungen normaler Satellitensicht erzeugt der Garmin eMap-Empfänger die folgenden NMEA-Meldungen:

$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

Aus der Analyse der Nachrichten geht hervor, dass der Empfänger derzeit 10 (GSV) Satelliten verfolgt, von denen 7 (GGA) für die Positionsberechnung verwendet werden. Der horizontale Positionierungsfehler beträgt 6 Meter (RME) und der Lösungstypindikator beträgt 1 (GGA).

Wenn Sie Bedingungen erstellen, unter denen das GPS-Signal nicht empfangen wird, enthalten die GGA-Nachrichten „leere“ Felder und der Entscheidungstypindikator nimmt den Wert 0 (GGA) an.

$GPGGA 0 ,00,M,M,*66

$GPGSA,A,1,,*1E

Im „normalen“ Modus enthalten RMB- und BOD-Nachrichten leere Felder. Sobald der Wegpunkt „Straße“ als endgültiges Ziel ausgewählt wurde, wurden diese Felder mit Daten gefüllt. Wie aus der Analyse der Nachricht hervorgeht, beträgt die Entfernung zum Punkt 1.620 Meilen, der Azimut der Bewegung beträgt 6,3 Grad (BOD). Gleichzeitig unterscheidet sich der Azimut der BOD- und RMB-Nachrichten um 0,1 Grad.

$GPRMB,A,0.00,R,Straße ,5524.501,N,03710.445,E, 1.620 ,6.4 ,V,A*59

$GPBOD 6.3 ,T,357.0,M,Straße,*74

Sobald die Heimatroute für die Navigation ausgewählt wurde, zeigt die RTE-Nachrichtenliste eine Liste aller Wegpunkte auf der Route an. Und in der RMB-Nachricht - Identifikationsnummern der Start- und Endpunkte (nächsten) der Route.

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

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

Abschluss

In den meisten Fällen ist es für den Nutzer weder erforderlich noch daran interessiert, zu wissen, welche Daten in welchen Feldern übermittelt werden. Die meisten Navigationsprogramme „analysieren“ NMEA-Nachrichtendaten und präsentieren sie in einer benutzerfreundlichen Form – Grafiken, Diagramme, Tabellen usw.

Von besonderem Interesse sind NMEA-Nachrichten für Benutzer, die GPS-Daten recherchieren, Schätzungen erfasster Messungen berechnen oder das Verhalten von Navigationsempfängern unter verschiedenen Bedingungen analysieren möchten. Es gibt eine Reihe von Programmen, mit denen diese Probleme gelöst werden können.

N Das NMEA-Format ist jedoch nicht für eine detaillierte Analyse von GPS-Daten gedacht, da es keine sogenannten „Rohmessungen“ enthält – Pseudoentfernungen, Phasen, Doppler. Jeder Hersteller von Navigationsgeräten verfügt über ein eigenes „offenes“ oder „geschlossenes“ Protokoll, das diese Informationen anzeigt

NMEA ist ein einfaches und verständliches Format, das nicht nur den Datenaustausch zwischen GPS-Empfängern und Navigationsprogrammen ermöglicht, sondern den Benutzern auch ein gewisses Verständnis für die Funktionsweise von Satellitennavigationsgeräten vermittelt

NMEA 0183– Textkommunikationsprotokoll, das in GPS-Empfangsmodulen verwendet wird. Dieser Standard wurde für die Kommunikation von Schiffsnavigationsgeräten erstellt. Das Protokoll sieht die Übertragung von Textbefehlen und Nachrichten mithilfe von ASCII-Zeichen vor. Um Nachrichten zu empfangen, reicht es also aus, die serielle UART-Schnittstelle zu verwenden, während alle Nachrichten über den COM-Port direkt an den Computer übertragen werden können, wobei die Notwendigkeit der Signalpegelumwandlung nicht zu vergessen ist.

Das GPS-Modul überträgt Nachrichten unterschiedlicher Formate mit unterschiedlichen Datensätzen: Breiten- und Längengrad, Geschwindigkeit, Kurs, Zeit, Anzahl der Satelliten usw. Nachrichten werden nacheinander übertragen und sind in mehrere Typen unterteilt; das Format jedes Nachrichtentyps enthält streng definierte Informationen in seinen Feldern. Lass uns genauer hinschauen allgemeine Struktur Meldungen des GPS-Moduls.

$ - Jede Nachricht beginnt mit diesem Symbol

Darauf folgt die Kennung 5 Textzeichen. Die ersten beiden Buchstaben geben den Typ des Navigationssystems an, z.B. „GP“ – GPS oder " GL" - Glonass usw. Die nächsten 3 Zeichen sind die Kennung des Nachrichtenformats, die den Inhalt der nachfolgend übertragenen Daten vollständig bestimmt. Zum Beispiel „RMC“- Dies sind die empfohlenen Mindestdaten, die Informationen zu Uhrzeit und Datum, Breiten- und Längengrad, Geschwindigkeit, Kurs und magnetischer Abweichung in Grad enthalten (möglicherweise fehlen sie). Oder „GSA“ Hier werden Satellitendaten übertragen. Die Struktur der wichtigsten Nachrichtentypen wird im Folgenden erläutert.

Dann folgt «,» - ein Komma, auf das unmittelbar der Nachrichtentext mit verschiedenen Daten folgt, die durch dasselbe Komma voneinander getrennt sind. Wenn die übertragene Zahl keine ganze Zahl ist, ist das Trennzeichen zwischen der ganzen Zahl und dem Bruchteil ein Punkt «.» .

Das Ende des Nachrichtentextes wird durch das Symbol angezeigt «*» . Was folgt, ist die Prüfsumme aller zwischen „$“ und „*“ enthaltenen Zeichen, also der gesamte Nachrichtentext, einschließlich der Daten selbst und der Bezeichner am Anfang der Nachricht. Die Prüfsumme wird als XOR (exklusives ODER) aller hexadezimalen ASCII-Codes der Nachrichtenzeichen berechnet.

Und ganz am Ende jeder Nachricht müssen Zeilenumbrüche stehen

Betrachten wir den Zweck und die Struktur verschiedene Arten Mitteilungen.

R.M.C.– empfohlene Mindestnavigationsdaten. Die Nachricht enthält die minimal erforderliche Menge an Informationen. Zu diesen Daten gehören Breiten- und Längengrad, Datum und Uhrzeit sowie Geschwindigkeit. Für viele Aufgaben wird beispielsweise im Modul nicht mehr benötigt Quectel L50 Ich habe die Übertragung aller anderen Arten von Nachrichten deaktiviert, da ich absolut keine Informationen über Satelliten und den Pegel ihrer Signale benötige. Und um unnötige Informationen zu erhalten, muss das Programm zur Verarbeitung dieser Daten komplizierter werden. Der Aufbau der Nachricht ist wie folgt:

$GPRMC hhmmss.sss,A,ttmm.mmmm,N,TTMM. mmmm , E,v.v.C. C, DD / MM / JJJJ,x.x,n,M*hh

Diese Nachricht enthält die folgenden Informationen:

  • GPRMC– GPS-Satellitensystem, RMC-Nachrichtenkennung
  • hhmmss.sss– Zeit (Greenwich Mean Time), wobei hh – Stunden, mm – Minuten, ss.sss – Sekunden
  • A– die Daten zuverlässig sind oder V– Die Daten sind unzuverlässig. Symbol A Es erfolgt die Meldung, dass die zur Berechnung der Standortdaten notwendigen Signale der Satelliten zuverlässig empfangen werden. Symbol V tritt auf, wenn der Empfänger die Satelliten nicht erkennt oder wenn die Anzahl der gefundenen Satelliten nicht ausreicht, um die Koordinaten sicher zu berechnen. Wenn Sie beispielsweise das GPS-Modul irgendwo in einem Plattenhaus und nicht in der Nähe der Fenster einschalten, werden Sie höchstwahrscheinlich das Symbol sehen V in der empfangenen Nachricht.
  • ttmm.mmmm– Breitengrad, Grad und Minuten
  • N oder S- Norden oder Süden. Die Hemisphäre, in der Sie sich befinden. Wenn Sie in Australien sind, wird es angezeigt S. In Jekaterinburg gibt mein GPS-Modul nach N.
  • ttmm.mmmm– Längengrad, Grad und Minuten
  • E oder W– westliche oder östliche Hemisphäre
  • v.v– Geschwindigkeit in Knoten
  • C. C– Kurs über dem Boden in Grad. Bei einer Bewegung genau nach Norden beträgt der Wert 0 Grad.
  • DD / MM / JJJJ- Datum
  • x.x– magnetische Deklination
  • N– Richtung der magnetischen Deklination. Zu diesen letzten beiden Parametern kann ich nichts erklären. Zum Beispiel mein Modul GPS Quectel L50 Beim Empfang in der Wohnung wurden diese Daten überhaupt nicht am Fenster angezeigt, sondern einfach übersprungen.
  • M– Navigationsmodus: N– ungenaue Daten, A– autonom, D– Differenzial

Hier ist ein Beispiel für eine RMC-Nachricht:

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

  • mittlere Greenwich-Zeit 10h 59m 54s
  • A– Die Daten sind zuverlässig
  • Breite 31 Grad und 50,6371 Minuten
  • N– nördlich
  • Längengrad 117 Grad 11,9399 Minuten
  • E– östlich
  • Geschwindigkeit 0,00 Knoten
  • Also 96,1 Grad
  • Datum 25. März 2013
  • Daten über magnetische Deklination keiner
  • Modus - autonom
  • Prüfsumme der Nachrichtenzeichen 0×053

Ein Punkt muss hier beachtet werden. Breiten- und Längengraddaten enthalten einen Bruchteil von Minuten, der überhaupt nicht der Anzahl der „Sekunden“ entspricht, da es sich um einen Dezimalbruch handelt. Die GPS-Programme, die ich ausprobiert habe, zeigen die Koordinaten auf der Karte genau an. Aber wenn Sie diese Zahlen in die Zeile eingeben Google-Suche Karten, dann ist der Standort auf der Karte mehrere Kilometer vom tatsächlichen Standort entfernt. Wenn Sie in diesem Fall die erhaltenen Koordinaten eingeben, müssen Sie den Bruchteil der Breiten- und Längengrade durch 60 dividieren, um diese Zahlen in „Sekunden“ umzuwandeln. Als ich das Quectel L50-Modul zum ersten Mal anschloss und die erhaltenen Breiten- und Längenkoordinaten in die Suchleiste von Google Maps eingab, erhielt ich auf der Karte eine Position mit einem erheblichen Fehler; die Karte zeigte einen Ort irgendwo im Uralmasch-Gebiet an.

Hier sind einige andere Nachrichtentypen, die in diesem Protokoll verwendet werden:

  • VTG- wahre Kursrichtung und Geschwindigkeit über Grund
  • GGA- letzte Standortdaten
  • G.S.A.- Daten zu aktiven Satelliten
  • GSV- Daten zu sichtbaren Satelliten, deren Position und Anzahl sowie Signalstärke
  • GLL- Breiten-, Längen- und Zeitdaten
  • ZDA- Informationen zu Uhrzeit und Datum

Ich habe nicht näher darauf eingegangen, woraus jede Nachricht besteht; am Ende des Artikels finden Sie einen Link zu einem Dokument, das das Protokoll beschreibt. Spezifischer Typ GPS-Modul Möglicherweise werden nicht alle aufgeführten Daten übermittelt. Sie können die Übertragung verschiedener Arten von Daten deaktivieren oder aktivieren sowie den Zeitraum für deren Übermittlung festlegen. Zur Konfiguration des Moduls gibt es Spezialteams, die mit einem Bezeichner beginnen $PSRFxxx, Wo xxx Gibt den Typ und das Format des Befehls an, genau wie bei ausgehenden Nachrichten.

Zum Beispiel der Befehl $PSRF100.0.9600.8.1.0*0C legt das Kommunikationsprotokoll fest und konfiguriert die Parameter der seriellen Schnittstelle.

  • $PSRF100 – Befehls-ID des nativen SIRF-Protokolls
  • 0 – binäres SIRF-Protokoll, 1 – NMEA-Protokoll
  • 9600 – Bit/s-Geschwindigkeit
  • 8 Datenbit
  • 1 Stoppbit
  • 0 – Paritätsprüfung deaktiviert

Team $PSRF103.00.00.02.01*26 konfiguriert Ausgabeparameter für verschiedene Arten von Modulnachrichten:

  • $PSRF103– Befehls-ID des nativen SIRF-Protokolls
  • dann gibt es nach dem Dezimalpunkt zwei Ziffern, die den Typ der benutzerdefinierten Nachricht bestimmen: 00 – GGA
    01 - GLL
    02 - GSA
    03 - GSV
    04 - RMC
    05 - VTG
  • Die nächsten beiden Ziffern konfigurieren die Reihenfolge, in der Nachrichten ausgegeben werden, zum Beispiel: 00 – periodisch
    01 - auf Anfrage
  • Die folgenden Zahlen legen den Nachrichtenzeitraum in Sekunden fest: 00 = Aus (Nachrichten sind deaktiviert)
    1-255 – Intervall zwischen Nachrichten dieser Art in Sekunden
  • dann wird die Prüfsummenübertragung in der vom Modul gesendeten NMEA-Nachricht aktiviert/deaktiviert: 00 – Prüfsummenübertragung ist deaktiviert
    01 – Prüfsumme wird übertragen
  • Nach dem „*“-Zeichen werden, wie in der ausgehenden NMEA-Nachricht, eine Prüfsumme und Zeilenvorschubzeichen übertragen.

Das ist alles, was ich kurz über das NMEA 0183-Protokoll und die Modulsteuerbefehle auf dem SIRF-Chipsatz darlegen wollte. Eine detailliertere Dekodierung all dieser Nachrichten und Befehle finden Sie beispielsweise in der Beschreibung des Quectel L50-Modulprotokolls, die über den untenstehenden Link heruntergeladen werden kann.



 


Lesen:



Warum braucht ein Laptop eine kleine SSD und lohnt es sich, Windows darauf zu installieren?

Warum braucht ein Laptop eine kleine SSD und lohnt es sich, Windows darauf zu installieren?

Wie wichtig ein SSD-Laufwerk für Spiele ist, welche Auswirkungen es hat und welchen Nutzen diese Technologie hat – das besprechen wir in unserem Artikel. Fester Zustand...

Reparieren eines Flash-Laufwerks mit Programmen So reparieren Sie einen USB-Anschluss an einem Laptop

Reparieren eines Flash-Laufwerks mit Programmen So reparieren Sie einen USB-Anschluss an einem Laptop

Wie repariert man einen USB-Anschluss? Antwort des Technikers: Bei der Nutzung eines Computers fallen häufig USB-Anschlüsse aus. Erstens scheitern sie...

Die Festplattenstruktur ist beschädigt; Lesen ist nicht möglich, was soll ich tun?

Die Festplattenstruktur ist beschädigt; Lesen ist nicht möglich, was soll ich tun?

Auf den PCs der Benutzer werden oft wichtige Informationen gespeichert – Dokumente, Fotos, Videos, aber das Sichern von Daten ist in der Regel...

Woraus besteht ein Computer?

Woraus besteht ein Computer?

Veröffentlicht: 14.01.2017 Grüße, Freunde, heute werden wir uns ausführlich mit dem Design der Computersystemeinheit befassen. Finden wir heraus, was...

Feed-Bild RSS