Indholdsfortegnelse:
Video: DIY GPS Tracker --- Python-applikation: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Jeg deltog i et cykelarrangement for to uger siden. Efter endt ville jeg kontrollere ruten og den hastighed, jeg kørte på det tidspunkt. Desværre blev det ikke opnået. Nu bruger jeg ESP32 til at lave en GPS -tracker, og jeg vil tage den til at registrere min cykelrute næste gang. GPS -trackeren kan gemme oplysninger om placering og tid på SD -kortet, og disse oplysninger kan behandles og tegne et diagram over afstand og hastighed med pc -softwaren.
Tilbehør:
Hardware:
- MakePython ESP32 (med Wrover)
- MakePython A9G
MakePython A9G -kort er GPS/GPRS -udvidelseskort til MakePython.
- Batteri
- Micro USB kabel
Software:
- Python 3
- uPyCraft_v1.1
Trin 1: Tilslutning
Forbind to brædder i henhold til stifterne. Modulet kan drives af batteri eller Micro USB -kabel.
Trin 2: Software på pc
Python3:
- Du kan downloade den herfra: Python3. Vælg 3.8.5 -versionen, download og installer den.
- Valget "Tilføj Python 3.8 til PATH" skal kontrolleres under installationsprocessen, som figur 1.
- Hvis biblioteket, der bruges af programmet, ikke er installeret, vil programmet spørge, når det kører. Du kan køre følgende kommando i cmd.exe for at installere biblioteker, som figur 2.
pip install xxx // xxx er biblioteksnavn
pip afinstaller xxx // xxx er biblioteksnavn pip liste // udskriv installerede biblioteker
Kode:
- Du kan hente python -filen herfra: Kode. Python-filen er "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Tegn en rute på kortet.
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], farve = 'rød') gmap.draw ("./ map -trace.html")
Tegn grafer over hastighed vs. tid, afstand vs. tid
plt. delplot (2, 1, 1)
plt.plot (time_list [0: -1], hastighed) plt.title ("Gennemsnitlig hastighed:" + 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
Trin 3: Firmware om ESP32
uPyCraft_v1.1
- Du kan downloade den her: uPyCraft.
- Slut kortet til pc'en med et USB -kabel. Åbn uPyCraft_v1.1, vælg værktøjerne:”Tool> board> esp32” og “Tools> port> com*”, klik på den tilsluttede knap til højre.
- Hvis forbindelsen ikke lykkedes, vises prompten som "åbn den serielle fejl, prøv venligst igen". Du skal opdatere firmwaren for at love forbindelser. Firmware -downloadlinket er LINK. Åbn "Værktøjer> BurnFirmware", indstil parameteren som figur 3, og klik på OK.
-
Åbn Python -filen, og klik på knappen "DownloadAndRun" til højre. Programmet er blevet downloadet til tavlen, du kan se det i menuen "enhed" til venstre, som figur 4.
Firmware og download
Du kan hente firmwaren herfra: Firmware.
Indstil forbindelsen med SD-kortmodulet 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øjre 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)
Indstil forbindelsen med A9G-modulet i filen: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G åben
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.værdi (0) # sæt pin til lav tid. Søvn (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.værdi (0) time.sleep (1) A9G_PW.værdi (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G åben', 0, 0)
AT -kommando for A9G -modulet
AT+GPS = 1 # 1: Tænd for GPS'en, 0: Sluk for GPS'en
AT+LOCATION = 2 #Få adresseoplysningerne for GPS, så længe GPS'en kan se satellitten, før den vender tilbage, ellers returnerer den GPS NOT FIX NOW AT+GPSRD = 0 #Stop rapportering
Tilslut kortet til pc'en med USB-kabel, og brug uPyCraft til at downloade alle filer i mappen "/Project_Gps-Trace-Analysis-master/workspace"
Trin 4: Behandler oplysninger
- Kopier TXT-filen, der begynder med "trace" på SD-kortet, til mappen "/Project_Gps-Trace-Analysis-master".
- Åbn Python -filen med notesblokken, og skift koden.
#Fil, som du ønsker analyse
trace_file_name = "./trace4.txt"