Cuprins:

GPS Tracker DIY --- Aplicație Python: 5 pași (cu imagini)
GPS Tracker DIY --- Aplicație Python: 5 pași (cu imagini)

Video: GPS Tracker DIY --- Aplicație Python: 5 pași (cu imagini)

Video: GPS Tracker DIY --- Aplicație Python: 5 pași (cu imagini)
Video: Construim un GPS tracker cu Python si Raspberry PI - Sesiune de programare live @ IT de weekend 2024, Septembrie
Anonim
DIY GPS Tracker --- Aplicație Python
DIY GPS Tracker --- Aplicație Python

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

Conexiune
Conexiune
Conexiune
Conexiune

Conectați două plăci conform pinilor. Modulul poate fi alimentat de la baterie sau cablu Micro USB.

Pasul 2: Software pe computer

Software pe computer
Software pe computer
Software pe computer
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

Firmware Despre ESP32
Firmware Despre ESP32
Firmware Despre ESP32
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

Prelucrarea informațiilor
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"