Tartalomjegyzék:
- 1. lépés: Csatlakozás
- 2. lépés: Szoftver a PC -n
- 3. lépés: Firmware Az ESP32 -ről
- 4. lépés: Az információk feldolgozása
Videó: DIY GPS nyomkövető --- Python alkalmazás: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Két hete vettem részt egy kerékpáros rendezvényen. Miután befejeztem, ellenőrizni akartam az útvonalat és a sebességet. Sajnos nem sikerült elérni. Most az ESP32 -t használom GPS -nyomkövető készítéséhez, és legközelebb felveszem a kerékpáros útvonalat. A GPS -nyomkövető el tudja menteni a hely- és időinformációkat az SD -kártyára, és ezeket az információkat feldolgozhatja, és a PC -szoftverrel rajzolhatja a távolság és a sebesség diagramját.
Kellékek:
Hardver:
- MakePython ESP32 (Wroverrel)
- MakePython A9G
A MakePython A9G kártya a GPS/GPRS bővítőlap a MakePython számára.
- Akkumulátor
- Micro USB kábel
Szoftver:
- Python 3
- uPyCraft_v1.1
1. lépés: Csatlakozás
Csatlakoztasson két táblát a csapok szerint. A modul működtethető akkumulátorral vagy Micro USB kábellel.
2. lépés: Szoftver a PC -n
Python3:
- Innen letöltheti: Python3. Válassza ki a 3.8.5 verziót, töltse le és telepítse.
- A „Python 3.8 hozzáadása a PATH -hoz” kiválasztását ellenőrizni kell a telepítési folyamat során, mint az 1. ábra.
- Ha a program által használt könyvtár nincs telepítve, a program kérni fogja, amikor fut. A következő parancsot futtathatja a cmd.exe fájlban könyvtárak telepítéséhez, mint a 2. ábra.
pip install xxx // Az xxx a könyvtár neve
pip uninstall xxx // Az xxx könyvtár neve pip list // nyomtatja a telepített könyvtárakat
Kód:
- A python fájlt innen szerezheti be: Kód. A python fájl „/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Rajzoljon útvonalat a térképen.
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 [szélesség - 1], lon_list [szélesség - 1], szín = 'piros') gmap.draw ("./ map -trace.html")
Rajzoljon grafikonokat a sebesség és az idő, a távolság és az idő között
plt. rész (2, 1, 1)
plt.plot (időlista [0: -1], sebesség) plt.title ("Átlagos sebesség:" + str (átlagsebesség)) # plt.xlabel ("Idő") plt.ylabel ("Sebesség (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
3. lépés: Firmware Az ESP32 -ről
uPyCraft_v1.1
- Innen töltheti le: uPyCraft.
- Csatlakoztassa a lapot a számítógéphez USB -kábellel. Nyissa meg az uPyCraft_v1.1 programot, válassza ki az eszközöket: „Eszköz> tábla> esp32” és „Eszközök> port> com*”, kattintson a jobb oldalon található csatlakoztatott gombra.
- Ha a kapcsolat nem sikeres, akkor a kérés a következőképpen jelenik meg: „nyissa meg a soros hibát, próbálja újra”. Frissítenie kell a firmware -t, hogy sikeres kapcsolatokat ígérjen. A firmware letöltési linkje LINK. Nyissa meg az „Eszközök> BurnFirmware” elemet, állítsa be a paramétert a 3. ábra szerint, majd kattintson az OK gombra.
- Nyissa meg a Python fájlt, és kattintson a jobb oldalon található „DownloadAndRun” gombra. A programot letöltöttük a táblára, a bal oldali „eszköz” menüben láthatjuk, mint a 4. ábra.
Firmware és letöltés
A firmware -t innen szerezheti be: Firmware.
Állítsa be a kapcsolatot az SD kártya modullal a fájlban: „/Project_Gps-Trace-Analysis-master/workspace/test.py”
# SD kezdeményezés
spi = SPI (1, baudrate = 400000, polaritás = 1, fázis = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Biztosítsa a megfelelő baudrate lcd -t. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # PCB -vel kompatibilis vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD")))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Állítsa be a kapcsolatot az A9G modullal a fájlban: „/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G nyitva
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # állítsa a tűt alacsony időre. Elalvás (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9G_PW.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)
AT parancs az A9G modulhoz
AT+GPS = 1 # 1: Kapcsolja be a GPS -t, 0: Kapcsolja ki a GPS -t
AT+LOCATION = 2 #Szerezze be a GPS címadatait, amíg a GPS látja a műholdat, mielőtt visszatér, különben visszaadja a GPS -t NEM FIX MOST AT+GPSRD = 0 #Állítsa le a jelentést
Csatlakoztassa a táblát a számítógéphez USB-kábellel, és az uPyCraft használatával töltse le az összes fájlt a „/Project_Gps-Trace-Analysis-master/workspace” mappából
4. lépés: Az információk feldolgozása
- Másolja a TXT fájlt a "nyomkövetéssel" kezdődő SD kártyán a "/Project_Gps-Trace-Analysis-master" mappába.
- Nyissa meg a Python fájlt a jegyzettömb segítségével, és módosítsa a kódot.
#Fájl, amelyet elemzni szeretne
trace_file_name = "./trace4.txt"