Mündəricat:
- Addım 1: Bağlantı
- Addım 2: PC -də proqram təminatı
- Addım 3: ESP32 Haqqında Firmware
- Addım 4: Məlumatın işlənməsi
Video: DIY GPS İzləyicisi-Python Tətbiqi: 5 Adım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
İ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"
Tövsiyə:
DIY Günəş İzləyicisi: 27 Adım (Şəkillərlə birlikdə)
DIY Günəş İzləyicisi: Giriş Gənc tələbələri mühəndislik ilə tanış etməyi və onlara günəş enerjisi haqqında öyrətməyi hədəfləyirik; kurikulumlarının bir hissəsi olaraq bir Helios qurmalarını istəyərək. Enerji istehsalını fosil yanacaqdan uzaqlaşdırmaq üçün mühəndislikdə bir səy var
SMS Bildirişi və Thingspeak Məlumat Yükləmə ilə GPS Avtomobil İzləyicisi, Arduino əsaslı, Ev Avtomatlaşdırması: 5 addım (şəkillərlə)
SMS Bildirişi və Thingspeak Məlumat Yükləmə, Arduino Əsaslı, Ev Avtomatlaşdırması ilə GPS Avtomobil İzləyicisi: Bu GPS izləyicisini keçən il hazırladım və yaxşı işlədiyindən indi Instructable -da dərc edirəm. Baqajdakı aksesuar fişinə bağlıdır. GPS izləyicisi avtomobilin mövqeyini, sürətini, istiqamətini və ölçülən temperaturu mobil məlumat vasitəsilə yükləyir
LoRa GPS İzləyicisi/Çağırıcı: 9 Adım (Şəkillərlə birlikdə)
LoRa GPS Tracker/Çağrı cihazı: --- Bir LoRa mesh şəbəkəsi üzərindən real vaxt yeri izləmə və iki tərəfli çağrı cihazını birləşdirən bir cihaz .--- Axtarış və xilasetmə (SAR) işində çalışan bir çox insanla əlaqə saxladım. çalışdığım digər Ripple LoRa mesh layihələri ilə maraqlanıram
LoRa GPS İzləyicisi: 6 Adım (Şəkillərlə birlikdə)
LoRa GPS Tracker: Bu layihə, Ripple LoRa mesh şəbəkələrində istifadə üçün öz GPS izləyici modulunuzu necə yığacağınızı göstərəcək. Məlumat üçün bu yoldaş məqaləyə baxın: https://www.instructables.com/id/LoRa-Mesh-Radio/Bu izləyici modulları Semtech LoRa radiolarından istifadə edir və
Titrəmə Əlaqəsi olan Uzadılabilir Düymənin Tətbiqi: 7 Adım (Şəkillərlə)
Vibrasiya Əlaqəsi ilə Uzadıla bilən Düymənin Tətbiqi: Bu təlimatda, əvvəlcə Arduino Uno -dan istifadə edərək genişləndirilmiş düymə vasitəsilə vibrasiya motorunu necə idarə edəcəyinizi sizə göstərəcəyik. Tuş düymələri ilə bağlı dərslərin çoxu fiziki çörək lövhəsindəki düyməni əhatə edir, halbuki bu dərsdə düymə