Taula de continguts:
- Pas 1: connexió
- Pas 2: programari a l'ordinador
- Pas 3: Firmware sobre ESP32
- Pas 4: processament de la informació
Vídeo: Rastrejador GPS de bricolatge --- Aplicació Python: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Vaig participar en un esdeveniment ciclista fa dues setmanes. Un cop acabat, volia comprovar la ruta i la velocitat que feia en aquell moment. Malauradament, no es va aconseguir. Ara faig servir ESP32 per fer un rastrejador GPS i la pròxima vegada em gravaré la meva ruta en bicicleta. El rastrejador GPS pot desar la informació d’ubicació i ubicació a la targeta SD i aquesta informació es pot processar i dibuixar un gràfic de distància i velocitat amb el programari del PC.
Subministraments:
Maquinari:
- MakePython ESP32 (amb Wrover)
- MakePython A9G
La placa MakePython A9G és una placa d’expansió GPS / GPRS per a MakePython.
- Pila
- Cable micro USB
Programari:
- Python 3
- uPyCraft_v1.1
Pas 1: connexió
Connecteu dues taules segons els pins. El mòdul es pot alimentar amb bateria o cable micro USB.
Pas 2: programari a l'ordinador
Python3:
- Podeu descarregar-lo des d’aquí: Python3. Trieu la versió 3.8.5, descarregueu-la i instal·leu-la.
- La selecció "Afegeix Python 3.8 a PATH" s'ha de comprovar durant el procés d'instal·lació, tal com es mostra a la figura 1.
- Si la biblioteca que utilitza el programa no està instal·lada, el programa us demanarà quan s’executi. Podeu executar l'ordre següent a cmd.exe per instal·lar biblioteques, tal com es mostra a la figura 2.
pip install xxx // xxx és el nom de la biblioteca
pip uninstall xxx // xxx és el nom de la llista pip list // imprimeix les biblioteques instal·lades
Codi:
- Podeu obtenir el fitxer python des d’aquí: Code. El fitxer python és "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Dibuixa una ruta al mapa.
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")
Dibuixa gràfics de velocitat vs temps, distància vs. temps
subtrama plt (2, 1, 1)
plt.plot (time_list [0: -1], velocitat) plt.title ("Velocitat mitjana:" + str (avg_speed)) # plt.xlabel ("Temps") plt.ylabel ("Velocitat (m / s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Distància total:" + str (round (total_distance [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
Pas 3: Firmware sobre ESP32
uPyCraft_v1.1
- Podeu descarregar-lo des d’aquí: uPyCraft.
- Connecteu la placa al PC mitjançant un cable USB. Obriu uPyCraft_v1.1, seleccioneu les eines: "Eina> tauler> esp32" i "Eines> port> com *", feu clic al botó connectat de la dreta.
- Si la connexió no funciona, la sol·licitud es mostrarà com a "obre l'error de sèrie, torneu-ho a provar". Cal actualitzar el firmware per prometre connexions amb èxit. L’enllaç de descàrrega del firmware és LINK. Obriu "Eines> BurnFirmware", configureu el paràmetre com es mostra a la figura 3 i feu clic a D'acord.
- Obriu el fitxer Python i feu clic al botó "DownloadAndRun" a la dreta. El programa s’ha descarregat al tauler, el podeu veure al menú “dispositiu” de l’esquerra, com es mostra a la figura 4.
Firmware i descàrrega
Podeu obtenir el firmware des d’aquí: Firmware.
Configureu la connexió amb el mòdul de la targeta SD al fitxer: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD init
spi = SPI (1, velocitat de transmissió = 400000, polaritat = 1, fase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Assegureu la velocitat de transmissió correcta lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Compatible amb PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Configureu la connexió amb el mòdul A9G al fitxer: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G obert
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # estableix el pin a low time.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 obert', 0, 0)
Comanda AT per al mòdul A9G
AT + GPS = 1 # 1: activeu el GPS, 0: apagueu el GPS
AT + LOCATION = 2 # Obtén la informació de l'adreça del GPS, sempre que el GPS pugui veure el satèl·lit abans de tornar, en cas contrari retornarà el GPS NO FIXAR-SE ARA A + GPSRD = 0 # Deixar d'informes
Connecteu la placa al PC mitjançant un cable USB i utilitzeu uPyCraft per descarregar tots els fitxers de la carpeta “/ Project_Gps-Trace-Analysis-master / workspace”
Pas 4: processament de la informació
- Copieu el fitxer TXT començant per "trace" a la targeta SD a la carpeta “/ Project_Gps-Trace-Analysis-master”.
- Obriu el fitxer Python amb el bloc de notes i canvieu el codi.
#Fitxer que voleu analitzar
trace_file_name = "./trace4.txt"