3.3 KiB
Dekódovanie GPS dát - Wio Terminal
V tejto časti lekcie budete dekódovať NMEA správy prečítané zo senzora GPS pomocou Wio Terminal a extrahovať zemepisnú šírku a dĺžku.
Dekódovanie GPS dát
Keď sú surové NMEA dáta prečítané zo sériového portu, môžu byť dekódované pomocou open source knižnice NMEA.
Úloha - dekódovanie GPS dát
Naprogramujte zariadenie na dekódovanie GPS dát.
-
Otvorte projekt aplikácie
gps-sensor
, ak ešte nie je otvorený. -
Pridajte závislosť knižnice TinyGPSPlus do súboru
platformio.ini
projektu. Táto knižnica obsahuje kód na dekódovanie NMEA dát.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
V súbore
main.cpp
pridajte direktívu pre zahrnutie knižnice TinyGPSPlus:#include <TinyGPS++.h>
-
Pod deklaráciou
Serial3
deklarujte objekt TinyGPSPlus na spracovanie NMEA viet:TinyGPSPlus gps;
-
Zmeňte obsah funkcie
printGPSData
na nasledujúce: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 číta ďalší znak zo sériového portu UART do dekodéra NMEA
gps
. Po každom znaku skontroluje, či dekodér prečítal platnú vetu, a potom skontroluje, či prečítal platnú polohu. Ak je poloha platná, odošle ju do sériového monitora spolu s počtom satelitov, ktoré prispeli k tomuto fixu. -
Zostavte a nahrajte kód do Wio Terminal.
-
Po nahraní môžete monitorovať údaje o polohe GPS pomocou sériového monitora.
> 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 nájdete v priečinku code-gps-decode/wio-terminal.
😀 Váš program senzora GPS s dekódovaním dát bol úspešný!
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.