Mit dem NEO-6M-GPS-Empfänger-Modul die geografische Position ermitteln
Zusammen mit dem SIM800L GSM/GPRS Modul (hier mein Artikel dazu) habe ich damals auch ein GPS-Empfangsmodul von uBlox, das Neo-6M gekauft, als ich mehr zufälligerweise bei einem chinesischen Versender darüber stolperte. Es war nicht teuer, das Thema sehr interessant, also habe ich es damals mitbestellt.Momentan (Mai 2023) werden auf AliExpress viele Module angeboten, die sich zwar "NEO-6M" nennen, aber auf dessen Bildern das u-blox-Logo entfernt wurde. Ich nehme darum an, dass es sich hier um Remakes handelt, die dann eventuell nicht 100% kompatibel sind. Außerdem dürfte damit die Nutzung der u-center-Software (siehe weiter unten hier im Artikel) urheberrechtlich bedenklich sein. Ich empfehle darauf zu achten, ein Modul mit u-blox-Logo zu kaufen, wenn zu kriegen. Die sind unter Umständen ein paar Euro teurer.
Als Geocacher bin ich GPS-mäßig natürlich etwas vorbelastet und kenne mich mit Geo-Koordinaten und GPS-Empfängern recht gut aus. Für meine Geocaching-Touren benutze ich aber ein Oregon 600 von Garmin. Das ist ein Outdoor-GPS-Empfänger für Wanderer, Bergsteiger usw., gleich mit integriertem Display und Karten. Aber das kostet auch so einiges. Dafür ist es wetterfest, kompakt und stromsparend.
So ein eher günstiges, programmierbares (bzw. per Mikrocontroller abfragbares) Modul kann bestimmt auch beim Geocaching sehr nützlich sein.
Kurz-Einführung GPS-Technik
Eine ganz kurze Einführung in die Technik der Positionsbestimmung mittels GPS für diejenigen, die nicht viel damit anfangen können:GPS steht für Global Positioning System und ist eines der Systeme, mit denen man Signale von den um die Erdkugel schwirrenden speziellen Satelliten auffangen unter auswerten kann. Dabei senden die Satelliten außer ihrer eigenen Position auch einen hochgenauen Zeitstempel mit. Dafür haben sie extra Atomuhren an Bord.
Hat man jetzt 3 oder mehr Satellitendaten empfangen kann man aufgrund der Laufzeit und den empfangenden Satellitenpositionsdaten die eigene Position auf der Erde ermitteln (sogenannter 2D-Fix, Stichwort Triangulation). Ab 4 empfangenen Satelliten sogar samt der Höhe über Normalnull (sogenannter 3D-Fix).
Das GPS stammt von den USA und war anfangs nur für militärische Zwecke vorgesehen, wurde im Mai 2000 aber für die zivile Nutzung mit einer brauchbaren Genauigkeit freigegeben. Das war dann auch die Geburtsstunde des Geocachings.
Außer GPS gibt es noch das russische GLONASS, das chinesische Beidou und das europäische Galileo. Auch Indien will sein eigenes Süppchen kochen und baut derzeit NAVIC auf, das allerdings wird nicht weltumspannend wie die anderen Systeme sein, sondern nur regional.
Mögliche Anwendungsfälle
Reverse Cachebox
Als Geocacher kam mir zuerst eine eigene Reverse Cachebox (auch "Reverse Geocache Puzzle Box" genannt) in den Sinn. Das ist eine Blackbox, die einem lediglich auf einem Display anzeigt, wie weit es zu dem in der Box gespeicherten Zielkoordinaten ist. Bei jedem Knopfdruck wird die Entfernung aktualisiert.Man läuft als Sucher also erst einmal in eine zufällige Richtung, um zu sehen, ob die Entfernung zum Ziel ab- oder zunimmt. Nimmt sie zu, läuft man in die andere Richtung. So bekommt man durch Versuchen die Richtung heraus und irgendwann kommt man dann auch beim Ziel heraus. Wegen Hindernissen vielleicht auch nur auf einem Zick-Zack-Kurs. Dieses Rate- und Wanderspiel kann sehr viel Spaß machen.
An den Zielkoordinaten kann man sich dann in ein Logbuch eintragen oder empfängt ein WLAN, in diesem Intranet man dann einen Gästebucheintrag via Webbrowser hinterlassen kann. Danach legt man die Box, auf dessen Rückseite sich natürlich die Spielregeln befinden wieder irgendwo halbwegs wetterfest aus, für den nächsten Spieler.
Für den eigentlichen Besitzer wäre es natürlich gut, wenn die Box hin und wieder seine aktuellen Koordinaten funken würde, damit bei niedrigerem Batteriestand diese gewechselt werden können. Das kann man über LoraWAN oder SMS über Mobilfunk.
Leider haben sich die Zeiten allerdings geändert und es mit der Ehrlichkeit der Menschen nicht mehr so weit her. Das habe ich schon mitbekommen, weil meine Travel Bugs (siehe Geocaching Lexikon der Fachbegriffe) immer schneller verschwanden, sprich gestohlen wurden. Früher konnte man sich vielleicht noch auf die Ehrlichkeit und dem Respekt gegenüber fremden Eigentum verlassen, aber heute möchte ich das Risiko nicht eingeben, da in so einer Box ja auch viel Arbeit und Geld steckt.
Aber für ein Team-Building-Event auf einem Firmen-Event, wo die Box zum Buffet in einer halben Stunde Suchen führt ist das sicher der Gag. Und die Box kann dabei ja auch nicht so leicht weg kommen.
Positionsüberwachung
Dem GPS-Modul kann man noch ein Modul zur Funkübertragung zur Seite stellen, je nachdem, wie weit sich die Schaltung entfernt wählt man ein Funk via 433 Mhz, WLAN, LoraWAN oder Mobilfunk-SMS.Damit kann man dann die Geo-Koordinaten der Schaltung in gewüsnchten Zeitintervallen nach Hause funken und aufzeichnen, um sich die Route später auf Google Earth oder Maps oder OSM anzuschauen. Dabei bitte die Gesetze beachten und nicht irgendwelche Leute stalken. Aber vielleicht interessant euch ja, wo euer Kater sich nachts herumtreibt. Oder euer Hund büchst manchmal aus und ihr wollt dann wissen, wo ihr ihn wiederfindet?
Auch als Diebstahlschutz für euren fahrbaren Untersatz taugt das sicher. Wenn die Schaltung schön klein und versteckt ist, dann dürfte sie nach einem Klau irgendwo in ein Diebeslager führen, wo sich dann auch noch mehr beispielsweise geklaute Fahrräder herumtummeln. Vielleicht kann euch dann die Polizei helfen, wieder an euer Fahrrad zu kommen (ich würde da ja nichts eigenmächtiges in Sachen Wiederbeschaffung versuchen).
Routenaufzeichnung
Aber vielleicht braucht ihr ja auch gar keine Echtzeitüberwachung, sondern wollt nur die Route von euren Fahrradtouren aufzeichnen?Dann ist es sicher nicht schwer, dem GPS-Modul noch ein Micro SD-Kartenleser zur Seite zu stellen und alle paar Sekunden die empfangenen Koordinaten wegzuschreiben.
Den Track kann man sich dann wieder auf einer Karte anschauen, die Durchschnittsgeschwindigkeit ausrechnen, die absolvierten Höhenmeter, die Ruhepausen und so weiter und so fort.
Geschwindkeitsmessung
Natürlich lässt sich auch die Zeitspanne zwischen zwei Aufzeichnungspunkten von Zeit und Koordinate ausrechnen und damit die Geschwindigkeit, mit der sich die Schaltung fortbewegt. Oder anders ausgedrückt: damit läßt sich ein digitales Tachometer realisieren, dass vielleicht noch die Himmelsrichtung anzeigt, in die man fährt und warnt, wenn man schneller als 50 km/h fährt. Oder die Geschwindigkeitensbereiche mittels Farben anzeigt, so dass man sofort mitbekommt, wenn man zu schnell fährt, ohne erst groß nachzuschauen, wo denn nun genau die Tachonadel steht.Die Bussgelder bei Geschwindigkeitsüberschreitungen werden auch immer happiger und ich persönlich fahre nie absichtlich, sondern höchstens aus Versehen geringfügig zu schnell. Aber angesichts leerer Gemeindekassen sieht man hier wohl eine willkommene Einnahmequelle in vielen Gemeinden. Eine Falle, in die ich mit sowas weniger oft tappen würde.
Außerdem fand ich die digitalen Tachos schon immer cooler als die analogen mit Nadel. Und solange das originale Tachometer noch einwandfrei funktioniert, dürfte ein zweites, zusätzliches nicht verboten sein, aber nagelt mich da nicht fest. Gesetze und Verordnungen sind manchmal komisch.
Technische Daten und Features des Neo-6M
Das alles und mehr geht mit dem Neo-6M GPS-Modul.
Das Neo-6M ist nicht das neueste Modul von uBlox, die sind mittlerweile bei Generation 10. Allerdings ist das Neo-6M günstig samt Trägerplatine auf allen möglichen Plattformen zu kriegen. Und es ist ausreichend für unsere Zwecke.
Das uBlox Neo-6M-Modul, also der Teil auf der Platine unter dem kleinen Blechgehäuse läuft mit einer Versorgungsspannung von 2.7 bis 3.6 Volt. Und das Modul bietet, erkennbar an TX und RX eine serielle Schnittstelle. Damit können wir es mit einem FTDI-Adapter an den PC oder auch an einen Raspberry Pi anschließen. Siehe dazu auch mein Artikel Den Raspi mit 3.5 Zoll RPi Display TFT Touchscreen als Serial Monitor verwenden.
Damit hätte wir die allerwichtigsten Eigenschaften auch schon umrissen. Weitere Features sind:
- GPS Empfang auf 1.57542 GHz - kein GLONASS oder andere Satellitennetzwerke
- Versorgungsspannung 2.7V...3.6V (ein anderes Datenblatt sagt bis 5V für NEO-6M-C)
- UART (auf der Platine herausgeführt), Standard Baudrate 9600 bps, TTL level kompatibel zu 3V und 5V Systemen
- USB (nicht auf der Platine herausgeführt)
- SPI (nicht auf der Platine herausgeführt)
- DDC (Display Data Channel) I2C compliant (nicht auf der Platine herausgeführt)
- Echtzeituhr
- externer Antennenanschluss
- 50 GPS-Kanäle
- unterstützt Standortkorrekturprotokolle WAAS, EGNOS und MSAS
- benötigt ca. 27 s für einen Kaltstart bis zum ersten GPS-Fix und nur eine Sekunde für einen Warmstart
- Empfindlichkeit von -161 dBm für Navigation, -160 dBm für Neupositionierung, -147 dBm für Kaltstart und -156 dBm für Warmstart
- max. 5 Aktualisierungen pro Sekunde
- Positionierungsgenauigkeit bis zu ca. 2.5 m, mit SBAS 2.0 m
- unterstützt NMEA und UBX (u-blox proprietär) Protokoll
Ich habe mich für eine Keramikantenne als externe Antenne speziell für den GPS-Empfang entschieden, natürlich mit dem passenden Anschluss. Den muss ich dann nur noch in den Antennenanschluss auf dem GPS-Modul drücken. Oft wird eine Antenne auch mitgeliefert. Das wird dann günstiger.
Verkabelung
Der FTDI-Adapter und das GPS-Modul werden wie folgt miteinander verkabelt:FTDI-Adapter GPS-Modul Kabelfarbe Bedeutung
VCC VCC rot 3.3V
GND GND schwarz Ground
RX TX grün ser. Kommunikation
TX RX gelb ser. Kommunikation
Danach können wir den FTDI-Adapter mit dem USB-Port des PCs verbinden und dieser sollte uns dann einen neuen COM-Port melden.
Erster Test mit dem PC
Softwareseitig brauchen wir noch ein Terminalprogramm. Das kann so etwas rudimentäres wie PuTTY sein, oder ein Terminalprogramm wie etwa Tera Term oder HTerm, je nachdem, was einem eher gefällt.Im Terminalprogramm stellen wir den COM-Port ein, den uns der FTDI-Adapter bescherrt und die Default-Übertragungsrate des GPS-Moduls von 9600 bps. Damit können wir später noch hochgehen, wenn wir sicher sind, dass alles klappt. Die Kommunikationsparameter sind die üblichen: 8-N-1.
Wenn alles richtig verkabelt ist, dann sollte jetzt sekündlich eine Nachricht vom GPS-Modul angezeigt werden, die in etwa so aussieht:
$GPRMC,110926.00,V,,,,,,,230523,,,N*75
$GPVTG,,,,,,,,,N*30
$GPGGA,110926.00,,,,,0,00,99.99,,,,,,*6B
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,02,,,27,27,,,34*7E
$GPGLL,,,,,110926.00,V,N*47
Der NEO-6M beherrscht NMEA 0183 in Version 2.3 (kompatibel zu V3.0).
Das NMEA-0183 Format
Solange allerdings die kleine blaue LED auf dem GPS Modul nicht blinkt, haben wir noch keinen GPS-Fix, das heißt, wir empfangen noch nicht genügend Satelliten, nämlich mindestens drei, um einen 2D-Fix (also ungefähre Position ohne Höhe) zu haben oder anders ausgedrückt: die eigenen Geo-Koordinaten können vom Neo-6M noch nicht berechnet werden mit diesen Daten.Falls wir einen Fix haben, dann blinkt die kleine blaue LED. Wir müssen also nicht ständig auf die Ausgabe im Terminalfenster schauen, sondern erst, wenn die LED blinkt. Für besseren Empfang brauchen wir möglichst freie Sicht auf den Himmel. Bäume, Gebäude, Wolken, das alles ist störend. Den besten Empfang hat man mitten auf der Wiese an einem wolkenlosen Sommertag.
Bevor wir einen Fix haben können wir uns die Auswertung der Daten sparen. Obwohl, wenigstens die Zeit kommt schon in der $GPRMC-Zeile mit:
$GPRMC,110926.00,V,,,,,,,230523,,,N*75
hhmmss MMDDYY
Selbst mit schlechtem Satellitenempfang taugt das Modul so zumindest als Uhrzeitempfänger. Und die Uhrzeit ist sehr genau, da sie sich von den Atomuhren in den Satelliten ableitet. Die Zeit ist wohl besser zu empfangen wie das DCF-77 Signal.
Haben wir einen besseren Satellitenempfang, dann hat die NMEA-Nachricht schon bedeutend mehr Inhalt:
$GPRMC,111419.00,A,4927.03463,N,01056.77912,E,1.654,,230523,,,A*7C
$GPVTG,,T,,M,1.654,N,3.063,K,A*23
$GPGGA,111419.00,4927.03463,N,01056.77912,E,1,03,5.10,447.8,M,47.1,M,,*59
$GPGSA,A,2,02,27,08,,,,,,,,,,5.20,5.10,1.00*0E
$GPGSV,2,1,06,02,25,237,23,08,15,286,29,26,50,187,,27,49,290,31*7B
$GPGSV,2,2,06,28,,,22,31,03,211,28*4C
$GPGLL,4927.03463,N,01056.77912,E,111419.00,A,A*
4927.03463,N,01056.77912,E
N49 27.03463,E010 56.77912
Aus "4927.03463,N" wird also "N49° 27.03463". Aus "01056.77912,E" wird "E010° 56.77912". Und das heißt soviel wie "Nord 49 Grad und 27,03463 Minuten und Ost 10 Grad 56,77912 Minuten. Den Minutenteil hinter dem Komma rundet man normalerweise auf drei Stellen auf oder ab. Und das Gradzeichen kann man auch weglassen. Das ergibt dann "N49 27.035 E010 56.779". Das ist auch das übliche Format beim Geocaching.
Ach, nur für die Überneugierigen unter euch: nein, dass ist nicht meine echte Adresse, sondern nur eine beispielhafte.
Etwas umformatiert finde man die Daten auch in der Zeile $GPGLL. Die "A" bedeuten übrigens "alles okay" im Gegensatz zu dem vorherigen "V" für "Warnung".
Zwischen dem E und dem Datum steht noch die Geschwindigkeit über Grund in Knoten, hier "1.654". Das ist ein altes Geschwindigkeitsmaß, das sich auf ein eben so alten Längenmaß namens Seemeile (oder auch nautische Meile) basiert. Eine Seemeile entspricht 1852 Metern. Knoten sind Seemeilen pro Stunde (2). Will man also die gebräuchlichen Kilometer pro Stunden, multipliziert man die Knoten mit 1,852. 1,654 Knoten entsprechen somit 3,063208 km/h.
Bei der Geschwindigkeit muss man bedenken, dass diese anhand der fortlaufenden Positionensbestimmungen berechnet werden, welche aber eine Abweichung von der Realität haben, je nachdem wie gut der Empfang ist. Darum werden Bewegungen und Geschwindigkeiten evtl. auch angezeigt, wenn man auf der Stelle stehen bleibt, nur aufgrund der Empfangsungenauigkeiten.
Am Ende der $GPRMC-Zeile steht übrigens eine zweistellige hexadezimale Prüfsumme. Damit kann man sicherstellen, dass es keine Fehlübertragung in der seriellen Kommunikation gab.
$GPGGA,111419.00,4927.03463,N,01056.77912,E,1,03,5.10,447.8,M,47.1,M,,*59
- 0 = ungültig
- 1 = GPS fix
- 2 = DGPS fix (inklusive Korrektursignale wie WAAS(3), EGNOS(4) und MSAS(5))
- 6 = geschätzt
$GPGGA,111419.00,4927.03463,N,01056.77912,E,1,03,5.10,447.8,M,47.1,M,,*59
$GPGGA,111419.00,4927.03463,N,01056.77912,E,1,03,5.10,447.8,M,47.1,M,,*59
$GPVTG,,T,,M,1.654,N,3.063,K,A*23
$GPGSA,A,2,02,27,08,,,,,,,,,,5.20,5.10,1.00*0E
Mit den standardmäßig (also im Einschaltzustand) gelieferten Daten hat man alles was man braucht, verfügbar:
- Datum und Uhrzeit (UTC)
- Längen und Breitengrad
- Höhe über Meereshöhe
- Geschwindigkeit in Knoten oder km/h
- Informationen zur GPS-Qualität und den empfangenen Satelliten
Betrieb an einem Mikrocontroller
Ohne weiteres Konfigurieren erhalten wir also nötigen Daten aus unserem GPS-Modul. Die blaue LED macht es uns zudem einfach zu erkennen, wann wir einen GPS-Fix haben.Die RX und TX Leitungen können wir natürlich auch direkt an einen Mikrocontroller anschließen, sei es ein Arduino oder STM32 oder etwas, was WLAN kann wie ein ESP8266 oder ein ESP32. Wir müssen nur darauf achten, dass RX und TX über Kreuz verbunden werden (also RX an TX und TX an RX) und können dann über die Serial-Befehlen die NMEA-Nachrichten alle Sekunde auffangen und auswerten.
Genauso geht das natürlich auch mit einem Raspberry Pi. Für den ersten Test ohne großes Python-Programm tut es auch ein Terminalprogramm, wie in meinem Artikel Den Raspi mit 3.5 Zoll RPi Display TFT Touchscreen als Serial Monitor verwenden beschrieben.
Damit lässt sich dann von Tachometer, über Höhenmesser, Geocache-Reverse-Box, genauer Atomuhranzeige alles Mögliche realisieren. Da die Neo-6M-Module inzwischen durchaus erschwinglich sind, ist das durchaus eine Option.
Betrieb an einem PC mit dem u-center
Natürlich kann man sich die NMEA-Daten über ein Terminalprogramm am PC anzeigen lassen, es gibt aber auch das Programm U-Center, welches man sich auf der Website von u-blox downloaden kann.Nach dem entpacken, installieren und starten gibt man wie im Terminalprogramm (das zuerst beenden, es können nicht zwei Programme gleichzeitig auf einen COM Port zugreifen) den COM-Port und 9600 als Baudrate an und bekommt dann rechts allerlei kleine Fenster mit ausgiebigen Informationen angezeigt: über die errechnete Geo-Position und die Höhe, die empfangenen Satelliten, die GPS-Qualität, die Position auf einer Weltkarte, die Uhrzeit in UTC und mehr.
Außerdem kann man sich die Text Konsole (wie im Terminalfenster) anzeigen lassen oder die "Messages View". Darin kann man noch weitere Protokolle wie das PUBX oder UBX-Protokolle anschalten und dann die Nachrichten davon anzeigen lassen, was noch einmal mehr Daten liefert.
Einstellungen im u-center speichern
Mit dem U-Center lässt sich das GPS-Modul auch konfigurieren. Will man zum Beispiel ein Tachometer damit basteln und ein schnelleres Update der km/h-Anzeige, dann kann man bis zu 5 Aktualisierungen pro Sekunde einstellen, die das Modul hergibt.
Dazu geht man in die Configuration View unter View und klickt dort dann auf PRT (Ports) und stellt dort erst einmal die Baudrate hoch, z. B. auf 57600. Das, damit die Übertragung der Daten schneller geht und das überhaupt 5x in der Sekunde geschehen kann. Dann muss man unten links auf das Icon mit dem beschriebenen Papier klicken ("Send the Message"), um die Einstellung zu übernehmen.
Die Aktualisierungsfrequenz stellt man dann unter RATE (Rates) ein. Dort gibt man zum Beispiel 200 ms ein. Das bedeutet dann, dass zwischen den Nachrichten eine fünftel Sekunde gewartet wird. Macht eine Frequenz von 5 Hertz. Auch hier das Senden nicht vergessen.
Permanent gespeichert sind die Einstellungen damit aber noch nicht. Wenn ihr möchtet, dass die Einstellungen auch erhalten bleiben, müsst ihr sie im Menü CFG (Configuration) in den nichtflüchtigen Speicher des Moduls abspeichern. Dazu am besten alle Devices markieren (STRG+Mausklick), "Save" auswählen und wieder "Send the Message". Erst dann sind die Einstellungen permanent. Das u-center bzw. das Terminalprogramm bzw. der Sketch muss dann natürlich auch auf die neue Baudrate eingestellt werden, damit korrekt empfangen werden kann.
Mit dem u-center kann man vorzüglich herum spielen und sich demonstrieren lassen, was es alles an Daten gibt, die man sich anzeigen lassen kann. Viele Dinge sind sehr technisch und bedürfen einiges an Hintergrundwissen rund um GPS. Aber wer sich einfuchsen möchte, für den ist das U-Center eine große Fund- und Goldgrube.
Den meisten dürfte allerdings die Grundkonfiguration mit dem NMEA-Protokoll reichen. Trotzdem: das U-Center bietet einen schön aufbereiteten, auch grafischen Überblick über die empfangenen Daten. Außerdem ist es kostenlos und deshalb auf jeden Fall einen Blick wert.
Betrieb an einem mobilen Raspberry Pi 3B+
Meinen Raspberry Pi 3B+ habe ich ja mit einem TFT-Touchscreen aufgerüstet.Dort kann ich mir dann im Terminalprogramm auf dem kleinen 3.5 Zoll-Bildschirm dann natürlich auch die Daten anzeigen lassen. Bei einer Aktualisierungsfrequenz von einem Hertz und 6 oder 7 Zeilen pro Sekunde, die über den Bildschirm huschen, braucht man dann aber auch ein schnelles Auge, um die Koordinaten herauszulesen. Da sich diese aber nicht ständig ändern, hat man trotzdem schnell die Koordinaten notiert.
Schöner wäre aber eine statische Anzeige, die die relevanten Daten aufbereitet darstellt. Sowas kann man sich natürlich selbst mit Python schreiben, oder man greift auf etwas zurück, das es schon gibt.
Dazu installieren wir uns den GPS-Daemon gpsd samt clients auf unserem Raspi:
sudo apt-get update
sudo apt-get -y install gpsd gpsd-clients
gpsd /dev/ttyUSB0 -G
sudo nano /etc/default/gpsd
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyUSB0"
# Other options you want to pass to gpsd
GPSD_OPTIONS=""
# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="true
cgps -s -l m -u m
Die Ausgabe auf dem 480 x 320 Pixel großen Touchscreen auf dem Raspberry Pi 3B+ selbst sieht dann so aus:
Über Putty und SSH verbunden sehen wir, da wir mehr Platz haben, noch ein paar zusätzliche Informationen:
+-------------------------------------------+-------------------Seen 15/Used 6|
| Time: 2023-05-24T09:00:32.000Z (18)| GNSS PRN Elev Azim SNR Use|
| Latitude: 49 2x.xxxxxx' N | GP 4 4 6.0 316.0 15.0 Y |
| Longitude: 10 5x.xxxxxx' E | GP 16 16 20.0 300.0 27.0 Y |
| Alt (HAE, MSL): 392.050, 345.479 m | GP 26 26 54.0 295.0 27.0 Y |
| Speed: 0.50 km/h | GP 28 28 36.0 214.0 25.0 Y |
| Track (true, var): 181.3, 3.2 deg | GP 29 29 57.0 63.0 14.0 Y |
| Climb: 1.56 m/min | GP 31 31 47.0 256.0 25.0 Y |
| Status: 3D FIX (8 secs) | GP 5 5 23.0 71.0 0.0 N |
| Long Err (XDOP, EPX): 1.20, +/- 17.9 m | GP 9 9 2.0 345.0 0.0 N |
| Lat Err (YDOP, EPY): 1.08, +/- 16.2 m | GP 11 11 0.0 35.0 0.0 N |
| Alt Err (VDOP, EPV): 2.19, +/- 50.6 m | GP 18 18 50.0 178.0 19.0 N |
| 2D Err (HDOP, CEP): 1.59, +/- 30.2 m | GP 20 20 18.0 45.0 0.0 N |
| 3D Err (PDOP, SEP): 2.71, +/- 51.5 m | GP 25 25 29.0 127.0 0.0 N |
| Time Err (TDOP): 1.74 | SB120 33 28.0 213.0 0.0 N |
| Geo Err (GDOP): 3.22 | SB124 37 32.0 166.0 0.0 N |
| ECEF X, VX: 4079xxx.120 m -0.200 m/s | SB126 39 32.0 161.0 0.0 N |
| ECEF Y, VY: 789xxx.290 m 0.490 m/s | |
| ECEF Z, VZ: 4823xxx.420 m 0.110 m/s | |
| Speed Err (EPS): +/- 4.8 km/h | |
| Track Err (EPD): n/a | |
| Time offset: 0.106219682 s | |
| Grid Square: JN59xxxx | |
+-------------------------------------------+----------------------------------+
- die genaue Zeit und Datum UTC
- die Positionskoordinate im Minuten-Format Grad, Minuten, Minutenbruch.
Umrechnen könnt ihr das übrigens hier in andere Formate. - die Höhe über dem Meeresspiegel (2. Angabe, MSL)
- die Geschwindigkeit in Stundenkilometern
- die Ausrichtung, also in welche Richtung wir uns bewegt haben
- die Höhenveränderung (Climb)
- welchen Fix wir haben (ob 2D oder 3D)
- die Genauigkeiten der Koordinaten, also den Wert, um den die angezeigten Werte abweichen können
- den QTH Maidenhead Locator, eine Kurzschreibweise der Koordinaten
Track aufzeichnen
Um einen Track aufzuzeichnen, also eine Vielzahl von Wegpunkten, um einen Pfad nachzuvollziehen, empfiehlt sich gpxtrack. Über den Parameter "-f" geben wir einen Dateinamen mit, etwa "Track-Datum.gpx" und mit "-m [meter]" können wir bestimmen, wann ein neuer Trackpunkt aufgezeichnet werden soll. Alles darunter wird als "auf der Stelle stehen geblieben" interpretiert und es wird kein Wegpunkt aufgezeichnet. Ansonsten wird alle 5 Sekunden ein Trackpunkt in der Datei gespeichert, was man über "-i [sekunden]" aber auch ändern kann. Durchgpxlogger -f track-2023-05-24-01.gpx
Das GPX-File entspricht dem GPX-Standard. Die Datei kann man dann in Google Earth oder Easy GPS laden kann und sich die Route darin anzeigen.
Quellen, Literaturverweise und weiterführende Links
(1) NMEA 0183 bei Wikipedia(2) Die Einheit Knoten bei Wikipedia
(3) WAAS bei Wikipedia
(4) EGNOS bei Wikipedia
(5) MSAS bei Wikipedia
(6) Liste der NMEA 0183 Datensätze
(7) Website von u-blox / u-center