Orodha ya maudhui:
- Hatua ya 1: Uunganisho
- Hatua ya 2: Programu kwenye PC
- Hatua ya 3: Firmware Kuhusu ESP32
- Hatua ya 4: Inasindika Habari
- Hatua ya 5: Wacha tujaribu
Video: DIY GPS Tracker --- Maombi ya Python: Hatua 5 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Nilishiriki katika hafla ya baiskeli wiki mbili zilizopita. Baada ya kumaliza, nilitaka kuangalia njia na kasi niliyopanda wakati huo. Kwa bahati mbaya, haikufanikiwa. Sasa ninatumia ESP32 kutengeneza tracker ya GPS, na nitaichukua ili kurekodi njia yangu ya baiskeli wakati mwingine. Kifuatiliaji cha GPS kinaweza kuhifadhi maelezo ya mahali na wakati kwenye kadi ya SD, na habari hii inaweza kusindika na kuchora chati ya umbali na kasi na programu ya PC.
Ugavi:
Vifaa:
- MakePython ESP32 (na Wrover)
- MakePython A9G
Bodi ya MakePython A9G ni bodi ya upanuzi wa GPS / GPRS ya MakePython.
- Betri
- Cable ndogo ya USB
Programu:
- Python 3
- uPyCraft_v1.1
Hatua ya 1: Uunganisho
Unganisha bodi mbili kulingana na pini. Moduli inaweza kutumiwa na betri au kebo ndogo ya USB.
Hatua ya 2: Programu kwenye PC
Python3:
- Unaweza kuipakua kutoka hapa: Python3. Chagua toleo la 3.8.5, pakua na usakinishe.
- Chaguo la "Ongeza Python 3.8 kwa PATH" lazima lichunguzwe wakati wa mchakato wa usanikishaji, kama Kielelezo 1.
- Ikiwa maktaba inayotumiwa na programu haijasakinishwa, programu hiyo itahimiza wakati inafanya kazi. Unaweza kutekeleza amri ifuatayo katika cmd.exe kusanikisha maktaba, kama Kielelezo 2.
pip install xxx // xxx ni jina la maktaba
pip ondoa xxx // xxx ni jina la maktaba orodha ya bomba // kuchapisha maktaba zilizowekwa
Nambari:
- Unaweza kupata faili ya chatu kutoka hapa: Msimbo. Faili ya chatu ni "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Chora njia kwenye ramani.
def kuunda_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], rangi = 'bluu') gmap.marker (lat_list [upana - 1], lon_list [upana - 1], rangi = 'nyekundu') gmap.draw ("./ map-trace.html")
Chora grafu za kasi dhidi ya wakati, umbali dhidi ya wakati
njama ya plt (2, 1, 1)
plt.plot (orodha_ya wakati [0: -1], kasi) plt.title ("Kasi ya Wastani:" + str (avg_speed)) # plt.xlabel ("Wakati") plt.subplot (2, 1, 2) plt.plot (orodha ya muda [0: -1], jumla_distance) plt.title ("Jumla ya Umbali:" + str (round (total_distance [- 1], 2))) plt.label ("Wakati") plt.ylabel ("Umbali (m)") plt.draw () plt.pause (0) kupita
Hatua ya 3: Firmware Kuhusu ESP32
uPyCraft_v1.1
- Unaweza kuipakua kutoka hapa: uPyCraft.
- Unganisha bodi kwenye PC kwa kebo ya USB. Fungua uPyCraft_v1.1, chagua zana: "Zana> bodi> esp32" na "Zana> bandari> com *", bonyeza kitufe kilichounganishwa upande wa kulia.
- Ikiwa muunganisho haukufaulu, kidokezo kitaonyeshwa kama "fungua kosa la serial, tafadhali jaribu tena". Lazima usasishe firmware kuahidi unganisho kwa mafanikio. Kiungo cha kupakua firmware ni LINK. Fungua "Zana> BurnFirmware", weka parameter, kama Kielelezo 3, na bonyeza OK.
-
Fungua faili ya Python, na bonyeza kitufe cha "PakuaAndRun" upande wa kulia. Programu imepakuliwa kwenye ubao, unaweza kuiona kwenye menyu ya "kifaa" upande wa kushoto, kama Kielelezo 4.
Programu dhibiti na Pakua
Unaweza kupata firmware kutoka hapa: Firmware.
Weka unganisho na moduli ya kadi ya SD kwenye faili: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# Init ya SD
spi = SPI (1, baudrate = 400000, polarity = 1, phase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Hakikisha baudrate lcd ya kulia. maandishi ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Sambamba na PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) chapa ("SD OK") lcd.text ('SPI OK', 0, 16)
Weka unganisho na moduli ya A9G kwenye faili: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G wazi
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.thamani (0) # kuweka pini kwa wakati wa chini. Kulala (1) A9G_PWR_KEY = Pini (27, Pin. OUT) A9G_PWR_KEY.thamani (0) wakati. Kulala (1) A9G_PWR_KEY Thamani (1) wakati. kulala (1) lcd kujaza (0) lcd.text ('A9G open', 0, 0)
Amri ya AT ya moduli ya A9G
AT + GPS = 1 # 1: Washa GPS, 0: Zima GPS
MAHALI + 2 = Pata habari ya anwani ya GPS, maadamu GPS inaweza kuona setilaiti kabla ya kurudi, vinginevyo itarudi GPS SIYO REKEBISHA SASA KWA + GPSRD = 0 #Acha kuripoti
Unganisha bodi kwenye PC kwa kebo ya USB, na utumie uPyCraft kupakua faili zote kwenye folda "/ Project_Gps-Trace-Analysis-master / workspace"
Hatua ya 4: Inasindika Habari
- Nakili faili ya TXT ukianza na "trace" kwenye kadi ya SD kwenye folda "/ Project_Gps-Trace-Analysis-master".
- Fungua faili ya Python na kijitabu na ubadilishe nambari.
#File ambayo unataka uchambuzi
trace_file_name = "./trace4.txt"