Raspberry Pi - GPS

Ce tutoriel vous apprend à utiliser un Raspberry Pi avec un module GPS NEO-6M. En détail, nous allons apprendre :

Outre la longitude, la latitude et l'altitude, le Raspberry Pi est également capable de lire la vitesse GPS (km/h) et la date et l'heure à partir d'un module GPS NEO-6M.

Préparation du matériel

1×Raspberry Pi 5
1×NEO-6M GPS module
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module GPS NEO-6M

Module GPS NEO-6M est un module GPS qui peut fournir les informations suivantes :

  • Longitude
  • Latitude
  • Altitude
  • Vitesse GPS (km/h)
  • Date et heure

Le brochage du module GPS NEO-6M

Le module GPS NEO-6M possède quatre broches :

  • Broche VCC : Celle-ci doit être connectée au VCC (3,3V ou 5V)
  • Broche GND : Celle-ci doit être connectée à GND (0V)
  • Broche TX : Celle-ci est utilisée pour la communication série et doit être connectée à la broche RX série sur le Raspberry Pi.
  • Broche RX : Celle-ci est utilisée pour la communication série et doit être connectée à la broche TX série sur le Raspberry Pi.
Brochage du module GPS NEO-6M

Diagramme de câblage

Schéma de câblage du module GPS Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Code Raspberry Pi

Lecture des coordonnées GPS, de la vitesse (km/h) et de la date et de l'heure

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer certaines bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install pyserial
  • Créez un fichier script Python gps.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/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()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 gps.py
  • Consultez le résultat sur le Terminal.
PuTTY - Raspberry Pi

Le script s'exécute en boucle infinie en continu jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Calculer la distance entre l'emplacement actuel et un emplacement prédéfini

Le code ci-dessous calcule la distance entre l'emplacement actuel et Londres (latitude : 51.508131, longitude : -0.128002).

Étapes rapides

  • Installez la bibliothèque geopy pour le calcul des distances :
pip3 install geopy
  • Créez un fichier de script Python gps_distance.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/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()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 gps_distance.py
  • Consultez le résultat sur le Terminal.
PuTTY - Raspberry Pi

Vidéo

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !