Raspberry Pi - GPS

Dieses Tutorial zeigt Ihnen, wie Sie Raspberry Pi mit einem NEO-6M GPS-Modul verwenden. Im Detail werden wir lernen:

Neben Längengrad, Breitengrad und Höhe kann Raspberry Pi auch GPS-Geschwindigkeit (km/h) und Datum/Zeit von einem NEO-6M GPS-Modul lesen.

Erforderliche Hardware

1×Raspberry Pi 5
1×NEO-6M GPS-Modul
1×Jumper Kabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das NEO-6M GPS-Modul

Das NEO-6M GPS-Modul ist ein GPS-Modul, das die folgenden Informationen bereitstellen kann:

  • Längengrad
  • Breitengrad
  • Höhe
  • GPS-Geschwindigkeit (km/h)
  • Datum/Zeit

Das NEO-6M GPS-Modul Pinout

Das NEO-6M GPS-Modul hat vier Pins:

  • VCC Pin: Dieser sollte an VCC (3,3V oder 5V) angeschlossen werden
  • GND Pin: Dieser sollte an GND (0V) angeschlossen werden
  • TX Pin: Dieser wird für die serielle Kommunikation verwendet und sollte an den Serial RX Pin am Raspberry Pi angeschlossen werden.
  • RX Pin: Dieser wird für die serielle Kommunikation verwendet und sollte an den Serial TX Pin am Raspberry Pi angeschlossen werden.
NEO-6M GPS-Modul Pinout

Verdrahtungsschema

Raspberry Pi GPS-Modul Verdrahtungsschema

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Raspberry Pi Code

GPS-Koordinaten, Geschwindigkeit (km/h) und Datum/Zeit lesen

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Falls Sie Raspberry Pi zum ersten Mal verwenden, siehe Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install pyserial
  • Erstellen Sie eine Python-Skript-Datei gps.py und fügen Sie folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-gps import serial import time from datetime import datetime GPS_BAUD = 9600 # Create serial object for GPS GPS = serial.Serial('/dev/serial0', GPS_BAUD, timeout=1) print("Raspberry Pi - GPS Module") try: while True: if GPS.in_waiting > 0: gps_data = GPS.readline().decode('utf-8').strip() if gps_data.startswith('$GPGGA'): # Process GPS data using TinyGPS++ # You may need to adapt this part based on the structure of your GPS data print(f"Received GPS data: {gps_data}") # Extract relevant information data_parts = gps_data.split(',') latitude = data_parts[2] longitude = data_parts[4] altitude = data_parts[9] # Print extracted information print(f"- Latitude: {latitude}") print(f"- Longitude: {longitude}") print(f"- Altitude: {altitude} meters") # You can add more processing as needed time.sleep(1) except KeyboardInterrupt: print("\nExiting the script.") GPS.close()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 gps.py
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Entfernung vom aktuellen Standort zu einem vordefinierten Standort berechnen

Der folgende Code berechnet die Entfernung zwischen dem aktuellen Standort und London (Breitengrad: 51.508131, Längengrad: -0.128002).

Schnelle Schritte

  • Installieren Sie die geopy Bibliothek für die Entfernungsberechnung:
pip3 install geopy
  • Erstellen Sie eine Python-Skript-Datei gps_distance.py und fügen Sie folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-gps import serial import time from geopy.distance import geodesic GPS_BAUD = 9600 LONDON_LAT = 51.508131 LONDON_LON = -0.128002 # Create serial object for GPS gps = serial.Serial('/dev/serial0', GPS_BAUD, timeout=1) print("Raspberry Pi - GPS Module") try: while True: if gps.in_waiting > 0: gps_data = gps.readline().decode('utf-8').strip() if gps_data.startswith('$GPGGA'): # Process GPS data using TinyGPS++ # You may need to adapt this part based on the structure of your GPS data print(f"Received GPS data: {gps_data}") # Extract relevant information data_parts = gps_data.split(',') latitude = float(data_parts[2]) longitude = float(data_parts[4]) # Print extracted information print(f"- Latitude: {latitude}") print(f"- Longitude: {longitude}") # Calculate distance to London using geopy current_location = (latitude, longitude) london_location = (LONDON_LAT, LONDON_LON) distance_km = geodesic(current_location, london_location).kilometers # Print calculated distance print(f"- Distance to London: {distance_km:.2f} km") time.sleep(1) except KeyboardInterrupt: print("\nExiting the script.") gps.close()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 gps_distance.py
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!