Table des matières:
- Étape 1: Connexion
- Étape 2: Logiciel sur PC
- Étape 3: Firmware À propos d'ESP32
- Étape 4: Traitement des informations
Vidéo: DIY GPS Tracker --- Application Python : 5 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
J'ai participé à une épreuve cycliste il y a deux semaines. Après avoir terminé, je voulais vérifier l'itinéraire et la vitesse à laquelle j'ai roulé à ce moment-là. Malheureusement, il n'a pas été atteint. Maintenant, j'utilise ESP32 pour faire un tracker GPS, et je l'utiliserai pour enregistrer mon itinéraire à vélo la prochaine fois. Le traceur GPS peut enregistrer les informations de localisation et d'heure sur la carte SD, et ces informations peuvent être traitées et dessiner un tableau de distance et de vitesse avec le logiciel PC.
Fournitures:
Matériel:
- MakePython ESP32 avec Wrover)
- MarquePython A9G
La carte MakePython A9G est une carte d'extension GPS/GPRS pour MakePython.
- Batterie
- Câble micro-USB
Logiciel:
- Python 3
- uPyCraft_v1.1
Étape 1: Connexion
Connectez deux cartes en fonction des broches. Le module peut être alimenté par batterie ou câble Micro USB.
Étape 2: Logiciel sur PC
Python3:
- Vous pouvez le télécharger ici: Python3. Choisissez la version 3.8.5, téléchargez-la et installez-la.
- La sélection « Ajouter Python 3.8 au CHEMIN » doit être cochée pendant le processus d'installation, comme illustré à la figure 1.
- Si la bibliothèque utilisée par le programme n'est pas installée, le programme vous le demandera lors de son exécution. Vous pouvez exécuter la commande suivante dans cmd.exe pour installer les bibliothèques, comme la figure 2.
pip install xxx // xxx est le nom de la bibliothèque
pip uninstall xxx // xxx est le nom de la bibliothèque pip list // imprime les bibliothèques installées
Code:
- Vous pouvez obtenir le fichier python à partir d'ici: Code. Le fichier python est "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Tracez un itinéraire sur la carte.
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")
Tracez des graphiques de la vitesse par rapport au temps, de la distance par rapport au temps
plt.sous-intrigue(2, 1, 1)
plt.plot(time_list[0:-1], vitesse) plt.title("Vitesse moyenne:" + str(avg_speed)) # plt.xlabel("Time") plt.ylabel("Vitesse(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("Heure") plt.ylabel("Distance(m)") plt.draw() plt.pause(0) pass
Étape 3: Firmware À propos d'ESP32
uPyCraft_v1.1
- Vous pouvez le télécharger ici: uPyCraft.
- Connectez la carte au PC par câble USB. Ouvrez uPyCraft_v1.1, sélectionnez les outils: « Tool > board > esp32 » et « Tools > port > com* », cliquez sur le bouton connecté à droite.
- Si la connexion échoue, l'invite s'affichera sous la forme « ouvrez l'erreur série, veuillez réessayer ». Vous devez mettre à jour le firmware pour promettre des connexions réussies. Le lien de téléchargement du micrologiciel est LINK. Ouvrez « Outils > BurnFirmware », définissez le paramètre, comme la figure 3, et cliquez sur OK.
- Ouvrez le fichier Python et cliquez sur le bouton "DownloadAndRun" à droite. Le programme a été téléchargé sur la carte, vous pouvez le voir dans le menu « appareil » sur la gauche, comme sur la figure 4.
Micrologiciel et téléchargement
Vous pouvez obtenir le firmware à partir d'ici: Firmware.
Configurez la connexion avec le module de carte SD dans le fichier: « /Project_Gps-Trace-Analysis-master/workspace/test.py »
# initialisation SD
spi = SPI(1, baudrate=400000, polarity=1, phase=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) spi.init() # Assurez-vous de la bonne vitesse de transmission lcd. text('SPI OK', 0, 8) sd = sdcard. SDCard(spi, Pin(32)) # Compatible avec PCB vfs = os. VfsFat(sd) os.mount(vfs, "/SD") random.seed (len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16)
Paramétrez la connexion avec le module A9G dans le fichier: « /Project_Gps-Trace-Analysis-master/workspace/test.py »
# A9G ouvert
A9G_RESET_PIN = Pin(33, Pin. OUT) A9G_RESET_PIN.value(0) # définir la broche sur time.sleep(1) A9G_PWR_KEY = Pin(27, Pin. OUT) A9G_PWR_KEY.value(0) time.sleep(1) A9G_PWR_KEY.value(1) time.sleep(1) lcd.fill(0) lcd.text('A9G ouvert', 0, 0)
Commande AT pour le module A9G
AT+GPS=1 # 1: allumer le GPS, 0: éteindre le GPS
AT+LOCATION=2 #Obtenir les informations d'adresse du GPS, tant que le GPS peut voir le satellite avant de revenir, sinon il renverra GPS NOT FIX NOW AT+GPSRD=0 #Arrêtez de signaler
Connectez la carte au PC via un câble USB et utilisez uPyCraft pour télécharger tous les fichiers dans le dossier "/Project_Gps-Trace-Analysis-master/workspace"
Étape 4: Traitement des informations
- Copiez le fichier TXT commençant par "trace" dans la carte SD dans le dossier "/Project_Gps-Trace-Analysis-master".
- Ouvrez le fichier Python avec le bloc-notes et modifiez le code.
#Fichier que vous souhaitez analyser
trace_file_name = "./trace4.txt"