Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

GPS-Modul am Raspberry Pi anschließen & nutzen: Praxisanleitung

Hardware-Voraussetzungen

Verkabelung (UART / Serial)

Die meisten günstigen GPS-Module kommunizieren über serielles UART (TTL-Pegel 3,3 V).

GPS-ModulRaspberry Pi (GPIO Header)Pin-Nummer
VCC3,3 V (oder 5 V, falls Modul 5 V verträgt – Datenblatt prüfen!)1 (3,3 V) / 2 / 4 (5 V)
GNDGND6, 9, 14, 20, 25, 30, 34, 39
TXDRXD (GPIO 15)10
RXDTXD (GPIO 14)8

Wichtig: TX des Moduls → RX des Pi (Pin 10), RX des Moduls ← TX des Pi (Pin 8). Pegel: 3,3 V. Bei 5-V-Modulen Pegelwandler nutzen!

Raspberry Pi OS konfigurieren (Serial Console deaktivieren)

  1. sudo raspi-config starten.
  2. Interface Options → Serial Port auswählen.
  3. Login Shell über Serial? → Nein.
  4. Serial Port Hardware aktiviert? → Ja.
  5. Finish → Neustart (sudo reboot).

Alternativ per cmdline.txt/config.txt (für Headless):
enable_uart=1 in /boot/config.txt setzen, console=serial0,115200 aus /boot/cmdline.txt entfernen.

Software: gpsd installieren & testen

sudo apt update && sudo apt install -y gpsd gpsd-clients python3-gps

Service stoppen & deaktivieren (wir starten manuell mit korrektem Device):

sudo systemctl stop gpsd
sudo systemctl disable gpsd

Manueller Start für UART (Pi 3/4/Zero: /dev/serial0 ist Alias für primären UART):

sudo gpsd /dev/serial0 -F /var/run/gpsd.sock

Testen:

cgps -s          # Grafische Anzeige (NMEA-Daten)
gpsmon           # Rohdaten-Monitor
gpspipe -r       # Roh-NMEA-Sätze auf stdout

Erster Fix dauert oft 1–5 Minuten (kalt), bei schlechtem Empfang (Innenraum) länger. Antenne nach draußen / ans Fenster!

Python-Beispiel: Position auslesen

import serial
import pynmea2

ser = serial.Serial('/dev/serial0', 9600, timeout=1)
while True:
    line = ser.readline().decode('ascii', errors='replace').strip()
    if line.startswith('$GPGGA') or line.startswith('$GNGGA'):
        msg = pynmea2.parse(line)
        if msg.gps_qual > 0:
            print(f"Lat: {msg.latitude:.6f} {msg.lat_dir}, Lon: {msg.longitude:.6f} {msg.lon_dir}, Alt: {msg.altitude} m, Sats: {msg.num_sats}")
            # Google Maps Link:
            print(f"https://maps.google.com/?q={msg.latitude},{msg.longitude}")
            break

pip3 install pyserial pynmea2 vorher installieren.

C / WiringPi Beispiel (Kurz)

Seriell öffnen (/dev/serial0), NMEA-Sätze parsen (z. B. minmea-Library). Für Pi 2 und älter: /dev/ttyAMA0 statt /dev/serial0.

GPS HATs – Die elegante Lösung

Ein GPS HAT steckt direkt auf den 40-poligen Header, oft mit:

Beispiele: u-blox ZED-F9P HAT (RTK), Adafruit Ultimate GPS HAT, Waveshare GPS HAT.

Projektideen

Tipps & Fehlerquellen

Fazit

Ein GPS-Modul am Raspberry Pi ist ein klassisches, lehrreiches Projekt. Mit gpsd und Python/C lassen sich Positionsdaten einfach auswerten. Für produktive/mobile Einsätze empfiehlt sich ein GPS HAT mit externer Antenne und RTC. Viel Erfolg bei Ihrem Projekt!

Industrietechnik

  1. Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
  2. Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
  3. Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
  4. Erstes IoT-Projekt mit Raspberry Pi, DHT11 und ThingSpeak bauen
  5. Top-Zubehör, um das volle Potenzial Ihres Raspberry Pi auszuschöpfen
  6. HC-SR501 PIR-Bewegungssensor an Raspberry Pi anschließen, kalibrieren und programmieren
  7. Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
  8. Selbstbalancierenden Segway mit Raspberry Pi bauen
  9. Effizienz maximieren: 4 bewährte Tipps für Ihren Wasserstrahlschneider
  10. Die richtigen Scharniere für Blechgehäuse: Piano, Lift-Off & Drehmoment