Spisu treści:

DIY GPS Tracker --- Aplikacja Python: 5 kroków (ze zdjęciami)
DIY GPS Tracker --- Aplikacja Python: 5 kroków (ze zdjęciami)

Wideo: DIY GPS Tracker --- Aplikacja Python: 5 kroków (ze zdjęciami)

Wideo: DIY GPS Tracker --- Aplikacja Python: 5 kroków (ze zdjęciami)
Wideo: Jak włączyć lokalizację GPS w telefonie Android ? 2024, Listopad
Anonim
DIY GPS Tracker --- Aplikacja Python
DIY GPS Tracker --- Aplikacja Python

Uczestniczyłem w imprezie kolarskiej dwa tygodnie temu. Po skończeniu chciałem sprawdzić trasę i prędkość jaką wtedy jechałem. Niestety nie udało się tego osiągnąć. Teraz używam ESP32 do wykonania trackera GPS i następnym razem wezmę go do nagrania mojej trasy rowerowej. Lokalizator GPS może zapisywać informacje o lokalizacji i czasie na karcie SD, a informacje te można przetwarzać i rysować wykres odległości i prędkości za pomocą oprogramowania komputerowego.

Kieszonkowe dzieci:

Sprzęt komputerowy:

  • MakePython ESP32 (z Wrover)
  • MakePython A9G

Płyta MakePython A9G to karta rozszerzeń GPS/GPRS dla MakePython.

  • Bateria
  • Kabel micro USB

Oprogramowanie:

  • Pyton 3
  • uPyCraft_v1.1

Krok 1: Połączenie

Połączenie
Połączenie
Połączenie
Połączenie

Połącz dwie deski zgodnie z kołkami. Moduł może być zasilany baterią lub kablem Micro USB.

Krok 2: Oprogramowanie na PC

Oprogramowanie na PC
Oprogramowanie na PC
Oprogramowanie na PC
Oprogramowanie na PC

Python3:

  • Możesz go pobrać stąd: Python3. Wybierz wersję 3.8.5, pobierz i zainstaluj.
  • Podczas procesu instalacji należy zaznaczyć opcję „Dodaj Python 3.8 do PATH”, jak pokazano na rysunku 1.
  • Jeśli biblioteka używana przez program nie jest zainstalowana, program wyświetli monit, gdy jest uruchomiony. Możesz uruchomić następujące polecenie w cmd.exe, aby zainstalować biblioteki, jak na rysunku 2.

pip install xxx // xxx to nazwa biblioteki

pip odinstalować xxx // xxx to nazwa biblioteki lista pip // wydrukować zainstalowane biblioteki

Kod:

  • Możesz pobrać plik Pythona stąd: Kod. Plik Pythona to „/Project_Gps-Trace-Analysis-master/Google_trace.py”.
  • Narysuj trasę na mapie.

def utwórz_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[szerokość - 1], lon_list[szerokość - 1], color='czerwony') gmap.draw("./map-trace.html")

Narysuj wykresy prędkości w funkcji czasu, odległości w funkcji czasu

plt.subplot(2, 1, 1)

plt.plot(time_list[0:-1], prędkość) plt.title("Średnia prędkość:" + str(avg_speed)) # plt.xlabel("Czas") plt.ylabel("Prędkość(m/s)") plt.subplot(2, 1, 2) plt.plot(time_list[0:-1], total_distance) plt.title("Całkowita odległość:" + str(round(całkowita_odległość[-1], 2))) plt.xlabel("Czas") plt.ylabel("Odległość(m)") plt.draw() plt.pause(0) przebieg

Krok 3: Oprogramowanie układowe dotyczące ESP32

Oprogramowanie układowe dotyczące ESP32
Oprogramowanie układowe dotyczące ESP32
Oprogramowanie układowe dotyczące ESP32
Oprogramowanie układowe dotyczące ESP32

uPyCraft_v1.1

  • Możesz go pobrać stąd: uPyCraft.
  • Podłącz płytkę do komputera za pomocą kabla USB. Otwórz uPyCraft_v1.1, wybierz narzędzia: „Narzędzie > tablica > esp32” i „Narzędzia > port > com*”, kliknij przycisk połączenia po prawej stronie.
  • Jeśli połączenie się nie powiedzie, pojawi się monit „otwórz błąd szeregowy, spróbuj ponownie”. Musisz zaktualizować oprogramowanie układowe, aby zapewnić pomyślne połączenia. Link do pobrania oprogramowania układowego to LINK. Otwórz „Tools>BurnFirmware”, ustaw parametr jak na rysunku 3 i kliknij OK.
  • Otwórz plik Python i kliknij przycisk „DownloadAndRun” po prawej stronie. Program został pobrany na płytkę, można go zobaczyć w menu „urządzenie” po lewej stronie, jak na rysunku 4.

Oprogramowanie układowe i pobieranie

Oprogramowanie układowe można pobrać stąd: Oprogramowanie układowe.

Ustaw połączenie z modułem karty SD w pliku: „/Project_Gps-Trace-Analysis-master/workspace/test.py”

# Rozpoczęcie SD

spi = SPI(1, szybkość transmisji=400000, polaryzacja=1, faza=0, sck=Pin(14), mosi=Pin(13), miso=Pin(12)) spi.init() # Zapewnij odpowiednią szybkość transmisji na lcd. text('SPI OK', 0, 8) sd = sdcard. SDCard(spi, Pin(32)) # Zgodny z PCB vfs = os. VfsFat(sd) os.mount(vfs, "/SD") random.seed (len(os.listdir("/SD"))) print("SD OK") lcd.text('SPI OK', 0, 16)

Ustaw połączenie z modułem A9G w pliku: „/Project_Gps-Trace-Analysis-master/workspace/test.py”

# A9G otwarte

A9G_RESET_PIN = Pin(33, Pin. OUT) A9G_RESET_PIN.value(0) # ustaw pin na niski time.sleep(1) 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 otwarte', 0, 0)

Polecenie AT dla modułu A9G

AT+GPS=1 # 1: Włącz GPS, 0: Wyłącz GPS

AT+LOCATION=2 #Uzyskaj informacje o adresie GPS, o ile GPS widzi satelitę przed powrotem, w przeciwnym razie zwróci GPS NIE NAPRAW TERAZ AT+GPSRD=0 #Zatrzymaj raportowanie

Podłącz płytkę do komputera za pomocą kabla USB i użyj uPyCraft, aby pobrać wszystkie pliki z folderu „/Project_Gps-Trace-Analysis-master/workspace”

Krok 4: Przetwarzanie informacji

Przetwarzanie informacji
Przetwarzanie informacji
  • Skopiuj plik TXT zaczynający się od „trace” na karcie SD do folderu „/Project_Gps-Trace-Analysis-master”.
  • Otwórz plik Pythona za pomocą notatnika i zmień kod.

#Plik, który chcesz przeanalizować

trace_file_name = "./trace4.txt"