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

3.4 KiB

Avkoda GPS-data - Wio Terminal

I den här delen av lektionen kommer du att avkoda NMEA-meddelanden som lästs från GPS-sensorn med Wio Terminal och extrahera latitud och longitud.

Avkoda GPS-data

När de råa NMEA-data har lästs från seriella porten kan de avkodas med hjälp av ett open source NMEA-bibliotek.

Uppgift - avkoda GPS-data

Programmera enheten för att avkoda GPS-data.

  1. Öppna projektet gps-sensor om det inte redan är öppet.

  2. Lägg till ett biblioteksberoende för TinyGPSPlus-biblioteket i projektets platformio.ini-fil. Detta bibliotek innehåller kod för att avkoda NMEA-data.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. I main.cpp, lägg till en include-direktiv för TinyGPSPlus-biblioteket:

    #include <TinyGPS++.h>
    
  4. Nedanför deklarationen av Serial3, deklarera ett TinyGPSPlus-objekt för att bearbeta NMEA-meningarna:

    TinyGPSPlus gps;
    
  5. Ändra innehållet i funktionen printGPSData till följande:

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

    Den här koden läser nästa tecken från UART-serieporten in i gps NMEA-avkodaren. Efter varje tecken kontrollerar den om avkodaren har läst en giltig mening och sedan om den har läst en giltig plats. Om platsen är giltig skickar den den till seriemonitorn tillsammans med antalet satelliter som bidrog till denna fix.

  6. Bygg och ladda upp koden till Wio Terminal.

  7. När koden har laddats upp kan du övervaka GPS-platsdata med hjälp av seriemonitorn.

    > 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 hitta denna kod i mappen code-gps-decode/wio-terminal.

😀 Ditt GPS-sensorprogram med datatolkning blev en framgång!


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör det noteras att automatiska översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.