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

3.5 KiB

Dekodér GPS-data - Wio Terminal

I denne del af lektionen vil du dekodere NMEA-beskeder, der er læst fra GPS-sensoren af Wio Terminal, og udtrække bredde- og længdegrad.

Dekodér GPS-data

Når de rå NMEA-data er blevet læst fra den serielle port, kan de dekodes ved hjælp af et open source NMEA-bibliotek.

Opgave - dekodér GPS-data

Programmer enheden til at dekodere GPS-data.

  1. Åbn gps-sensor app-projektet, hvis det ikke allerede er åbent.

  2. Tilføj en biblioteksafhængighed for TinyGPSPlus-biblioteket til projektets platformio.ini-fil. Dette bibliotek indeholder kode til dekodering af NMEA-data.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. I main.cpp skal du tilføje en include-direktiv for TinyGPSPlus-biblioteket:

    #include <TinyGPS++.h>
    
  4. Under deklarationen af Serial3 skal du deklarere et TinyGPSPlus-objekt til at behandle NMEA-sætningerne:

    TinyGPSPlus gps;
    
  5. Ændr indholdet af funktionen printGPSData til følgende:

    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");
        }
    }
    

    Denne kode læser det næste tegn fra UART-serielporten ind i gps NMEA-dekoderen. Efter hvert tegn vil den kontrollere, om dekoderen har læst en gyldig sætning, og derefter kontrollere, om den har læst en gyldig position. Hvis positionen er gyldig, sender den den til den serielle monitor sammen med antallet af satellitter, der bidrog til denne fix.

  6. Byg og upload koden til Wio Terminal.

  7. Når koden er uploadet, kan du overvåge GPS-positioneringsdataene ved hjælp af den serielle monitor.

    > 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
    

💁 Du kan finde denne kode i code-gps-decode/wio-terminal-mappen.

😀 Dit GPS-sensorprogram med datadekodering var en succes!


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at opnå nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.