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

3.4 KiB

Dekode GPS-data - Wio Terminal

I denne delen av leksjonen skal du dekode NMEA-meldinger som leses fra GPS-sensoren av Wio Terminal, og hente ut breddegrad og lengdegrad.

Dekode GPS-data

Når de rå NMEA-dataene er lest fra seriellporten, kan de dekodes ved hjelp av et åpen kildekode NMEA-bibliotek.

Oppgave - dekode GPS-data

Programmer enheten til å dekode GPS-dataene.

  1. Åpne gps-sensor-app-prosjektet hvis det ikke allerede er åpent.

  2. Legg til en biblioteksavhengighet for TinyGPSPlus-biblioteket i prosjektets platformio.ini-fil. Dette biblioteket inneholder kode for å dekode NMEA-data.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. I main.cpp, legg til en include-direktiv for TinyGPSPlus-biblioteket:

    #include <TinyGPS++.h>
    
  4. Under deklarasjonen av Serial3, deklarer et TinyGPSPlus-objekt for å prosessere NMEA-setningene:

    TinyGPSPlus gps;
    
  5. Endre innholdet i funksjonen 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 koden leser neste tegn fra UART-seriellporten inn i gps NMEA-dekoderen. Etter hvert tegn vil den sjekke om dekoderen har lest en gyldig setning, og deretter sjekke om den har lest en gyldig posisjon. Hvis posisjonen er gyldig, sender den den til seriellmonitoren, sammen med antall satellitter som bidro til denne posisjonen.

  6. Bygg og last opp koden til Wio Terminal.

  7. Når koden er lastet opp, kan du overvåke GPS-posisjonsdataene ved hjelp av seriellmonitoren.

    > 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 finner denne koden i code-gps-decode/wio-terminal-mappen.

😀 Programmet for GPS-sensoren med datadekoding var en suksess!


Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.