Sisukord:

DIY GPS-jälgija --- Pythoni rakendus: 5 sammu (piltidega)
DIY GPS-jälgija --- Pythoni rakendus: 5 sammu (piltidega)

Video: DIY GPS-jälgija --- Pythoni rakendus: 5 sammu (piltidega)

Video: DIY GPS-jälgija --- Pythoni rakendus: 5 sammu (piltidega)
Video: Architecture Kata #1 - Разбор с экспертом [Как работает настоящий Solution Architect] #ityoutubersru 2024, Juuni
Anonim
DIY GPS-jälgija --- Pythoni rakendus
DIY GPS-jälgija --- Pythoni rakendus

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

Ühendus
Ühendus
Ühendus
Ühendus

Ühendage kaks plaati vastavalt tihvtidele. Moodul saab toite aku või mikro -USB -kaabli abil.

Samm 2: Tarkvara arvutis

Tarkvara arvutis
Tarkvara arvutis
Tarkvara arvutis
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

Püsivara ESP32 kohta
Püsivara ESP32 kohta
Püsivara ESP32 kohta
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

Teabe töötlemine
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"