İçindekiler:

DIY GPS Tracker --- Python Uygulaması: 5 Adım (Resimlerle)
DIY GPS Tracker --- Python Uygulaması: 5 Adım (Resimlerle)

Video: DIY GPS Tracker --- Python Uygulaması: 5 Adım (Resimlerle)

Video: DIY GPS Tracker --- Python Uygulaması: 5 Adım (Resimlerle)
Video: HIZLI HACK YÖNTEMLERİ! 2024, Kasım
Anonim
DIY GPS Tracker --- Python Uygulaması
DIY GPS Tracker --- Python Uygulaması

İki hafta önce bir bisiklet etkinliğine katıldım. Bitirdikten sonra rotayı ve o sırada bindiğim hızı kontrol etmek istedim. Ne yazık ki, ulaşılamadı. Şimdi bir GPS izleyici yapmak için ESP32 kullanıyorum ve bir dahaki sefere bisiklet rotamı kaydetmek için onu alacağım. GPS izci, konum ve zaman bilgilerini SD karta kaydedebilir ve bu bilgiler PC yazılımı ile işlenebilir ve mesafe ve hız tablosu çizilebilir.

Gereçler:

Donanım:

  • MakePython ESP32 (Wrover ile)
  • MakePython A9G

MakePython A9G kartı, MakePython için GPS/GPRS genişletme kartıdır.

  • pil
  • Mikro USB kablosu

Yazılım:

  • piton 3
  • uPyCraft_v1.1

Adım 1: Bağlantı

Bağlantı
Bağlantı
Bağlantı
Bağlantı

Pinlere göre iki kartı bağlayın. Modül, pil veya Mikro USB kablosu ile çalıştırılabilir.

2. Adım: Bilgisayardaki Yazılım

PC'deki yazılım
PC'deki yazılım
PC'deki yazılım
PC'deki yazılım

Python3:

  • Buradan indirebilirsiniz: Python3. 3.8.5 sürümünü seçin, indirin ve kurun.
  • Kurulum işlemi sırasında Şekil 1'deki gibi “Add Python 3.8 to PATH” seçimi kontrol edilmelidir.
  • Programın kullandığı kitaplık kurulu değilse, program çalışırken soracaktır. Şekil 2'deki gibi kütüphaneleri kurmak için cmd.exe'de aşağıdaki komutu çalıştırabilirsiniz.

pip kurulum xxx // xxx kitaplık adıdır

pip kaldırma xxx // xxx kitaplık adıdır pip listesi // kurulu kitaplıkları yazdır

Kod:

  • Python dosyasını buradan alabilirsiniz: Code. Python dosyası “/Project_Gps-Trace-Analysis-master/Google_trace.py” şeklindedir.
  • Haritada bir rota çizin.

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[genişlik - 1], lon_list[genişlik - 1], renk='kırmızı') gmap.draw("./map-trace.html")

Hız-zaman, mesafe-zaman grafikleri çizin

plt.subplot(2, 1, 1)

plt.plot(time_list[0:-1], hız) plt.title("Ortalama Hız:" + str(ort_hız)) # plt.xlabel("Zaman") plt.ylabel("Hız(m/s)") plt.subplot(2, 1, 2) plt.plot(time_list[0:-1], toplam_mesafe) plt.title("Toplam Mesafe:" + str(yuvarlak(toplam_mesafe[- 1], 2))) plt.xlabel("Zaman") plt.ylabel("Mesafe(m)") plt.draw() plt.pause(0) pass

3. Adım: ESP32 Hakkında Ürün Yazılımı

ESP32 Hakkında Firmware
ESP32 Hakkında Firmware
ESP32 Hakkında Firmware
ESP32 Hakkında Firmware

uPyCraft_v1.1

  • Buradan indirebilirsiniz: uPyCraft.
  • Kartı USB kablosuyla PC'ye bağlayın. uPyCraft_v1.1'i açın, araçları seçin: "Araç > pano > esp32" ve "Araçlar > bağlantı noktası > com*", sağdaki bağlan düğmesine tıklayın.
  • Bağlantı başarılı değilse, "seri hatasını açın, lütfen tekrar deneyin" istemi görünecektir. Bağlantıları başarılı bir şekilde vaat etmek için üretici yazılımını güncellemeniz gerekir. Ürün yazılımı indirme bağlantısı LINK'dir. “Tools>BurnFirmware”i açın, parametreyi Şekil 3'teki gibi ayarlayın ve Tamam'a tıklayın.
  • Python dosyasını açın ve sağdaki “DownloadAndRun” düğmesine tıklayın. Program panoya indirildi, Şekil 4 gibi sol taraftaki “cihaz” menüsünden görebilirsiniz.

Bellenim ve İndirme

Firmware'i buradan edinebilirsiniz: Firmware.

SD kart modülü ile bağlantıyı “/Project_Gps-Trace-Analysis-master/workspace/test.py” dosyasında ayarlayın

# SD başlangıç

spi = SPI(1, baud hızı=400000, polarite=1, faz=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) spi.init() # LCD'nin doğru baud hızı olduğundan emin olun. text('SPI OK', 0, 8) sd = sdcard. SDCard(spi, Pin(32)) # PCB ile uyumlu vfs = os. VfsFat(sd) os.mount(vfs, "/SD") random.seed (len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16)

A9G modülü ile bağlantıyı şu dosyada ayarlayın: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# A9G açık

A9G_RESET_PIN = Pin(33, Pin. OUT) A9G_RESET_PIN.value(0) # pini düşük time.sleep(1) olarak ayarla A9G_PWR_KEY = Pin(27, Pin. OUT) A9G_PWR_KEY.value(0) time.sleep(1) A9G_PWR_KEY.value(1) time.sleep(1) lcd.fill(0) lcd.text('A9G açık', 0, 0)

A9G modülü için AT komutu

AT+GPS=1 # 1: GPS'i açın, 0: GPS'i kapatın

AT+LOCATION=2 #GPS geri dönmeden önce uyduyu görebildiği sürece GPS'in adres bilgilerini alın, aksi takdirde GPS geri dönecektir AT+GPSRD=0 #Raporlamayı durdur

Kartı USB kablosuyla PC'ye bağlayın ve “/Project_Gps-Trace-Analysis-master/workspace” klasöründeki tüm dosyaları indirmek için uPyCraft'ı kullanın

Adım 4: Bilgilerin İşlenmesi

Bilgi İşleme
Bilgi İşleme
  • SD karttaki "trace" ile başlayan TXT dosyasını “/Project_Gps-Trace-Analysis-master” klasörüne kopyalayın.
  • Python dosyasını not defteri ile açın ve kodu değiştirin.

#Analizini istediğiniz dosya

trace_file_name = "./trace4.txt"

Python dosyasını çalıştırmak için komut satırını kullanın, Şekil 5'teki gibi hız ve mesafe rakamını alacaksınız

Adım 5: Deneyelim