Inhoudsopgave:
- Benodigdheden
- Stap 1: Verbind Raspberry Pi met pc
- Stap 2: Een korte informatie. Over UBlox NEO-M8N GPS-module:
- Stap 3: Interface GPS-module met Raspberry Pi
- Stap 4: Stel de UART in Raspberry Pi in
- Stap 5: Schakel de Raspberry Pi Serial Getty-service uit
- Stap 6: Activeer Ttys0
- Stap 7: Installeer Minicom en Pynmea2
- Stap 8: Testuitgang
- Stap 9: Python-code schrijven
- Stap 10: Definitieve uitvoer
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Hallo jongens!! Wilt u een GPS-module koppelen met Raspberry Pi? Maar heb je moeite om het te doen? “Maak je geen zorgen, ik ben hier om je te helpen! U kunt beginnen met de volgende onderdelen:
Benodigdheden
- Raspberry Pi 4 Model-B met 4 GB RAM
- UBlox NEO-M8N GPS-module
- Een computer
Stap 1: Verbind Raspberry Pi met pc
Verbind allereerst je Raspberry Pi Board met een pc. U kunt https://www.raspberrypi.org/blog/getting-started-raspberry-pi/ bezoeken voor informatie over de installatie van Raspberry Pi Imager.
Stap 2: Een korte informatie. Over UBlox NEO-M8N GPS-module:
Dit is een UBlox NEO-M8N GPS-module met keramische actieve antenne. Deze GPS-module heeft een 72-kanaals Ublox M8-engine in de ontvanger. De module heeft 4 pinnen: VCC (voedingsspanning), GND (aarde), Tx (zender) en Rx (ontvanger).
Deze module levert non-stop NMEA (National Marine Electronics Association) datastrings aan de TX-pin, wat resulteert in GPS-informatie. Om meer te weten over deze module, kunt u de datasheet hier downloaden.
Stap 3: Interface GPS-module met Raspberry Pi
Maak de verbindingen als volgt voor interfacing:
- Sluit de Vcc van de GPS-module aan op de voedingspin nr. 2 (5V) van de Raspberry Pi.
- Sluit Tx (zenderpin) van GPS-module aan op pin nr. 10 van Raspberry Pi.
- Sluit GND (aardpin) van de GPS-module aan op pin nr. 6 Raspberry Pi.
Je kunt ook andere Raspberry Pi-borden kiezen, maar zorg ervoor dat je de juiste pinnummers controleert tijdens het maken van verbindingen.
Stap 4: Stel de UART in Raspberry Pi in
Het eerste dat we hierbij zullen doen, is het bestand /boot/config.txt bewerken. Voer hiervoor de onderstaande opdrachten uit:
sudo nano /boot/config.txt
Voeg onderaan het bestand config.txt de volgende regels toe:
dtparam=spi=aan
dtoverlay=pi3-disable-bt
core_freq=250
enable_uart=1
force_turbo=1
ctrl+x om af te sluiten en druk op y en enter om op te slaan.
De tweede stap onder dit UART-configuratiegedeelte is het bewerken van de boot/cmdline.txt
Ik stel voor dat je een kopie maakt van de cmdline.txt en deze eerst opslaat voordat je gaat bewerken, zodat je er later naar kunt terugkeren als dat nodig is. Dit kan met behulp van;
sudo cp boot/cmdline.txt boot/cmdline_backup.txtsudo nano /boot.cmdline.txt
Vervang de inhoud door;
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=ja rootwait rustig splash plymouth.ignore-serial-consoles
Druk op ctrl+x om af te sluiten en druk op y en enter om op te slaan.
Start pi nu opnieuw op om de wijzigingen te zien
Stap 5: Schakel de Raspberry Pi Serial Getty-service uit
A. Als in uw uitvoer, Serial0 is gekoppeld aan ttyAMA0, gebruik dan de onderstaande opdracht om het uit te schakelen,
sudo systemctl stop [email protected] systemctl schakel [email protected] uit
B. Als in uw uitvoer Serial0 is gekoppeld aan ttys0, gebruik dan de onderstaande opdracht om het uit te schakelen,
sudo systemctl stop [email protected] systemctl schakel [email protected] uit
Stap 6: Activeer Ttys0
Gebruik de volgende opdracht om de ttyso in te schakelen,
sudo systemctl enable [email protected]
Stap 7: Installeer Minicom en Pynmea2
Gebruik de minicom python-bibliotheek om verbinding te maken met de GPS-module en de gegevens te begrijpen.
sudo apt-get install minicom
Gebruik de pynmea2-pythonbibliotheek om de ontvangen NMEA-gegevens te ontleden.
sudo pip installeer pynmea2
Stap 8: Testuitgang
Om de GPS te testen, voert u de opdracht sudo cat /dev/ttyAMA0 uit. U krijgt de uitvoer zoals hierboven weergegeven.
Stap 9: Python-code schrijven
Schrijf nu de python-code voor de interface van de GPS-module met Raspberry pi
serieel importeren
Tijd importeren
import string import pynmea2
while True: port=“/dev/ttyAMAO”
ser = serieel. Serieel (poort, baudrate = 9600, time-out = 0,5)
dataout =pynmea2. NMEAStreamReader()
nieuwedata=ser.readline()
if newdata[0:6]==“$GPRMC”:
newmsg=pynmea2.parse(nieuwe gegevens)
lat=newmsg.latitude
lng=newmsg.lengtegraad
gps="Latitude=" +str(lat) + "en Longitude=" +str(lng)
afdrukken (gps)
Stap 10: Definitieve uitvoer
Het hierboven getoonde venster is de uiteindelijke uitvoer. Het biedt de gegevens van uw exacte positie in termen van breedte- en lengtegraad.
Dit project is gebaseerd op een artikel GPS-module met Arduino en Raspberry Pi - door Priyanka Dixit. Bezoek dit artikel voor meer informatie over GPS, hoe het werkt, uitleg van de belangrijkste termen lengte- en breedtegraad, het verschil tussen GPS-chip & GPS-module en nog veel meer!