Innholdsfortegnelse:
- Trinn 1: Tilkobling
- Trinn 2: Programvare på PC
- Trinn 3: Fastvare om ESP32
- Trinn 4: Behandler informasjon
Video: DIY GPS Tracker --- Python-applikasjon: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Jeg deltok på et sykkelarrangement for to uker siden. Etter at jeg var ferdig, ønsket jeg å sjekke ruten og hastigheten jeg kjørte på den tiden. Dessverre ble det ikke oppnådd. Nå bruker jeg ESP32 til å lage en GPS -tracker, og jeg tar den til å registrere sykkelruten min neste gang. GPS -trackeren kan lagre posisjons- og tidsinformasjon på SD -kortet, og denne informasjonen kan behandles og tegne et diagram over avstand og hastighet med PC -programvaren.
Rekvisita:
Maskinvare:
- MakePython ESP32 (med Wrover)
- MakePython A9G
MakePython A9G -kort er GPS/GPRS -utvidelseskort for MakePython.
- Batteri
- Micro USB -kabel
Programvare:
- Python 3
- uPyCraft_v1.1
Trinn 1: Tilkobling
Koble to brett i henhold til pinnene. Modulen kan drives av batteri eller mikro -USB -kabel.
Trinn 2: Programvare på PC
Python3:
- Du kan laste den ned her: Python3. Velg 3.8.5 -versjonen, last ned og installer den.
- "Legg til Python 3.8 til PATH" -valget må kontrolleres under installasjonsprosessen, som figur 1.
- Hvis biblioteket som brukes av programmet ikke er installert, vil programmet spørre når det kjører. Du kan kjøre følgende kommando i cmd.exe for å installere biblioteker, som figur 2.
pip install xxx // xxx er biblioteksnavn
pip avinstallere xxx // xxx er pipeliste for biblioteknavn // skrive ut installerte biblioteker
Kode:
- Du kan få python -filen herfra: Code. Python-filen er "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Tegn en rute på kartet.
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 [bredde - 1], lon_list [bredde - 1], farge = 'rød') gmap.draw ("./ map -trace.html")
Tegn grafer over hastighet kontra tid, avstand vs. tid
tomt. tomt (2, 1, 1)
plt.plot (time_list [0: -1], speed) plt.title ("Gjennomsnittlig hastighet:" + 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
Trinn 3: Fastvare om ESP32
uPyCraft_v1.1
- Du kan laste den ned her: uPyCraft.
- Koble kortet til PC -en med en USB -kabel. Åpne uPyCraft_v1.1, velg verktøyene:”Tool> board> esp32” og “Tools> port> com*”, klikk på den tilkoblede knappen til høyre.
- Hvis tilkoblingen ikke lykkes, vises ledeteksten som "åpne seriefeilen, vennligst prøv igjen". Du må oppdatere fastvaren for å love tilkoblinger. Nedlastingskoblingen for fastvare er LINK. Åpne "Verktøy> BurnFirmware", angi parameteren som Figur 3, og klikk OK.
-
Åpne Python -filen, og klikk på "DownloadAndRun" -knappen til høyre. Programmet er lastet ned til brettet, du kan se det i "enhet" -menyen til venstre, som figur 4.
Fastvare og nedlasting
Du kan få fastvaren herfra: Fastvare.
Angi tilkoblingen med SD-kortmodulen i filen: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD init
spi = SPI (1, baudrate = 400000, polaritet = 1, fase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Sørg for høyre baudrate lcd. tekst ('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)
Angi tilkoblingen med A9G-modulen i filen: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G åpen
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # set pin til low time.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PW.verdi (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G åpen', 0, 0)
AT -kommando for A9G -modulen
AT+GPS = 1 # 1: Slå på GPS -en, 0: Slå av GPS -en
AT+LOCATION = 2 #Få adresseinformasjonen til GPS, så lenge GPS -en kan se satellitten før den returnerer, ellers vil den returnere GPS NOT FIX NOW AT+GPSRD = 0 #Stopp rapportering
Koble kortet til PC-en med USB-kabel, og bruk uPyCraft for å laste ned alle filene i mappen "/Project_Gps-Trace-Analysis-master/workspace"
Trinn 4: Behandler informasjon
- Kopier TXT-filen som begynner med "trace" på SD-kortet til mappen "/Project_Gps-Trace-Analysis-master".
- Åpne Python -filen med notisblokken og endre koden.
#Fil du vil ha analyse
trace_file_name = "./trace4.txt"