Innehållsförteckning:

DIY GPS Tracker --- Python-applikation: 5 steg (med bilder)
DIY GPS Tracker --- Python-applikation: 5 steg (med bilder)

Video: DIY GPS Tracker --- Python-applikation: 5 steg (med bilder)

Video: DIY GPS Tracker --- Python-applikation: 5 steg (med bilder)
Video: Testing Stable Diffusion inpainting on video footage #shorts 2024, November
Anonim
DIY GPS Tracker --- Python-applikation
DIY GPS Tracker --- Python-applikation

Jag deltog i ett cykelevenemang för två veckor sedan. Efter att ha avslutat ville jag kontrollera rutten och hastigheten jag cyklade vid den tiden. Tyvärr uppnåddes det inte. Nu använder jag ESP32 för att göra en GPS -tracker, och jag tar den för att spela in min cykelväg nästa gång. GPS -spåraren kan spara plats- och tidsinformation till SD -kortet, och denna information kan bearbetas och rita ett diagram över avstånd och hastighet med PC -programvaran.

Tillbehör:

Hårdvara:

  • MakePython ESP32 (med Wrover)
  • MakePython A9G

MakePython A9G -kort är GPS/GPRS -expansionskort för MakePython.

  • Batteri
  • Micro USB -kabel

Programvara:

  • Python 3
  • uPyCraft_v1.1

Steg 1: Anslutning

Förbindelse
Förbindelse
Förbindelse
Förbindelse

Anslut två brädor enligt stiften. Modulen kan drivas med batteri eller Micro USB -kabel.

Steg 2: Programvara på PC

Programvara på PC
Programvara på PC
Programvara på PC
Programvara på PC

Python3:

  • Du kan ladda ner den här: Python3. Välj 3.8.5 -versionen, ladda ner och installera den.
  • Valet "Lägg till Python 3.8 till PATH" måste kontrolleras under installationsprocessen, som figur 1.
  • Om biblioteket som används av programmet inte är installerat, frågar programmet när det körs. Du kan köra följande kommando i cmd.exe för att installera bibliotek, som figur 2.

pip install xxx // xxx är bibliotekets namn

pip avinstallera xxx // xxx är biblioteksnamns piplista // skriva ut installerade bibliotek

Koda:

  • Du kan hämta python -filen härifrån: Kod. Python-filen är "/Project_Gps-Trace-Analysis-master/Google_trace.py".
  • Rita en rutt på kartan.

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 [bredd - 1], lon_list [bredd - 1], färg = 'röd') gmap.draw ("./ map -trace.html")

Rita diagram över hastighet kontra tid, avstånd kontra tid

plt. delplot (2, 1, 1)

plt.plot (time_list [0: -1], speed) plt.title ("Medelhastighet:" + str (avg_speed)) # plt.xlabel ("Time") plt.ylabel ("Speed (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

Steg 3: Firmware om ESP32

Firmware om ESP32
Firmware om ESP32
Firmware om ESP32
Firmware om ESP32

uPyCraft_v1.1

  • Du kan ladda ner den härifrån: uPyCraft.
  • Anslut kortet till datorn med en USB -kabel. Öppna uPyCraft_v1.1, välj verktygen:”Verktyg> kort> esp32” och”Verktyg> port> com*”, klicka på den anslutna knappen till höger.
  • Om anslutningen inte lyckas visas meddelandet som "öppna seriefelet, försök igen". Du måste uppdatera firmware för att lova anslutningar. Firmware -nedladdningslänken är LINK. Öppna "Verktyg> BurnFirmware", ställ in parametern som Figur 3 och klicka på OK.
  • Öppna Python -filen och klicka på knappen "DownloadAndRun" till höger. Programmet har laddats ner till tavlan, du kan se det i "enhet" -menyn till vänster, som figur 4.

Firmware och nedladdning

Du kan hämta firmware här: Firmware.

Ange anslutningen med SD-kortmodulen i filen: "/Project_Gps-Trace-Analysis-master/workspace/test.py"

# SD init

spi = SPI (1, baudrate = 400000, polaritet = 1, fas = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Se till att höger baudrate lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Kompatibel med PCB vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)

Ange anslutningen med A9G-modulen i filen: "/Project_Gps-Trace-Analysis-master/workspace/test.py"

# A9G öppet

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_W.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)

AT -kommando för A9G -modulen

AT+GPS = 1 # 1: Slå på GPS: n, 0: Stäng av GPS: n

AT+LOCATION = 2 #Skaffa adressinformationen för GPS, så länge GPS: n kan se satelliten innan den återvänder, annars returnerar den GPS NOT FIX NOW AT+GPSRD = 0 #Stoppa rapportering

Anslut kortet till datorn med en USB-kabel och använd uPyCraft för att ladda ner alla filer i mappen "/Project_Gps-Trace-Analysis-master/workspace"

Steg 4: Bearbetar information

Bearbetar information
Bearbetar information
  • Kopiera TXT-filen som börjar med "spår" på SD-kortet till mappen "/Project_Gps-Trace-Analysis-master".
  • Öppna Python -filen med anteckningsblocket och ändra koden.

#Fil som du vill analysera

trace_file_name = "./trace4.txt"

Använd kommandoraden för att köra Python -filen, du får siffran för hastighet och avstånd, som figur 5

Steg 5: Låt oss försöka