3.4 KiB
Nyahkod Data GPS - Wio Terminal
Dalam bahagian pelajaran ini, anda akan nyahkod mesej NMEA yang dibaca daripada sensor GPS oleh Wio Terminal, dan mengekstrak latitud dan longitud.
Nyahkod Data GPS
Setelah data mentah NMEA dibaca daripada port serial, ia boleh dinyahkod menggunakan perpustakaan NMEA sumber terbuka.
Tugasan - nyahkod data GPS
Programkan peranti untuk nyahkod data GPS.
-
Buka projek aplikasi
gps-sensor
jika ia belum dibuka -
Tambahkan kebergantungan perpustakaan untuk perpustakaan TinyGPSPlus ke dalam fail
platformio.ini
projek. Perpustakaan ini mempunyai kod untuk nyahkod data NMEA.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
Dalam
main.cpp
, tambahkan arahan include untuk perpustakaan TinyGPSPlus:#include <TinyGPS++.h>
-
Di bawah deklarasi
Serial3
, isytiharkan objek TinyGPSPlus untuk memproses ayat NMEA:TinyGPSPlus gps;
-
Tukar kandungan fungsi
printGPSData
kepada yang berikut: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"); } }
Kod ini membaca aksara seterusnya daripada port serial UART ke dalam penyahkod NMEA
gps
. Selepas setiap aksara, ia akan memeriksa sama ada penyahkod telah membaca ayat yang sah, kemudian memeriksa sama ada ia telah membaca lokasi yang sah. Jika lokasi itu sah, ia akan menghantarnya ke monitor serial, bersama dengan bilangan satelit yang menyumbang kepada pembetulan ini. -
Bina dan muat naik kod ke Wio Terminal.
-
Setelah dimuat naik, anda boleh memantau data lokasi GPS menggunakan monitor serial.
> 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
💁 Anda boleh menemui kod ini dalam folder code-gps-decode/wio-terminal.
😀 Program sensor GPS anda dengan nyahkod data telah berjaya!
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.