Inhaltsverzeichnis:

DIY GPS-Tracker --- Python-Anwendung - Gunook
DIY GPS-Tracker --- Python-Anwendung - Gunook

Video: DIY GPS-Tracker --- Python-Anwendung - Gunook

Video: DIY GPS-Tracker --- Python-Anwendung - Gunook
Video: Interfacing GPS Module using Python | PyEmbedded | Rocket Systems 2024, Juni
Anonim
DIY GPS-Tracker --- Python-Anwendung
DIY GPS-Tracker --- Python-Anwendung

Ich habe vor zwei Wochen an einem Radsport-Event teilgenommen. Nachdem ich fertig war, wollte ich die Route und die Geschwindigkeit, die ich damals gefahren bin, überprüfen. Leider wurde es nicht erreicht. Jetzt verwende ich ESP32, um einen GPS-Tracker zu erstellen, und ich werde ihn beim nächsten Mal mitnehmen, um meine Radroute aufzuzeichnen. Der GPS-Tracker kann die Standort- und Zeitinformationen auf der SD-Karte speichern, und diese Informationen können mit der PC-Software verarbeitet und ein Diagramm der Entfernung und Geschwindigkeit erstellt werden.

Lieferungen:

Hardware:

  • MakePython ESP32 (mit Wrover)
  • MakePython A9G

Das MakePython A9G Board ist ein GPS/GPRS-Erweiterungsboard für MakePython.

  • Batterie
  • Micro-USB-Kabel

Software:

  • Python 3
  • uPyCraft_v1.1

Schritt 1: Verbindung

Verbindung
Verbindung
Verbindung
Verbindung

Verbinden Sie zwei Platinen entsprechend den Pins. Das Modul kann mit Batterie oder Micro-USB-Kabel betrieben werden.

Schritt 2: Software auf dem PC

Software auf dem PC
Software auf dem PC
Software auf dem PC
Software auf dem PC

Python3:

  • Sie können es hier herunterladen: Python3. Wählen Sie die Version 3.8.5, laden Sie sie herunter und installieren Sie sie.
  • Die Auswahl „Python 3.8 zu PATH hinzufügen“muss während des Installationsvorgangs überprüft werden, wie in Abbildung 1 dargestellt.
  • Wenn die vom Programm verwendete Bibliothek nicht installiert ist, wird das Programm bei der Ausführung dazu aufgefordert. Sie können den folgenden Befehl in cmd.exe ausführen, um Bibliotheken zu installieren, wie in Abbildung 2 dargestellt.

pip install xxx // xxx ist der Name der Bibliothek

pip deinstallieren xxx // xxx ist der Name der Bibliothek pip-Liste // installierte Bibliotheken drucken

Code:

  • Sie können die Python-Datei hier herunterladen: Code. Die Python-Datei ist „/Project_Gps-Trace-Analysis-master/Google_trace.py“.
  • Zeichnen Sie eine Route auf die Karte.

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")

Zeichnen Sie Diagramme von Geschwindigkeit vs. Zeit, Distanz vs. Zeit

plt.subplot(2, 1, 1)

plt.plot(time_list[0:-1], speed) plt.title("Durchschnittsgeschwindigkeit:" + 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

Schritt 3: Firmware über ESP32

Firmware Über ESP32
Firmware Über ESP32
Firmware Über ESP32
Firmware Über ESP32

uPyCraft_v1.1

  • Sie können es hier herunterladen: uPyCraft.
  • Verbinden Sie das Board per USB-Kabel mit dem PC. Öffnen Sie uPyCraft_v1.1, wählen Sie die Tools aus: „Tool > board > esp32“und „Tools > port > com*“, klicken Sie rechts auf die Schaltfläche „Verbunden“.
  • Wenn die Verbindung nicht erfolgreich ist, wird die Eingabeaufforderung „Öffnen Sie den seriellen Fehler, bitte versuchen Sie es erneut“angezeigt. Sie müssen die Firmware aktualisieren, um erfolgreiche Verbindungen zu versprechen. Der Link zum Firmware-Download lautet LINK. Öffnen Sie „Tools>BurnFirmware“, stellen Sie den Parameter wie in Abbildung 3 ein und klicken Sie auf OK.
  • Öffnen Sie die Python-Datei und klicken Sie rechts auf die Schaltfläche "DownloadAndRun". Das Programm wurde auf das Board heruntergeladen, Sie können es im Menü „Gerät“links sehen, wie Abbildung 4.

Firmware und Download

Die Firmware erhalten Sie hier: Firmware.

Stellen Sie die Verbindung mit dem SD-Kartenmodul in der Datei „/Project_Gps-Trace-Analysis-master/workspace/test.py“ein

# SD-Initialisierung

spi = SPI(1, baudrate=400000, polarity=1, phase=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) spi.init() # Stellen Sie die richtige Baudrate lcd sicher. text('SPI OK', 0, 8) sd = sdcard. SDCard(spi, Pin(32)) # Kompatibel mit PCB vfs = os. VfsFat(sd) os.mount(vfs, "/SD") random.seed (len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16)

Stellen Sie die Verbindung mit dem A9G-Modul in der Datei „/Project_Gps-Trace-Analysis-master/workspace/test.py“ein

# A9G geöffnet

A9G_RESET_PIN = Pin(33, Pin. OUT) A9G_RESET_PIN.value(0) # Pin auf Low setzen 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 open', 0, 0)

AT-Befehl für das A9G-Modul

AT+GPS=1 # 1: GPS einschalten, 0: GPS ausschalten

AT+LOCATION=2 # Holen Sie sich die Adressinformationen von GPS, solange das GPS den Satelliten vor der Rückkehr sehen kann, andernfalls wird GPS zurückgegeben

Verbinden Sie das Board per USB-Kabel mit dem PC und laden Sie mit uPyCraft alle Dateien im Ordner „/Project_Gps-Trace-Analysis-master/workspace“herunter

Schritt 4: Informationen verarbeiten

Verarbeitungsinformationen
Verarbeitungsinformationen
  • Kopieren Sie die mit „trace“beginnende TXT-Datei auf der SD-Karte in den Ordner „/Project_Gps-Trace-Analysis-master“.
  • Öffnen Sie die Python-Datei mit dem Notepad und ändern Sie den Code.

#Datei, die Sie analysieren möchten

trace_file_name = "./trace4.txt"