3.5 KiB
Dekodowanie danych GPS - Wio Terminal
W tej części lekcji zdekodujesz wiadomości NMEA odczytane z czujnika GPS przez Wio Terminal i wyodrębnisz szerokość oraz długość geograficzną.
Dekodowanie danych GPS
Po odczytaniu surowych danych NMEA z portu szeregowego można je zdekodować za pomocą otwartoźródłowej biblioteki NMEA.
Zadanie - dekodowanie danych GPS
Zaprogramuj urządzenie do dekodowania danych GPS.
-
Otwórz projekt aplikacji
gps-sensor
, jeśli nie jest jeszcze otwarty. -
Dodaj zależność biblioteki TinyGPSPlus do pliku
platformio.ini
projektu. Ta biblioteka zawiera kod do dekodowania danych NMEA.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
W pliku
main.cpp
dodaj dyrektywę include dla biblioteki TinyGPSPlus:#include <TinyGPS++.h>
-
Poniżej deklaracji
Serial3
zadeklaruj obiekt TinyGPSPlus do przetwarzania zdań NMEA:TinyGPSPlus gps;
-
Zmień zawartość funkcji
printGPSData
na następującą:if (gps.encode(Serial3.read())) { if (gps.location.isValid()) { Serial.print(gps.location.lat(), 6); Serial.print(F(",")); Serial.print(gps.location.lng(), 6); Serial.print(" - from "); Serial.print(gps.satellites.value()); Serial.println(" satellites"); } }
Ten kod odczytuje kolejny znak z portu szeregowego UART do dekodera NMEA
gps
. Po każdym znaku sprawdza, czy dekoder odczytał poprawne zdanie, a następnie sprawdza, czy odczytał poprawną lokalizację. Jeśli lokalizacja jest poprawna, wysyła ją do monitora szeregowego wraz z liczbą satelitów, które przyczyniły się do tego ustalenia. -
Zbuduj i wgraj kod na Wio Terminal.
-
Po wgraniu możesz monitorować dane lokalizacji GPS za pomocą monitora szeregowego.
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- 47.6423109,-122.1390293 - from 3 satellites
💁 Ten kod znajdziesz w folderze code-gps-decode/wio-terminal.
😀 Twój program czujnika GPS z dekodowaniem danych zakończył się sukcesem!
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za autorytatywne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.