You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/pl/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

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.

  1. Otwórz projekt aplikacji gps-sensor, jeśli nie jest jeszcze otwarty.

  2. 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
    
  3. W pliku main.cpp dodaj dyrektywę include dla biblioteki TinyGPSPlus:

    #include <TinyGPS++.h>
    
  4. Poniżej deklaracji Serial3 zadeklaruj obiekt TinyGPSPlus do przetwarzania zdań NMEA:

    TinyGPSPlus gps;
    
  5. 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.

  6. Zbuduj i wgraj kod na Wio Terminal.

  7. 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.