Sisukord:
Video: DIY GPS-jälgija --- Pythoni rakendus: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Osalesin kaks nädalat tagasi rattaüritusel. Pärast lõpetamist tahtsin kontrollida marsruuti ja kiirust, millega sel ajal sõitsin. Kahjuks seda ei saavutatud. Nüüd kasutan ESP32 abil GPS -i jälgijat ja võtan selle järgmine kord oma jalgrattatee salvestamiseks. GPS -jälgija saab salvestada asukoha- ja ajateabe SD -kaardile ning seda teavet saab töödelda ja arvutitarkvara abil joonistada vahemaa ja kiiruse diagrammi.
Tarvikud:
Riistvara:
- MakePython ESP32 koos Wroveriga
- MakePython A9G
MakePython A9G plaat on MakePythoni GPS/GPRS laiendusplaat.
- Aku
- Micro USB kaabel
Tarkvara:
- Python 3
- uPyCraft_v1.1
Samm: ühendamine
Ühendage kaks plaati vastavalt tihvtidele. Moodul saab toite aku või mikro -USB -kaabli abil.
Samm 2: Tarkvara arvutis
Python3:
- Selle saate alla laadida siit: Python3. Valige versioon 3.8.5, laadige see alla ja installige.
- Valik „Lisa Python 3.8 PATH -ile” tuleb installiprotsessi käigus kontrollida, nagu joonis 1.
- Kui programmi kasutatud teeki pole installitud, küsib programm, kui see töötab. Teekide installimiseks võite käivitada cmd.exe -s järgmise käsu, nagu joonis 2.
pip install xxx // xxx on teegi nimi
pip uninstall xxx // xxx on raamatukogu nimi pip list // prindi installitud teegid
Kood:
- Pythoni faili saate siit: Code. Pythoni fail on “/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Joonista marsruut kaardile.
def create_html_map ():
gmap = gmplot. GoogleMapPlotter (lat_list [0], lon_list [0], 16) gmap.plot (lat_list, lon_list) gmap.marker (lat_list [0], lon_list [0], color = 'blue') gmap.marker (lat_list [laius - 1], lon_list [laius - 1], värv = 'punane') gmap.draw ("./ map -trace.html")
Joonista graafikud kiirusest ajaga, vahemaast vs ajast
plt.plokk (2, 1, 1)
plt.plot (ajaloend [0: -1], kiirus) plt.title ("Keskmine kiirus:" + str (keskm. kiirus)) # plt.xlabel ("Aeg") plt.ylabel ("Kiirus (m/s)") plt.subplot (2, 1, 2) plt.plot (ajaloend [0: -1], kogu_kaugus) plt.title ("Kogu vahemaa:" + str (ümmargune (kogu_kaugus [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
Samm: püsivara ESP32 kohta
uPyCraft_v1.1
- Selle saate alla laadida siit: uPyCraft.
- Ühendage plaat arvutiga USB -kaabli abil. Avage uPyCraft_v1.1, valige tööriistad: „Tool> board> esp32” ja „Tools> port> com*”, klõpsake paremal asuvat ühendatud nuppu.
- Kui ühendus ei õnnestu, kuvatakse viip „ava seeriaviga, proovige uuesti”. Ühenduste edukaks lubamiseks peate värskendama püsivara. Püsivara allalaadimise link on LINK. Avage "Tools> BurnFirmware", seadke parameeter joonisele 3 ja klõpsake nuppu OK.
- Avage Pythoni fail ja klõpsake paremal nuppu "DownloadAndRun". Programm on tahvlile alla laaditud, näete seda vasakpoolses menüüs „seade”, nagu joonis 4.
Püsivara ja allalaadimine
Püsivara saate siit: Püsivara.
Määrake ühendus SD-kaardi mooduliga failis: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD -initsiatiiv
spi = SPI (1, baudrate = 400000, polaarsus = 1, faas = 0, sck = tihvt (14), mosi = tihvt (13), miso = tihvt (12)) spi.init () # Veenduge, et andmeedastuskiirus oleks õige. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Ühildub PCB -ga vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD")))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Seadistage ühendus A9G mooduliga failis: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G avatud
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # määrake nööpnõel madalale ajale. Uni (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PW.väärtus (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G avatud', 0, 0)
AT -käsk A9G moodulile
AT+GPS = 1 # 1: lülitage GPS sisse, 0: lülitage GPS välja
AT+LOCATION = 2 #Hankige GPS -i aadressiteave, kui GPS näeb satelliiti enne tagasipöördumist, vastasel juhul tagastab see GPS EI Fikseeri kohe++GPSRD = 0 #Lõpeta teatamine
Ühendage plaat arvutiga USB-kaabli abil ja kasutage uPyCrafti, et laadida alla kõik failid kaustast “/Project_Gps-Trace-Analysis-master/workspace”
4. samm: teabe töötlemine
- Kopeerige TXT-fail, mis algab "jäljega" SD-kaardil, kausta "/Project_Gps-Trace-Analysis-master".
- Avage märkmikuga Pythoni fail ja muutke koodi.
#Fail, mida soovite analüüsida
jälg_faili_nimi = "./jälg4.txt"