Sadržaj:
- Korak 1: Povezivanje
- Korak 2: Softver na računalu
- Korak 3: Firmware o ESP32
- Korak 4: Obrada informacija
Video: DIY GPS Tracker --- Python aplikacija: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Sudjelovao sam na biciklističkom događaju prije dva tjedna. Nakon što sam završio, želio 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.
Pribor:
Hardver:
- MakePython ESP32 (s Wroverom)
- MakePython A9G
MakePython A9G ploča je GPS/GPRS ploča za proširenje za MakePython.
- Baterija
- Mikro USB kabel
Softver:
- Python 3
- uPyCraft_v1.1
Korak 1: Povezivanje
Spojite dvije ploče prema iglama. Modul se može napajati baterijom ili mikro USB kabelom.
Korak 2: Softver na računalu
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 tijekom instalacijskog procesa, kao što je prikazano na slici 1.
- Ako knjižnica koju koristi program nije instalirana, program će zatražiti da se pokrene. Sljedeću naredbu možete pokrenuti u cmd.exe za instaliranje knjižnica, kao što je prikazano na slici 2.
pip install xxx // xxx je naziv knjižnice
pip uninstall xxx // xxx je naziv knjižnice pip list // ispis instaliranih knjižnica
Kodirati:
- 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 ("Ukupna udaljenost:" + str (okrugla (total_distance [- 1], 2))) plt.xlabel ("Vrijeme") plt.ylabel ("Udaljenost (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čunalo putem USB kabela. Otvorite uPyCraft_v1.1, odaberite alate: "Alat> ploča> esp32" i "Alati> port> com*", kliknite povezani gumb s desne strane.
- Ako povezivanje nije uspješno, upit će se prikazati kao "otvori serijsku pogrešku, pokušajte ponovno". Morate ažurirati firmver kako 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 što je prikazano na slici 4.
Firmware i preuzimanje
Ovdje možete preuzeti firmver: Firmware.
Postavite vezu s 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)) # Compatible with PCB 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 to low time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9GYPW.vrijednost (1) vrijeme.spavanje (1) lcd.fill (0) lcd.text ('A9G otvoren', 0, 0)
AT naredba za modul A9G
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 protivnom će se vratiti GPS NIJE POPRAVLJEN SADA NA+GPSRD = 0 #Prestanite s izvještavanjem
Spojite ploču na računalo USB kabelom 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"