Cuprins:
- Pasul 1: Conexiune
- Pasul 2: Software pe computer
- Pasul 3: Firmware Despre ESP32
- Pasul 4: Prelucrarea informațiilor
Video: GPS Tracker DIY --- Aplicație Python: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Am participat la un eveniment de ciclism acum două săptămâni. După ce am terminat, am vrut să verific traseul și viteza pe care am mers-o la acel moment. Din păcate, nu s-a realizat. Acum folosesc ESP32 pentru a face un GPS tracker și îl voi lua pentru a-mi înregistra ruta de ciclism data viitoare. GPS tracker-ul poate salva informațiile despre locație și oră pe cardul SD, iar aceste informații pot fi procesate și pot desena o diagramă a distanței și vitezei cu software-ul computerului.
Provizii:
Hardware:
- MakePython ESP32 (cu Wrover)
- MakePython A9G
Placa MakePython A9G este placa de expansiune GPS / GPRS pentru MakePython.
- Baterie
- Cablu micro USB
Software:
- Python 3
- uPyCraft_v1.1
Pasul 1: Conexiune
Conectați două plăci conform pinilor. Modulul poate fi alimentat de la baterie sau cablu Micro USB.
Pasul 2: Software pe computer
Python3:
- O puteți descărca de aici: Python3. Alegeți versiunea 3.8.5, descărcați-o și instalați-o.
- Selecția „Adăugați Python 3.8 la PATH” trebuie verificată în timpul procesului de instalare, așa cum se arată în Figura 1.
- Dacă biblioteca utilizată de program nu este instalată, programul va solicita când rulează. Puteți rula următoarea comandă în cmd.exe pentru a instala biblioteci, ca în Figura 2.
pip install xxx // xxx este numele bibliotecii
pip dezinstalare xxx // xxx este numele bibliotecii pip list // tipăriți bibliotecile instalate
Cod:
- Puteți obține fișierul python de aici: Cod. Fișierul python este „/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Desenați un traseu pe hartă.
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")
Desenați grafice de viteză vs. timp, distanță vs. timp
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], speed) plt.title ("Viteza medie:" + 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 ("Distanța totală:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
Pasul 3: Firmware Despre ESP32
uPyCraft_v1.1
- O puteți descărca de aici: uPyCraft.
- Conectați placa la computer prin cablu USB. Deschideți uPyCraft_v1.1, selectați instrumentele: „Instrument> bord> esp32” și „Instrumente> port> com *”, faceți clic pe butonul conectat din dreapta.
- Dacă conexiunea nu reușește, solicitarea va fi afișată ca „deschideți eroarea de serie, vă rugăm să încercați din nou”. Trebuie să actualizați firmware-ul pentru a promite conexiuni cu succes. Link-ul de descărcare firmware este LINK. Deschideți „Tools> BurnFirmware”, setați parametrul, ca în Figura 3, și faceți clic pe OK.
-
Deschideți fișierul Python și faceți clic pe butonul „DownloadAndRun” din dreapta. Programul a fost descărcat pe tablă, îl puteți vedea în meniul „dispozitiv” din stânga, ca în Figura 4.
Firmware și descărcare
Puteți obține firmware-ul de aici: Firmware.
Setați conexiunea cu modulul cardului SD în fișierul: „/Project_Gps-Trace-Analysis-master/workspace/test.py”
# SD init
spi = SPI (1, baudrate = 400000, polaritate = 1, phase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Asigurați baudrate dreapta lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Compatibil cu PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Setați conexiunea cu modulul A9G în fișierul: „/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G deschis
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # setează pinul la timp redus.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 deschis”, 0, 0)
Comandă AT pentru modulul A9G
AT + GPS = 1 # 1: Porniți GPS-ul, 0: Opriți GPS-ul
AT + LOCATION = 2 # Obțineți informațiile de adresă ale GPS-ului, atâta timp cât GPS-ul poate vedea satelitul înainte de a se întoarce, în caz contrar acesta va reveni GPS NOT FIX ACUM AT + GPSRD = 0 #Stop reporting
Conectați placa la computer prin cablu USB și utilizați uPyCraft pentru a descărca toate fișierele din folderul „/ Project_Gps-Trace-Analysis-master / workspace”
Pasul 4: Prelucrarea informațiilor
- Copiați fișierul TXT începând cu „trace” în cardul SD în folderul „/ Project_Gps-Trace-Analysis-master”.
- Deschideți fișierul Python cu blocnotesul și schimbați codul.
#Fisierul pe care doriți să îl analizați
trace_file_name = "./trace4.txt"