Satura rādītājs:
- 1. darbība. Savienojums
- 2. darbība: programmatūra datorā
- 3. darbība: programmaparatūra par ESP32
- 4. darbība. Informācijas apstrāde
Video: DIY GPS izsekotājs --- Python lietojumprogramma: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Pirms divām nedēļām piedalījos riteņbraukšanas pasākumā. Pēc finiša es gribēju pārbaudīt maršrutu un ātrumu, ar kādu tobrīd braucu. Diemžēl tas netika sasniegts. Tagad es izmantoju ESP32, lai izveidotu GPS izsekotāju, un nākamreiz to izmantošu, lai ierakstītu savu velomaršrutu. GPS izsekotājs var saglabāt atrašanās vietas un laika informāciju SD kartē, un šo informāciju var apstrādāt un uzzīmēt attāluma un ātruma diagrammu, izmantojot datora programmatūru.
Piegādes:
Aparatūra:
- MakePython ESP32 ar Wrover.
- MakePython A9G
MakePython A9G plate ir GPS/GPRS paplašināšanas plate, kas paredzēta MakePython.
- Akumulators
- Mikro USB kabelis
Programmatūra:
- Python 3
- uPyCraft_v1.1
1. darbība. Savienojums
Savienojiet divus dēļus atbilstoši tapām. Moduli var darbināt ar akumulatoru vai mikro USB kabeli.
2. darbība: programmatūra datorā
Python3:
- To var lejupielādēt šeit: Python3. Izvēlieties 3.8.5 versiju, lejupielādējiet un instalējiet to.
- Instalēšanas laikā ir jāpārbauda izvēle “Pievienot Python 3.8 PATH”, kā parādīts 1. attēlā.
- Ja programmas izmantotā bibliotēka nav instalēta, programma parādīs uzvedni, kad tā darbojas. Lai instalētu bibliotēkas, cmd.exe var izpildīt šādu komandu, kā parādīts 2. attēlā.
pip install xxx // xxx ir bibliotēkas nosaukums
pip atinstalēt xxx // xxx ir bibliotēkas nosaukums pip saraksts // drukāt instalētās bibliotēkas
Kods:
- Python failu var iegūt šeit: Kods. Python fails ir “/Project_Gps-Trace-Analysis-master/Google_trace.py”.
- Zīmējiet maršrutu kartē.
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")
Zīmējiet ātruma un laika grafikus, attālumu pret laiku
plt. apakšplāksne (2, 1, 1)
plt.plot (time_list [0: -1], speed) plt.title ("Vidējais ātrums:" + str (vidējais ātrums)) # plt.xlabel ("Laiks") plt.ylabel ("Ātrums (m/s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Kopējais attālums:" + str (apaļš (total_distance [- 1], 2))) plt.xlabel ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass
3. darbība: programmaparatūra par ESP32
uPyCraft_v1.1
- To var lejupielādēt šeit: uPyCraft.
- Pievienojiet plati datoram, izmantojot USB kabeli. Atveriet uPyCraft_v1.1, atlasiet rīkus: “Rīks> tāfele> esp32” un “Rīki> ports> com*”, noklikšķiniet uz savienotās pogas labajā pusē.
- Ja savienojums nav veiksmīgs, uzvedne tiks parādīta kā “atveriet sērijas kļūdu, lūdzu, mēģiniet vēlreiz”. Lai veiksmīgi apsolītu savienojumus, jums ir jāatjaunina programmaparatūra. Programmaparatūras lejupielādes saite ir LINK. Atveriet “Tools> BurnFirmware”, iestatiet parametru kā 3. attēlu un noklikšķiniet uz Labi.
-
Atveriet Python failu un noklikšķiniet uz pogas "DownloadAndRun" labajā pusē. Programma ir lejupielādēta uz tāfeles, to varat redzēt izvēlnē “ierīce” kreisajā pusē, kā parādīts 4. attēlā.
Programmaparatūra un lejupielāde
Jūs varat iegūt programmaparatūru šeit: Firmware.
Iestatiet savienojumu ar SD kartes moduli failā: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# SD inic
spi = SPI (1, bitu pārraides ātrums = 400000, polaritāte = 1, fāze = 0, sck = tapa (14), mosi = tapa (13), miso = tapa (12)) spi.init () # Nodrošiniet pareizo bodu pārraides lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Savietojams ar PCB vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD")))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Iestatiet savienojumu ar A9G moduli failā: “/Project_Gps-Trace-Analysis-master/workspace/test.py”
# A9G atvērts
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # iestatiet tapu uz low time.sleep (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 atvērts', 0, 0)
AT komanda A9G modulim
AT+GPS = 1 # 1: ieslēdziet GPS, 0: izslēdziet GPS
AT+LOCATION = 2 #Iegūstiet GPS adreses informāciju, ja vien GPS var redzēt satelītu pirms atgriešanās, pretējā gadījumā tas atgriezīs GPS NAV FIKSĒT TAGAD AT+GPSRD = 0 #Pārtraukt ziņošanu
Savienojiet tāfelīti ar datoru, izmantojot USB kabeli, un izmantojiet uPyCraft, lai lejupielādētu visus failus mapē “/Project_Gps-Trace-Analysis-master/workspace”
4. darbība. Informācijas apstrāde
- Kopējiet TXT failu, kas sākas ar "izsekot" SD kartē, mapē "/Project_Gps-Trace-Analysis-master".
- Atveriet Python failu ar piezīmju grāmatiņu un nomainiet kodu.
#Fails, kuru vēlaties analizēt
izsekot_faila_nosaukums = "./trase4.txt"