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/cs/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

3.4 KiB

Dekódování GPS dat - Wio Terminal

V této části lekce budete dekódovat zprávy NMEA přečtené ze senzoru GPS pomocí Wio Terminalu a extrahovat zeměpisnou šířku a délku.

Dekódování GPS dat

Jakmile jsou surová data NMEA přečtena ze sériového portu, mohou být dekódována pomocí open source knihovny NMEA.

Úkol - dekódování GPS dat

Naprogramujte zařízení tak, aby dekódovalo GPS data.

  1. Otevřete projekt aplikace gps-sensor, pokud již není otevřený.

  2. Přidejte závislost na knihovnu TinyGPSPlus do souboru platformio.ini projektu. Tato knihovna obsahuje kód pro dekódování dat NMEA.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. V souboru main.cpp přidejte direktivu pro zahrnutí knihovny TinyGPSPlus:

    #include <TinyGPS++.h>
    
  4. Pod deklarací Serial3 deklarujte objekt TinyGPSPlus pro zpracování vět NMEA:

    TinyGPSPlus gps;
    
  5. Změňte obsah funkce printGPSData na následují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");
        }
    }
    

    Tento kód čte další znak ze sériového portu UART do dekodéru NMEA gps. Po každém znaku zkontroluje, zda dekodér přečetl platnou větu, a poté ověří, zda přečetl platnou polohu. Pokud je poloha platná, odešle ji do sériového monitoru spolu s počtem satelitů, které přispěly k této fixaci.

  6. Sestavte a nahrajte kód do Wio Terminalu.

  7. Po nahrání můžete sledovat data GPS polohy pomocí sériového monitoru.

    > 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
    

💁 Tento kód najdete ve složce code-gps-decode/wio-terminal.

😀 Váš program pro senzor GPS s dekódováním dat byl úspěšný!


Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.