Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men ikki hafta oldin velosport musobaqasida qatnashganman. Tugatgandan so'ng, men marshrutni va o'sha paytdagi tezlikni tekshirishni xohladim. Afsuski, bunga erishilmadi. Endi men ESP32 -dan GPS izdoshini yasash uchun foydalanaman va men keyingi safar velosiped marshrutimni yozib olaman. GPS -treker joylashuv va vaqt ma'lumotlarini SD -kartaga saqlashi mumkin, va bu ma'lumotlarni qayta ishlash va kompyuter dasturi yordamida masofa va tezlik jadvalini chizish mumkin.
Ta'minot:
Uskuna:
- MakePython ESP32, Wrover bilan.
- MakePython A9G
MakePython A9G kartasi - bu MakePython uchun GPS/GPRS kengaytirish paneli.
- Batareya
- Mikro USB kabeli
Dasturiy ta'minot:
- Python 3
- uPyCraft_v1.1
1 -qadam: ulanish
Pimlarga muvofiq ikkita taxtani ulang. Modul batareya yoki mikro USB kabeli orqali quvvatlanishi mumkin.
2 -qadam: Kompyuterda dasturiy ta'minot
Python3:
- Siz uni bu erdan yuklab olishingiz mumkin: Python3. 3.8.5 versiyasini tanlang, yuklab oling va o'rnating.
- O'rnatish jarayonida "Python 3.8 ni PATH ga qo'shish" tanlovi tekshirilishi kerak, 1 -rasm.
- Agar dasturda foydalaniladigan kutubxona o'rnatilmagan bo'lsa, dastur ishlayotgan vaqtda ko'rsatma beradi. Kutubxonalarni o'rnatish uchun cmd.exe -da quyidagi buyruqni bajarishingiz mumkin, 2 -rasm.
pip install xxx // xxx - kutubxona nomi
pip o'chirish xxx // xxx - kutubxona nomi pip ro'yxati // o'rnatilgan kutubxonalarni chop etish
Kod:
- Python faylini bu erdan olishingiz mumkin: Kod. Python fayli "/Project_Gps-Trace-Analysis-master/Google_trace.py" dir.
- Xaritada marshrutni chizish.
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 = 'ko'k') gmap.marker (lat_list [kenglik - 1], lon_list [kenglik - 1], rang = 'qizil') gmap.draw ("./ map -trace.html")
Vaqt va tezlik, masofa va vaqt grafiklarini chizish
plt.subplot (2, 1, 1)
plt.plot (vaqt ro'yxati [0: -1], tezlik) plt.title ("O'rtacha tezlik:" + str (avg_speed)) # plt.xlabel ("Vaqt") plt.ylabel ("Tezlik (m/s)")) plt.subplot (2, 1, 2).xlabel ("Vaqt") plt.ylabel ("Masofa (m)") plt.draw () plt.pauza (0) o'tish
3 -qadam: ESP32 haqida dasturiy ta'minot
uPyCraft_v1.1
- Siz uni bu erdan yuklab olishingiz mumkin: uPyCraft.
- Kengashni kompyuterga USB kabeli orqali ulang. UPyCraft_v1.1 -ni oching, asboblarni tanlang: "Asboblar> taxta> esp32" va "Asboblar> port> com*", o'ngdagi ulangan tugmani bosing.
-
Agar ulanish muvaffaqiyatsiz bo'lsa, ko'rsatma "ketma -ket xatoni oching, qaytadan urinib ko'ring" sifatida ko'rsatiladi. Muvaffaqiyatli ulanishni va'da qilish uchun siz dasturiy ta'minotni yangilashingiz kerak. Dasturiy ta'minotni yuklab olish havolasi LINK. "Asboblar> BurnFirmware" ni oching, parametrni 3 -rasmga o'rnating va OK tugmasini bosing.
- Python faylini oching va o'ngdagi "DownloadAndRun" tugmasini bosing. Dastur taxtaga yuklangan, uni chapdagi "qurilma" menyusida ko'rishingiz mumkin, 4 -rasm.
Dasturiy ta'minot va yuklab olish
Siz dasturiy ta'minotni bu erdan olishingiz mumkin: dasturiy ta'minot.
Faylga SD-karta moduli bilan ulanishni o'rnating: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD boshlang'ich
spi = SPI (1, baudrate = 400000, kutupluluk = 1, faza = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # To'g'ri baudrate lcd. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # PCB vfs = os. VfsFat (sd) os.mount (vfs, "/SD") tasodifiy.seed (len (os.listdir ("/SD")))) chop etish ("SD OK") lcd.text ("SPI OK", 0, 16)
A9G moduli bilan ulanishni faylga o'rnating: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G ochiq
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # pinni past vaqtga qo'ying..value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G ochiq', 0, 0)
A9G moduli uchun AT buyrug'i
AT+GPS = 1 # 1: GPSni yoqing, 0: GPSni o'chiring
AT+LOCATION = 2 #GPS manzili ma'lumotini oling, agar GPS qaytmasidan oldin sun'iy yo'ldoshni ko'rsa, aks holda GPS qaytadi, AT+GPSRD = 0 #hisobot berishni to'xtating
Kengashni USB kabeli orqali kompyuterga ulang va "/Project_Gps-Trace-Analysis-master/workpace" papkasidagi barcha fayllarni yuklash uchun uPyCraft-dan foydalaning
4 -qadam: ma'lumotlarni qayta ishlash
- SD kartadagi "iz" bilan boshlangan TXT faylini "/Project_Gps-Trace-Analysis-master" jildiga nusxalash.
- Notepad bilan Python faylini oching va kodni o'zgartiring.
#Tahlil qilmoqchi bo'lgan fayl
trace_file_name = "./trace4.txt"