Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
İki həftə əvvəl bir velosiped yarışına qatıldım. Bitirdikdən sonra marşrutu və o vaxt sürdüyüm sürəti yoxlamaq istədim. Təəssüf ki, buna nail olunmadı. İndi GPS izləyicisi etmək üçün ESP32 -dən istifadə edirəm və bundan sonra velosiped marşrutumu qeyd etmək üçün götürəcəyəm. GPS izləyicisi yer və vaxt məlumatlarını SD karta saxlaya bilər və bu məlumatlar işlənə bilər və PC proqramı ilə məsafə və sürət cədvəli çəkə bilər.
Təchizat:
Avadanlıq:
- MakePython ESP32, Wrover ilə birlikdə.
- MakePython A9G
MakePython A9G lövhəsi, MakePython üçün GPS/GPRS genişləndirmə lövhəsidir.
- Batareya
- Mikro USB kabeli
Proqram təminatı:
- Python 3
- uPyCraft_v1.1
Addım 1: Bağlantı
İğnələrə görə iki lövhə bağlayın. Modul batareya və ya mikro USB kabeli ilə işləyə bilər.
Addım 2: PC -də proqram təminatı
Python3:
- Buradan yükləyə bilərsiniz: Python3. 3.8.5 versiyasını seçin, yükləyin və quraşdırın.
- "Python 3.8 -i PATH -ə əlavə et" seçimi quraşdırma prosesi zamanı Şəkil 1 kimi yoxlanılmalıdır.
- Proqramın istifadə etdiyi kitabxana yüklənməyibsə, proqram işləyərkən sorğu göndərəcək. Kitabxana qurmaq üçün aşağıdakı əmri cmd.exe -də işlədə bilərsiniz.
pip install xxx // xxx kitabxana adıdır
pip xxx // xxx silin kitabxana adı pip siyahısı // quraşdırılmış kitabxanaları çap edin
Kod:
- Python faylını buradan əldə edə bilərsiniz: Kod. Python faylı "/Project_Gps-Trace-Analysis-master/Google_trace.py" dir.
- Xəritədə bir marşrut çəkin.
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 [eni - 1], lon_list [eni - 1], rəng = 'qırmızı') gmap.draw ("./ map -trace.html")
Sürətlə zamanın, məsafənin və zamanın qrafiklərini çəkin
plt.subplot (2, 1, 1)
plt.plot (vaxt siyahısı [0: -1], sürət) plt.title ("Orta Sürət:" + str (ort. sürət)) # plt.xlabel ("Zaman") plt.ylabel ("Sürət (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 ("Zaman") plt.ylabel ("Məsafə (m)") plt.draw () plt. fasilə (0) keçid
Addım 3: ESP32 Haqqında Firmware
uPyCraft_v1.1
- Buradan yükləyə bilərsiniz: uPyCraft.
- Lövhəni USB kabeli ilə PC -yə qoşun. UPyCraft_v1.1 açın, alətləri seçin: "Alət> lövhə> esp32" və "Alətlər> port> com*", sağdakı əlaqəli düyməni basın.
- Bağlantı uğursuz olarsa, "serial səhvini açın, yenidən cəhd edin" kimi göstəriləcək. Bağlantıları uğurla vəd etmək üçün firmware proqramını yeniləməlisiniz. Firmware yükləmə linki LINK -dir. "Alətlər> BurnFirmware" ni açın, parametri Şəkil 3 olaraq təyin edin və OK düyməsini basın.
-
Python faylını açın və sağdakı "DownloadAndRun" düyməsini basın. Proqram lövhəyə endirildi, onu soldakı "cihaz" menyusunda görə bilərsiniz, Şəkil 4.
Firmware və Yükləmə
Firmware -ni buradan əldə edə bilərsiniz: Firmware.
Faylda SD kart modulu ilə əlaqəni qurun: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# SD başlanğıc
spi = SPI (1, baudrate = 400000, polarite = 1, faz = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Sağ baudrate lcd olduğundan əmin olun. text ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # PCB vfs = os. VfsFat (sd) os.mount (vfs, "/SD") ilə uyğun gəlir (len (os.listdir ("/SD")))) çap ("SD OK") lcd.text ('SPI OK', 0, 16)
Faylda A9G modulu ilə əlaqəni qurun: "/Project_Gps-Trace-Analysis-master/workspace/test.py"
# A9G açıqdır
A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # pimi aşağı vaxta qoyun.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)
A9G modulu üçün AT əmri
AT+GPS = 1 # 1: GPS -i yandırın, 0: GPS -i söndürün
AT+LOCATION = 2 #GPS, geri dönməzdən əvvəl peyki görə bildiyi müddətcə GPS -in ünvan məlumatını əldə edin, əks halda GPS geri qayıdacaq AT+GPSRD = 0 AT
Lövhəni USB kabeli ilə PC-yə qoşun və "/Project_Gps-Trace-Analysis-master/workspace" qovluğundakı bütün faylları yükləmək üçün uPyCraft istifadə edin
Addım 4: Məlumatın işlənməsi
- SD kartdakı "iz" ilə başlayan TXT faylını "/Project_Gps-Trace-Analysis-master" qovluğuna kopyalayın.
- Notepad ilə Python faylını açın və kodu dəyişdirin.
#Təhlil etmək istədiyiniz fayl
trace_file_name = "./trace4.txt"