Talaan ng mga Nilalaman:
- Hakbang 1: Koneksyon
- Hakbang 2: Software sa PC
- Hakbang 3: Firmware Tungkol sa ESP32
- Hakbang 4: Impormasyon sa pagpoproseso
- Hakbang 5: Subukan Natin
Video: DIY GPS Tracker --- Application ng Python: 5 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sumali ako sa isang kaganapan sa pagbibisikleta dalawang linggo na ang nakakaraan. Matapos matapos, nais kong suriin ang ruta at ang bilis na aking sinakay sa oras na iyon. Sa kasamaang palad, hindi ito nakamit. Gumagamit ako ngayon ng ESP32 upang makagawa ng isang tracker ng GPS, at dadalhin ko ito upang maitala ang aking ruta sa pagbibisikleta sa susunod. Maaaring i-save ng tracker ng GPS ang lokasyon at impormasyon sa oras sa SD card, at maaaring maproseso ang impormasyong ito at gumuhit ng isang tsart ng distansya at bilis gamit ang PC software.
Mga Pantustos:
Hardware:
- MakePython ESP32 (kasama ang Wrover)
- MakePython A9G
Ang board ng MakePython A9G ay ang board ng pagpapalawak ng GPS / GPRS para sa MakePython.
- Baterya
- Micro USB cable
Software:
- Python 3
- uPyCraft_v1.1
Hakbang 1: Koneksyon
Ikonekta ang dalawang board ayon sa mga pin. Ang module ay maaaring pinalakas ng baterya o Micro USB cable.
Hakbang 2: Software sa PC
Python3:
- Maaari mong i-download ito mula dito: Python3. Piliin ang bersyon na 3.8.5, i-download at i-install ito.
- Ang pagpipiliang "Magdagdag ng Python 3.8 sa PATH" ay dapat suriin sa panahon ng proseso ng pag-install, tulad ng Larawan 1.
- Kung ang library na ginamit ng programa ay hindi naka-install, ang programa ay mag-prompt kapag ito ay tumatakbo. Maaari mong patakbuhin ang sumusunod na utos sa cmd.exe upang mag-install ng mga aklatan, tulad ng Larawan 2.
pip install xxx // xxx ang pangalan ng library
pip uninstall xxx // xxx ang pangalan ng library listahan ng pip // print na naka-install na mga aklatan
Code:
- Maaari mong makuha ang python file mula dito: Code. Ang python file ay "/Project_Gps-Trace-Analysis-master/Google_trace.py".
- Gumuhit ng isang ruta sa mapa.
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 [lapad - 1], lon_list [lapad - 1], kulay = 'pula') gmap.draw ("./ map-trace.html")
Gumuhit ng mga graph ng bilis kumpara sa oras, distansya kumpara sa oras
plt.subplot (2, 1, 1)
plt.plot (time_list [0: -1], bilis) plt.title ("Average Speed:" + str (avg_speed)) # plt.xlabel ("Oras") plt.ylabel ("Bilis (m / s)") plt.subplot (2, 1, 2) plt.plot (time_list [0: -1], total_distance) plt.title ("Kabuuang Distansya:" + str (bilog (total_distance [- 1], 2))) plt.xlabel ("Oras") plt.ylabel ("Distansya (m)") plt.draw () plt.pause (0) pass
Hakbang 3: Firmware Tungkol sa ESP32
uPyCraft_v1.1
- Maaari mong i-download ito mula dito: uPyCraft.
- Ikonekta ang board sa PC sa pamamagitan ng USB cable. Buksan ang uPyCraft_v1.1, piliin ang mga tool:”Tool> board> esp32” at “Tools> port> com *”, i-click ang kanang pindutan sa kanan.
- Kung ang koneksyon ay hindi matagumpay, ang prompt ay ipapakita bilang "buksan ang serial error, mangyaring subukang muli". Kailangan mong i-update ang firmware upang matagumpay na maipangako ang mga koneksyon. Ang link sa pag-download ng firmware ay LINK. Buksan ang "Mga Tool> BurnFirmware", itakda ang parameter, bilang Larawan 3, at i-click ang OK.
- Buksan ang file ng Python, at i-click ang pindutang "DownloadAndRun" sa kanan. Ang programa ay na-download sa board, maaari mo itong makita sa menu ng "aparato" sa kaliwa, tulad ng Larawan 4.
Firmware at Pag-download
Maaari mong makuha ang firmware mula dito: Firmware.
Itakda ang koneksyon sa module ng SD card sa file: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD init
spi = SPI (1, baudrate = 400000, polarity = 1, phase = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Tiyaking tamang baudrate lcd. teksto ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Compatible with PCB vfs = os. VfsFat (sd) os.mount (vfs, "/ SD") random.seed (len (os.listdir ("/ SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)
Itakda ang koneksyon sa module na A9G sa file: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G bukas
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # itakda ang pin sa mababang oras.sulog (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.s Sleep (1) A9G_PWR_K.value (1) time.s Sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)
SA utos para sa A9G module
AT + GPS = 1 # 1: I-on ang GPS, 0: I-off ang GPS
SA + LOKASYON = 2 #Kunin ang impormasyon ng address ng GPS, basta makita ng GPS ang satellite bago bumalik, kung hindi man ay ibabalik nito ang GPS HINDI MAG-ayos NGAYON SA + GPSRD = 0 # Itigil ang pag-uulat
Ikonekta ang board sa PC sa pamamagitan ng USB cable, at gamitin ang uPyCraft upang i-download ang lahat ng mga file sa folder na "/ Project_Gps-Trace-Analysis-master / workspace"
Hakbang 4: Impormasyon sa pagpoproseso
- Kopyahin ang file na TXT na nagsisimula sa "bakas" sa SD card sa folder na "/ Project_Gps-Trace-Analysis-master".
- Buksan ang file ng Python gamit ang notepad at baguhin ang code.
#File kung saan mo nais ang pagtatasa
trace_file_name = "./trace4.txt"