Obsah:
Video: DIY GPS Tracker --- Python aplikace: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Před dvěma týdny jsem se zúčastnil cyklistické akce. Po dokončení jsem chtěl zkontrolovat trasu a rychlost, kterou jsem v té době jel. Bohužel toho nebylo dosaženo. Nyní používám ESP32 k výrobě GPS trackeru a příště si ho vezmu k zaznamenání své cyklistické trasy. GPS tracker může ukládat informace o poloze a čase na kartu SD a tyto informace lze zpracovat a pomocí softwaru PC nakreslit graf vzdálenosti a rychlosti.
Zásoby:
Hardware:
- MakePython ESP32 (s Wroverem)
- MakePython A9G
Deska MakePython A9G je rozšiřující deska GPS/GPRS pro MakePython.
- baterie
- Micro USB kabel
Software:
- Python 3
- uPyCraft_v1.1
Krok 1: Připojení
Připojte dvě desky podle kolíků. Modul lze napájet z baterie nebo kabelu Micro USB.
Krok 2: Software na PC
Python3:
- Můžete si jej stáhnout zde: Python3. Vyberte verzi 3.8.5, stáhněte si ji a nainstalujte.
- Během instalace je třeba zaškrtnout výběr „Přidat Python 3.8 do PATH“, jak ukazuje obrázek 1.
- Pokud knihovna používaná programem není nainstalována, program se při spuštění zobrazí výzva. Chcete -li instalovat knihovny, můžete spustit následující příkaz v cmd.exe, viz obrázek 2.
pip install xxx // xxx je název knihovny
pip uninstall xxx // xxx je název knihovny pip list // tisk nainstalovaných knihoven
Kód:
- Soubor python můžete získat zde: Kód. Soubor pythonu je „/Project_Gps-Trace-Analysis-master/Google_trace.py“.
- Nakreslete trasu na mapu.
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 [šířka - 1], lon_list [šířka - 1], barva = 'červená') gmap.draw ("./ map -trace.html")
Nakreslete grafy rychlosti vs. času, vzdálenosti vs. času
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], rychlost) plt.title ("Průměrná rychlost:" + str (avg_speed)) # plt.xlabel ("Time") plt.ylabel ("Rychlost (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 ("Čas") plt.ylabel ("Vzdálenost (m)") plt.draw () plt.pause (0) pass
Krok 3: Firmware o ESP32
uPyCraft_v1.1
- Můžete si jej stáhnout zde: uPyCraft.
- Připojte desku k počítači kabelem USB. Otevřete uPyCraft_v1.1, vyberte nástroje: „Nástroj> deska> esp32“a „Nástroje> port> com*“, klikněte na připojené tlačítko vpravo.
- Pokud připojení není úspěšné, zobrazí se výzva jako „otevřete sériovou chybu, zkuste to znovu“. Chcete -li úspěšně slíbit připojení, musíte aktualizovat firmware. Odkaz na stažení firmwaru je LINK. Otevřete „Nástroje> BurnFirmware“, nastavte parametr podle obrázku 3 a klikněte na OK.
-
Otevřete soubor Python a vpravo klikněte na tlačítko „DownloadAndRun“. Program byl stažen na desku, můžete jej vidět v nabídce „zařízení“vlevo, jako na obrázku 4.
Firmware a stahování
Firmware můžete získat zde: Firmware.
Nastavte spojení s modulem karty SD v souboru: „/Project_Gps-Trace-Analysis-master/workspace/test.py“
# SD inic
spi = SPI (1, přenosová rychlost = 400000, polarita = 1, fáze = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Zajistěte správnou přenosovou rychlost lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Kompatibilní s PCB vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD"))) tisk ("SD OK") lcd.text ('SPI OK', 0, 16)
Nastavte spojení s modulem A9G v souboru: „/Project_Gps-Trace-Analysis-master/workspace/test.py“
# A9G otevřeno
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # set pin to low time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)
AT příkaz pro modul A9G
AT+GPS = 1 # 1: Zapněte GPS, 0: Vypněte GPS
AT+LOCATION = 2 #Získejte informace o adrese GPS, pokud GPS vidí satelit před návratem, jinak vrátí GPS NENÍ OPRAVENO TEĎ+GPSRD = 0 #Zastavit hlášení
Připojte desku k počítači pomocí kabelu USB a pomocí uPyCraft stáhněte všechny soubory ve složce „/Project_Gps-Trace-Analysis-master/workspace“
Krok 4: Zpracování informací
- Zkopírujte soubor TXT začínající „trasováním“na SD kartu do složky „/Project_Gps-Trace-Analysis-master“.
- Otevřete soubor Pythonu pomocí poznámkového bloku a změňte kód.
#Soubor, který chcete analyzovat
trace_file_name = "./trace4.txt"