INHOUDSOPGAWE:
- Voorrade
- Stap 1: Koppel Raspberry Pi met 'n rekenaar
- Stap 2: 'n Kort inligting. Oor UBlox NEO-M8N GPS-module
- Stap 3: GPS -koppelvlak met Raspberry Pi
- Stap 4: Stel die UART in Raspberry Pi op
- Stap 5: Skakel die Raspberry Pi Serial Getty Service uit
- Stap 6: Aktiveer Ttys0
- Stap 7: Installeer Minicom en Pynmea2
- Stap 8: Toetsuitset
- Stap 9: Skryf Python -kode
- Stap 10: Finale uitset
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hallo ouens!! Wil u 'n GPS -module koppel met Raspberry Pi? Maar sukkel u om dit te doen? 'Moenie bekommerd wees nie, ek is hier om u te help! U kan begin deur die volgende dele te gebruik:
Voorrade
- Framboos Pi 4 Model-B met 4 GB RAM
- UBlox NEO-M8N GPS-module
- N rekenaar
Stap 1: Koppel Raspberry Pi met 'n rekenaar
Koppel eers u Raspberry Pi -bord met 'n rekenaar. U kan https://www.raspberrypi.org/blog/getting-started-raspberry-pi/ besoek vir inligting oor die installering van Raspberry Pi Imager.
Stap 2: 'n Kort inligting. Oor UBlox NEO-M8N GPS-module
Dit is 'n UBlox NEO-M8N GPS-module met keramiek aktiewe antenne. Hierdie GPS-module het 'n 72-kanaal Ublox M8-enjin in die ontvanger. Die module het 4 penne: VCC (voedingsspanning), GND (grond), Tx (sender) en Rx (ontvanger).
Hierdie module bied non -stop NMEA (National Marine Electronics Association) datastringe aan die TX -pen, wat GPS -inligting tot gevolg het. Vir meer inligting oor hierdie module, kan u die datablad hier aflaai.
Stap 3: GPS -koppelvlak met Raspberry Pi
Vir die koppelvlak, maak die verbindings soos volg:
- Koppel Vcc van GPS -module aan Power Supply Pin No.2 (5V) van Raspberry Pi.
- Koppel Tx (sender -pen) van GPS -module aan pin -nommer 10 van Raspberry Pi.
- Koppel die GND (grondpen) van die GPS -module aan die pin 6 Raspberry Pi.
U kan ook ander Raspberry Pi -borde kies, maar kyk gerus na die toepaslike speldnommers terwyl u verbindings maak.
Stap 4: Stel die UART in Raspberry Pi op
Die eerste ding wat ons hieraan sal doen, is om die /boot/config.txt -lêer te wysig. Om dit te doen, voer die onderstaande opdragte uit:
sudo nano /boot/config.txt
Voeg die volgende reëls onderaan die config.txt -lêer by
dtparam = spi = aan
dtoverlay = pi3-disable-bt
core_freq = 250
enable_uart = 1
force_turbo = 1
ctrl+x om af te sluit en druk y en enter om op te slaan.
Die tweede stap onder hierdie UART -opstellingsgedeelte is om die boot/cmdline.txt te wysig
Ek stel voor dat u 'n kopie van die cmdline.txt maak en eers stoor voordat u dit redigeer, sodat u later weer kan terugkeer indien nodig. Dit kan gedoen word met behulp van;
sudo cp boot/cmdline.txt boot/cmdline_backup.txtsudo nano /boot.cmdline.txt
Vervang die inhoud met;
dwc_otg.lpm_enable = 0 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 lift = deadline fsck.repair = yes rootwait quiet splash plymouth.ignore-serial-consoles
Druk ctrl+x om af te sluit en druk y en enter om op te slaan.
Herlaai nou pi om die veranderinge te sien
Stap 5: Skakel die Raspberry Pi Serial Getty Service uit
a. As Serial0 in u uitvoer is gekoppel aan ttyAMA0, gebruik die onderstaande opdrag om dit uit te skakel,
sudo systemctl stop [email protected] systemctl deaktiveer [email protected]
b. As Serial0 in u uitvoer gekoppel is aan ttys0, gebruik die onderstaande opdrag om dit uit te skakel,
sudo systemctl stop [email protected] systemctl deaktiveer [email protected]
Stap 6: Aktiveer Ttys0
Om die ttyso in staat te stel, gebruik die volgende opdrag:
sudo systemctl aktiveer [email protected]
Stap 7: Installeer Minicom en Pynmea2
Gebruik die minicom python -biblioteek om met die GPS -module in verbinding te tree en die data te verstaan.
sudo apt-get install minicom
Gebruik pynmea2 python -biblioteek om die ontvangde NMEA -data te ontleed.
sudo pip installeer pynmea2
Stap 8: Toetsuitset
Om die GPS te toets, voer die opdrag sudo cat /dev /ttyAMA0 uit, u kry die uitset soos hierbo getoon.
Stap 9: Skryf Python -kode
Skryf nou die luislangkode vir die koppelvlak van die GPS -module met Framboos pi
invoer reeks
Tyd invoer
invoer string invoer pynmea2
terwyl True: port = “/dev/ttyAMAO”
ser = serial. Serial (poort, baudrate = 9600, time -out = 0.5)
dataout = pynmea2. NMEAStreamReader ()
newdata = ser.readline ()
as nuutdata [0: 6] == "$ GPRMC":
newmsg = pynmea2.parse (newdata)
lat = newmsg.latitude
lng = newmsg.longitude
gps = “Latitude =” +str (lat) +“en Longitude =” +str (lng)
druk (gps)
Stap 10: Finale uitset
Die venster hierbo is die finale uitset. Dit verskaf die gegewens van u presiese posisie in terme van breedtegraad en lengtegraad.
Hierdie projek is gebaseer op 'n artikel GPS -module met Arduino en Raspberry Pi - deur Priyanka Dixit. Besoek hierdie artikel vir meer inligting oor GPS, hoe dit werk, verduideliking van sleutelterme lengtegraad en breedtegraad, die verskil tussen GPS -chip en GPS -module, en nog baie meer!