Kazalo:

DIY GPS sledilnik --- aplikacija Python: 5 korakov (s slikami)
DIY GPS sledilnik --- aplikacija Python: 5 korakov (s slikami)

Video: DIY GPS sledilnik --- aplikacija Python: 5 korakov (s slikami)

Video: DIY GPS sledilnik --- aplikacija Python: 5 korakov (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
DIY GPS sledilnik --- aplikacija Python
DIY GPS sledilnik --- aplikacija Python

Pred dvema tednoma sem se udeležil kolesarskega dogodka. Ko sem končal, sem želel preveriti pot in hitrost, ki sem jo takrat vozil. Na žalost ni bilo doseženo. Zdaj uporabljam ESP32 za izdelavo GPS sledilnika in ga naslednjič posnamem za snemanje kolesarske poti. Sledilnik GPS lahko shrani podatke o lokaciji in času na kartico SD, te podatke pa lahko obdela in nariše grafikon razdalje in hitrosti s programsko opremo za osebni računalnik.

Zaloge:

Strojna oprema:

  • MakePython ESP32 (z Wroverjem)
  • MakePython A9G

Plošča MakePython A9G je razširitvena plošča GPS/GPRS za MakePython.

  • Baterija
  • Kabel mikro USB

Programska oprema:

  • Python 3
  • uPyCraft_v1.1

1. korak: Povezava

Povezava
Povezava
Povezava
Povezava

Povežite dve plošči glede na nožice. Modul se lahko napaja iz baterije ali kabla Micro USB.

2. korak: Programska oprema v računalniku

Programska oprema v računalniku
Programska oprema v računalniku
Programska oprema v računalniku
Programska oprema v računalniku

Python3:

  • Prenesete ga lahko od tukaj: Python3. Izberite različico 3.8.5, jo prenesite in namestite.
  • Med namestitvijo je treba preveriti izbiro »Dodaj Python 3.8 v PATH«, kot je prikazano na sliki 1.
  • Če knjižnica, ki jo uporablja program, ni nameščena, bo program pozval, ko se izvaja. Za namestitev knjižnic lahko v cmd.exe zaženete naslednji ukaz, kot je prikazano na sliki 2.

pip install xxx // xxx je ime knjižnice

pip uninstall xxx // xxx je ime knjižnice pip list // natisni nameščene knjižnice

Koda:

  • Datoteko python lahko dobite tukaj: Koda. Datoteka python je »/Project_Gps-Trace-Analysis-master/Google_trace.py«.
  • Na zemljevidu narišite pot.

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 [width - 1], lon_list [width - 1], color = 'red') gmap.draw ("./ map -trace.html")

Narišite grafe hitrosti v primerjavi s časom, razdalje v primerjavi s časom

plt.subplot (2, 1, 1)

plt.plot (time_list [0: -1], speed) plt.title ("Povprečna hitrost:" + str (avg_speed)) # plt.xlabel ("Čas") plt.ylabel ("Hitrost (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 ("Time") plt.ylabel ("Distance (m)") plt.draw () plt.pause (0) pass

3. korak: Vdelana programska oprema o ESP32

Vdelana programska oprema O ESP32
Vdelana programska oprema O ESP32
Vdelana programska oprema o ESP32
Vdelana programska oprema o ESP32

uPyCraft_v1.1

  • Prenesete ga lahko od tukaj: uPyCraft.
  • Ploščo povežite z računalnikom prek kabla USB. Odprite uPyCraft_v1.1, izberite orodja: »Orodje> plošča> esp32« in »Orodja> vrata> com*«, kliknite gumb za povezavo na desni.
  • Če povezava ni uspešna, bo poziv prikazan kot »odprite serijsko napako, poskusite znova«. Če želite uspešno obljubiti povezave, morate posodobiti vdelano programsko opremo. Povezava za prenos vdelane programske opreme je LINK. Odprite »Orodja> BurnFirmware«, nastavite parameter, kot je prikazano na sliki 3, in kliknite V redu.
  • Odprite datoteko Python in kliknite gumb »DownloadAndRun« na desni. Program je bil naložen na ploščo, vidite ga v meniju »naprava« na levi, kot je prikazano na sliki 4.

Vdelana programska oprema in prenos

Vdelano programsko opremo lahko dobite od tukaj: Vdelana programska oprema.

V datoteki nastavite povezavo z modulom kartice SD: “/Project_Gps-Trace-Analysis-master/workspace/test.py”

# SD init

spi = SPI (1, hitrost prenosa = 400000, polarnost = 1, faza = 0, sck = Pin (14), mosi = Pin (13), miso = Pin (12)) spi.init () # Zagotovite desni baudrate lcd. besedilo ('SPI OK', 0, 8) sd = sdcard. SDCard (spi, Pin (32)) # Združljivo s tiskanim vezjem vfs = os. VfsFat (sd) os.mount (vfs, "/SD") random.seed (len (os.listdir ("/SD"))) print ("SD OK") lcd.text ('SPI OK', 0, 16)

V datoteki nastavite povezavo z modulom A9G: »/Project_Gps-Trace-Analysis-master/workspace/test.py«

# A9G odprt

A9G_RESET_PIN = Pin (33, Pin. OUT) A9G_RESET_PIN.value (0) # nastavite pin na nizek čas.sleep (1) A9G_PWR_KEY = Pin (27, Pin. OUT) A9G_PWR_KEY.value (0) time.sleep (1) A9GYPW.value (1) time.sleep (1) lcd.fill (0) lcd.text ('A9G open', 0, 0)

Ukaz AT za modul A9G

AT+GPS = 1 # 1: Vklopite GPS, 0: Izklopite GPS

AT+LOCATION = 2 #Pridobite podatke o naslovu GPS, dokler lahko GPS vidi satelit, preden se vrne, sicer se vrne

Ploščo povežite z računalnikom s kablom USB in z uPyCraftom prenesite vse datoteke v mapo »/Project_Gps-Trace-Analysis-master/workspace«

4. korak: Obdelava informacij

Obdelava informacij
Obdelava informacij
  • Kopirajte datoteko TXT, ki se začne s "sledenjem" na kartici SD, v mapo "/Project_Gps-Trace-Analysis-master".
  • Odprite datoteko Python z beležnico in spremenite kodo.

#Datoteka, ki jo želite analizirati

trace_file_name = "./trace4.txt"

Z ukazno vrstico zaženite datoteko Python, dobili boste številko hitrosti in razdalje, kot je prikazano na sliki 5

5. korak: Poskusimo