|

GPS Tracking mit dem Raspberry Pi

GPS Tracking

Mit einem GPS-Modul, dem Raspberry Pi und einem Akkupack lässt sich ein kompakter GPS-Tracker bauen – ideal für das Auto, Fahrradtouren oder Wanderungen. In diesem Artikel zeige ich euch die Verkabelung des NEO-6M/NEO-8M GPS-Moduls, die Einrichtung von gpsd unter Raspberry Pi OS Bookworm und wie ihr die GPS-Daten auslesen und speichern könnt.

Material

GPS-Modul anschließen

Das GPS-Modul kommuniziert über UART (serielle Schnittstelle). Die Pinbelegung ist für alle Raspberry Pi Modelle identisch:

GPS-Modul Pin Raspberry Pi Pin Beschreibung
VCC PIN 1 (3,3V) Stromversorgung
GND PIN 6 (GND) Masse
TX (GPS) PIN 10 (RX / GPIO15) Daten GPS → Pi
RX (GPS) PIN 8 (TX / GPIO14) Daten Pi → GPS (optional)
PPS PIN 12 (GPIO18) Zeitsignal (optional)

UART aktivieren und Konsole deaktivieren

Unter Raspberry Pi OS Bookworm liegt die Konfiguration unter /boot/firmware/config.txt:

Fügt am Ende ein:

Beim Pi 3, 4, 5 und Zero 2W: Bluetooth deaktivieren damit der vollwertige PL011 UART für das GPS-Modul frei wird:

Serielle Konsole in der cmdline.txt deaktivieren:

Den Eintrag console=serial0,115200 aus der Zeile entfernen. Nach einem Neustart ist UART aktiv.

gpsd installieren und konfigurieren

gpsd ist der Standard-Daemon für GPS-Geräte unter Linux:

Konfiguration anpassen:

gpsd aktivieren und starten:

GPS-Empfang testen

Das Textinterface cgps zeigt die aktuellen GPS-Daten:

Beim ersten Start kann es bis zu 5 Minuten dauern, bis das GPS-Modul einen Fix hat (Sichtverbindung zu mindestens 4 Satelliten nötig, am besten im Freien). Das Modul zeigt dann Längen- und Breitengrad, Geschwindigkeit und Höhe an.

Alternativ mit gpspipe für einfache NMEA-Ausgabe:

GPS-Daten mit Python auslesen

Das Modul gps3 ermöglicht komfortablen GPS-Zugriff in Python:

Einfaches Python-Script zum Auslesen:

GPS-Track aufzeichnen (GPX-Format)

gpxlogger aus dem gpsd-clients-Paket schreibt GPS-Tracks direkt im GPX-Format:

GPX-Dateien könnt ihr danach in OpenStreetMap, Google Maps oder Tools wie GPXSee visualisieren.

Uhrzeit via GPS beziehen (offline-Betrieb)

Für mobilen Betrieb ohne Internetverbindung kann der Pi die Uhrzeit direkt vom GPS-Signal beziehen. Dazu wird das PPS-Signal verwendet (GPIO18):

In /boot/firmware/config.txt ergänzen:

PPS-Tools und chrony installieren:

PPS-Signal testen (Pi braucht GPS-Fix):

Chrony für GPS-Zeit konfigurieren:

Am Ende ergänzen:

Autostart des GPS-Loggers

Mit einem Cronjob beim Systemstart automatisch mit der Aufzeichnung beginnen:

Das sleep 15 gibt gpsd Zeit, das GPS-Modul zu initialisieren.

Ähnliche Beiträge