3.6 KiB
Decodificar datos GPS - Wio Terminal
En esta parte de la lección, decodificarás los mensajes NMEA leídos desde el sensor GPS por el Wio Terminal y extraerás la latitud y la longitud.
Decodificar datos GPS
Una vez que se hayan leído los datos NMEA en bruto desde el puerto serie, se pueden decodificar utilizando una biblioteca NMEA de código abierto.
Tarea - decodificar datos GPS
Programa el dispositivo para decodificar los datos GPS.
-
Abre el proyecto de la aplicación
gps-sensor
si aún no está abierto. -
Agrega una dependencia de biblioteca para la biblioteca TinyGPSPlus en el archivo
platformio.ini
del proyecto. Esta biblioteca contiene el código necesario para decodificar datos NMEA.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
En
main.cpp
, agrega una directiva de inclusión para la biblioteca TinyGPSPlus:#include <TinyGPS++.h>
-
Debajo de la declaración de
Serial3
, declara un objeto TinyGPSPlus para procesar las sentencias NMEA:TinyGPSPlus gps;
-
Cambia el contenido de la función
printGPSData
al siguiente: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"); } }
Este código lee el siguiente carácter desde el puerto serie UART en el decodificador NMEA
gps
. Después de cada carácter, verificará si el decodificador ha leído una sentencia válida y luego comprobará si ha leído una ubicación válida. Si la ubicación es válida, la enviará al monitor serie junto con el número de satélites que contribuyeron a esta solución. -
Compila y sube el código al Wio Terminal.
-
Una vez subido, puedes monitorear los datos de ubicación GPS utilizando el monitor serie.
> 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
💁 Puedes encontrar este código en la carpeta code-gps-decode/wio-terminal.
😀 ¡Tu programa del sensor GPS con decodificación de datos fue un éxito!
Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.