Sadržaj:
- Korak 1: Povezivanje
- Korak 2: Softver na računaru
- Korak 3: Firmware o ESP32
- Korak 4: Obrada informacija
Video: Uradi sam GPS tracker --- Python aplikacija: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Učestvovao sam na biciklističkom događaju prije dvije sedmice. Nakon što sam završio, htio sam provjeriti rutu i brzinu kojom sam se tada vozio. Nažalost, to nije postignuto. Sada koristim ESP32 za izradu GPS trackera, a sljedeći put ću snimiti svoju biciklističku rutu. GPS tracker može spremiti podatke o lokaciji i vremenu na SD karticu, a ti se podaci mogu obraditi i nacrtati grafikon udaljenosti i brzine pomoću softvera za računalo.
Potrošni materijal:
Hardver:
- MakePython ESP32 (sa Wroverom)
- MakePython A9G
MakePython A9G ploča je GPS/GPRS ploča za proširenje za MakePython.
- Baterija
- Mikro USB kabl
Softver:
- Python 3
- uPyCraft_v1.1
Korak 1: Povezivanje
Spojite dvije ploče prema pinovima. Modul se može napajati baterijom ili mikro USB kabelom.
Korak 2: Softver na računaru
Python3:
- Možete ga preuzeti odavde: Python3. Odaberite verziju 3.8.5, preuzmite je i instalirajte.
- Odabir „Dodaj Python 3.8 u PATH“mora se provjeriti tokom procesa instalacije, kao što je prikazano na slici 1.
- Ako biblioteka koju koristi program nije instalirana, program će zatražiti da se pokrene. Za instaliranje biblioteka možete pokrenuti sljedeću naredbu u cmd.exe, kao na slici 2.
pip install xxx // xxx je naziv biblioteke
pip uninstall xxx // xxx je naziv biblioteke pip list // ispis instaliranih biblioteka
Šifra:
- Python datoteku možete preuzeti odavde: Kod. Python datoteka je “/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Nacrtajte rutu na karti.
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 [width - 1], lon_list [width - 1], color = 'red') gmap.draw ("./ map -trace.html")
Nacrtajte grafikone brzine prema vremenu, udaljenosti prema vremenu
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], speed) plt.title ("Prosječna brzina:" + str (avg_speed)) # plt.xlabel ("Vrijeme") plt.ylabel ("Brzina (m/s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Total Distance:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
Korak 3: Firmware o ESP32
uPyCraft_v1.1
- Možete ga preuzeti ovdje: uPyCraft.
- Spojite ploču na računar putem USB kabla. Otvorite uPyCraft_v1.1, odaberite alate: "Alat> ploča> esp32" i "Alati> port> com*", kliknite povezano dugme s desne strane.
- Ako povezivanje nije uspješno, upit će se prikazati kao "otvorite serijsku grešku, pokušajte ponovo". Morate ažurirati firmver da biste obećali uspješne veze. Veza za preuzimanje firmvera je LINK. Otvorite “Alati> BurnFirmware”, postavite parametar kao na slici 3 i kliknite U redu.
-
Otvorite Python datoteku i kliknite gumb "DownloadAndRun" s desne strane. Program je preuzet na ploču, možete ga vidjeti u izborniku "uređaj" s lijeve strane, kao na slici 4.
Firmware i preuzimanje
Ovdje možete preuzeti firmver: Firmware.
Postavite vezu sa modulom SD kartice u datoteci: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# SD init
spi = SPI (1, brzina prijenosa = 400000, polaritet = 1, faza = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Osigurajte desni boudrate LCD. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Kompatibilan sa PCB -om vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Postavite vezu s modulom A9G u datoteci: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G otvoren
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # postavite pin na nisko vrijeme.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9GYPW.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G otvoren', 0, 0)
AT naredba za A9G modul
AT+GPS = 1 # 1: Uključite GPS, 0: Isključite GPS
NA+LOKACIJI = 2 #Dobijte podatke o adresi GPS -a, sve dok GPS može vidjeti satelit prije povratka, u suprotnom će se vratiti GPS NIJE FIKSIRANO NA+GPSRD = 0 #Prestanite s izvještavanjem
Spojite ploču na računalo putem USB kabela i upotrijebite uPyCraft za preuzimanje svih datoteka u mapu “/Project_Gps-Trace-Analysis-master/radni prostor”
Korak 4: Obrada informacija
- Kopirajte TXT datoteku koja počinje s "trace" na SD kartici u mapu "/Project_Gps-Trace-Analysis-master".
- Otvorite Python datoteku s bilježnicom i promijenite kôd.
#Datoteka koju želite analizirati
trace_file_name = "./trace4.txt"