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.iniprojektu. Táto knižnica obsahuje kód na dekódovanie NMEA dát.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2 -
V súbore
main.cpppridajte direktívu pre zahrnutie knižnice TinyGPSPlus:#include <TinyGPS++.h> -
Pod deklaráciou
Serial3deklarujte objekt TinyGPSPlus na spracovanie NMEA viet:TinyGPSPlus gps; -
Zmeňte obsah funkcie
printGPSDatana 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.