Inhoudsopgave:

DIY GPS Tracker --- Python-toepassing - Ajarnpa
DIY GPS Tracker --- Python-toepassing - Ajarnpa

Video: DIY GPS Tracker --- Python-toepassing - Ajarnpa

Video: DIY GPS Tracker --- Python-toepassing - Ajarnpa
Video: How To Create A Powerful Productivity Tracker In Excel [Full Training & Free Download] 2024, November
Anonim
DIY GPS-tracker --- Python-toepassing
DIY GPS-tracker --- Python-toepassing

Ik heb twee weken geleden deelgenomen aan een wielerevenement. Nadat ik klaar was, wilde ik de route en de snelheid controleren die ik op dat moment reed. Helaas is het niet gehaald. Nu gebruik ik ESP32 om een GPS-tracker te maken, en die neem ik de volgende keer mee om mijn fietsroute vast te leggen. De GPS-tracker kan de locatie- en tijdinformatie op de SD-kaart opslaan en deze informatie kan worden verwerkt en een kaart van afstand en snelheid tekenen met de pc-software.

Benodigdheden:

Hardware:

  • Merknaam Python ESP32 (met Wrover)
  • MerknaamPython A9G

MakePython A9G-kaart is een GPS/GPRS-uitbreidingskaart voor MakePython.

  • Accu
  • Micro-USB-kabel

Software:

  • Python 3
  • uPyCraft_v1.1

Stap 1: Aansluiting

Verbinding
Verbinding
Verbinding
Verbinding

Verbind twee borden volgens de pinnen. De module kan worden gevoed door een batterij of een micro-USB-kabel.

Stap 2: Software op pc

Software op pc
Software op pc
Software op pc
Software op pc

Python3:

  • Je kunt het hier downloaden: Python3. Kies de 3.8.5-versie, download en installeer deze.
  • "Add Python 3.8 to PATH" selectie moet worden aangevinkt tijdens het installatieproces, zoals figuur 1.
  • Als de bibliotheek die door het programma wordt gebruikt, niet is geïnstalleerd, wordt er gevraagd wanneer het wordt uitgevoerd. U kunt de volgende opdracht in cmd.exe uitvoeren om bibliotheken te installeren, zoals in Afbeelding 2.

pip install xxx // xxx is bibliotheeknaam

pip uninstall xxx // xxx is bibliotheeknaam pip list // print geïnstalleerde bibliotheken

Code:

  • U kunt het python-bestand hier ophalen: Code. Het python-bestand is "/Project_Gps-Trace-Analysis-master/Google_trace.py".
  • Teken een route op de kaart.

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[breedte - 1], lon_list[breedte - 1], color='red') gmap.draw("./map-trace.html")

Teken grafieken van snelheid versus tijd, afstand versus tijd

plt.subplot(2, 1, 1)

plt.plot(time_list[0:-1], speed) plt.title("Gemiddelde snelheid:" + str(avg_speed)) # plt.xlabel("Tijd") plt.ylabel("Snelheid (m/s)") plt.subplot(2, 1, 2) plt.plot(time_list[0:-1], total_distance) plt.title("Totale afstand:" + str(round(total_distance[- 1], 2))) plt.xlabel("Tijd") plt.ylabel("Afstand(m)") plt.draw() plt.pause(0) pas

Stap 3: Firmware over ESP32

Firmware Over ESP32
Firmware Over ESP32
Firmware Over ESP32
Firmware Over ESP32

uPyCraft_v1.1

  • Je kunt het hier downloaden: uPyCraft.
  • Verbind het bord met de pc via een USB-kabel. Open uPyCraft_v1.1, selecteer de tools: "Tool > board > esp32" en "Tools > port > com*", klik op de verbonden knop aan de rechterkant.
  • Als de verbinding niet succesvol is, wordt de prompt weergegeven als "open de seriële fout, probeer het opnieuw". U moet de firmware bijwerken om succesvolle verbindingen te beloven. De firmware-downloadlink is LINK. Open "Tools>BurnFirmware", stel de parameter in zoals in figuur 3, en klik op OK.
  • Open het Python-bestand en klik op de knop "DownloadAndRun" aan de rechterkant. Het programma is gedownload naar het bord, je kunt het zien in het menu "apparaat" aan de linkerkant, zoals figuur 4.

Firmware en downloaden

U kunt de firmware hier downloaden: Firmware.

Stel de verbinding met SD-kaartmodule in het bestand: "/Project_Gps-Trace-Analysis-master/workspace/test.py"

# SD init

spi = SPI(1, baudrate=400000, polariteit=1, fase=0, sck=Pin(14), mosi=Pin(13), miso=Pin (12)) spi.init() # Zorg voor de juiste baudrate lcd. text('SPI OK', 0, 8) sd = sdcard. SDCard(spi, Pin(32)) # Compatibel met PCB vfs = os. VfsFat(sd) os.mount(vfs, "/SD") random.seed (len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16)

Stel de verbinding met de A9G-module in het bestand: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# A9G geopend

A9G_RESET_PIN = Pin(33, Pin. OUT) A9G_RESET_PIN.value(0) # set pin to low 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-opdracht voor de A9G-module

AT+GPS=1 # 1: Zet de GPS aan, 0: Zet de GPS uit

AT+LOCATION=2 #Verkrijg de adresinformatie van GPS, zolang de GPS de satelliet kan zien voordat hij terugkeert, anders zal hij GPS terugsturen NIET NU FIX AT+GPSRD=0 #Stop rapportage

Verbind het bord met de pc via een USB-kabel en gebruik uPyCraft om alle bestanden in de map "/Project_Gps-Trace-Analysis-master/workspace" te downloaden

Stap 4: Informatie verwerken

Informatie verwerken
Informatie verwerken
  • Kopieer het TXT-bestand dat begint met "trace" op de SD-kaart naar de map "/Project_Gps-Trace-Analysis-master".
  • Open het Python-bestand met het kladblok en verander de code.

#Bestand dat u wilt analyseren

trace_file_name = "./trace4.txt"