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

3.5 KiB

Dekoduokite GPS duomenis - Wio Terminal

Šioje pamokos dalyje jūs dekoduosite NMEA pranešimus, gautus iš GPS jutiklio naudojant Wio Terminal, ir ištrauksite platumos bei ilgumos koordinates.

GPS duomenų dekodavimas

Kai neapdoroti NMEA duomenys yra nuskaityti iš nuosekliojo prievado, juos galima dekoduoti naudojant atvirojo kodo NMEA biblioteką.

Užduotis - dekoduoti GPS duomenis

Užprogramuokite įrenginį, kad jis galėtų dekoduoti GPS duomenis.

  1. Atidarykite gps-sensor programos projektą, jei jis dar neatidarytas.

  2. Pridėkite bibliotekos priklausomybę TinyGPSPlus bibliotekai į projekto platformio.ini failą. Ši biblioteka turi kodą, skirtą NMEA duomenų dekodavimui.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. Faile main.cpp pridėkite include direktyvą TinyGPSPlus bibliotekai:

    #include <TinyGPS++.h>
    
  4. Po Serial3 deklaracijos, deklaruokite TinyGPSPlus objektą, skirtą NMEA sakinių apdorojimui:

    TinyGPSPlus gps;
    
  5. Pakeiskite printGPSData funkcijos turinį į šį:

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

    Šis kodas nuskaito kitą simbolį iš UART nuosekliojo prievado į gps NMEA dekoderį. Po kiekvieno simbolio jis patikrina, ar dekoderis perskaitė galiojantį sakinį, tada patikrina, ar buvo perskaityta galiojanti vieta. Jei vieta yra galiojanti, ji siunčiama į nuoseklųjį monitorių kartu su palydovų, kurie prisidėjo prie šio fiksavimo, skaičiumi.

  6. Sukurkite ir įkelkite kodą į Wio Terminal.

  7. Kai kodas bus įkeltas, galite stebėti GPS vietos duomenis naudodami nuoseklųjį monitorių.

    > 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
    

💁 Šį kodą galite rasti code-gps-decode/wio-terminal aplanke.

😀 Jūsų GPS jutiklio programa su duomenų dekodavimu buvo sėkminga!


Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.