Nodo LoRa con GPS AIoTs en Wio Terminal
Introducción
El probador de estado y GPS AIoTs está basado en el desarrollo con Wio Terminal Chassis-LoRa-E5 y GNSS. Comparado con los IoTs tradicionales, tiene más concisión e inteligencia. El tradicional básicamente solo recibe algunos datos y luego ejecuta una acción de comando sin importar si los datos son correctos. Sin embargo, los AIoTs que utilizan algoritmos de redes neuronales son capaces de filtrar los datos inútiles para obtener los correctos.
En este proyecto, se utilizará un sensor acelerómetro de 3 ejes incorporado y el algoritmo de red neuronal para construir un sistema de reconocimiento inteligente. Basado en el movimiento del Wio Terminal, puede mostrarle su estado en tiempo real. Generalmente, el proyecto de ejemplo aquí incluye tres estados entrenados que son Stop (estado inactivo de WT), Turn (voltear el dispositivo WT), y Wave (tomar WT para agitar la mano). Se recomienda que vaya al sitio web de Edge Impulse para agregar más acciones de entrenamiento.

Características
- El dispositivo LoRa puede mostrar el DevEui, APPEui y Appkey en la primera página.
- Algoritmo de red neuronal para corregir datos
- Detecta con alta precisión el estado del Wio Terminal
- Muestra longitud, latitud y número de satélites.
- Muestra el estado de conexión del dispositivo y TTN.
Comenzando
Hardware
Hardware Requerido
En esta demostración necesitará los dispositivos listados a continuación:
Conexión de Hardware
Se conecta a una computadora a través del cable Type-C.
Aprendizaje Automático con Wio Terminal
Aquí vamos a mostrarle cómo usar Wio Terminal para entrenar un modelo de Aprendizaje Automático y usarlo. El proyecto está basado en la plataforma Arduino, lo que significa que se requieren Arduino IDE y varias librerías de Arduino. Si esta es su primera vez usando el Wio terminal, recomendamos una guía para Comenzar rápidamente con Wio Terminal.
Descargue e instálelo en su librería de Arduino:
Comenzando el Entrenamiento en Edge Impulse
Primero, necesita tener su propia cuenta de Edge Impulse y luego crear un proyecto.
- Paso 1. Abra el sitio web de Edge Impulse, y luego registre una cuenta.
- Paso 2. Cree un nuevo proyecto.
Conectando el Sitio Web con Wio Terminal
- Paso 3. Descargue el firmware wio-terminal-ei-1.4.0.uf2 para la preparación de la conexión.
Como sugieren las pautas de Comenzar con Wio Terminal:
Haciendo doble clic hacia abajo en la parte inferior izquierda del Wio Terminal (ya conectado a su PC), verá una unidad (como Arduino (F:)
abajo) aparecer en la computadora. Luego puede arrastrar el firmware wio-terminal-ei-1.4.0.uf2 a la unidad. Y cuando vea que la unidad desaparece, significa que el firmware ha sido programado. Ahora puede ir al sitio web para conectar Wio Terminal.
- Paso 4. Una vez que el firmware esté configurado, haga clic en
connect using WebUSB
para conectar el Wio Terminal al sitio web.
Cuando Device
, Label
y Sensor
como se muestra abajo aparezcan, significa que la conexión está hecha y la adquisición de datos puede ser activada.
Adquisición de Datos
Ahora puede recopilar datos en Edge Impulse.
-
Paso 5. Ingrese
Label
,Sample length (ms.)
y haga clic enStart sampling
Label
significa las categorías que desea clasificar.Sample length
significa el tiempo durante su muestreo.
También puede querer elegir diferentes Sensor
o Frequency
para ver qué sucede.
Se recomienda encarecidamente que muestree los datos más de 10 veces.
Generación del Modelo de Aprendizaje Automático
Una vez que los datos han sido recopilados, puede usarlos para entrenar su modelo ML.
- Paso 6. Después de muestrear los datos, haga clic en
create impulse
para procesar los datos.
El bloque de procesamiento y el bloque de aprendizaje aquí seleccionados son los mismos que recomienda el sitio web. Por otro lado, sugerimos encarecidamente que elija otros para ver qué diferencia se puede hacer. Una vez que los bloques fueron configurados, haga clic en Save Impulse
para almacenar el impulso.
- Paso 7. Vaya a la página
Spectral features
, y luego en la parte inferior haga clic enSave parameters
, se moverá automáticamente al ladoGenerate feature
.
Aquí está el lado Generate feature
, puede ayudar a traducir sus datos a las características necesarias en Aprendizaje Automático.
Haga clic en Generate feature
y el resultado debería aparecer a la derecha:
- Paso 8. Ve a la página
NN Classifier
para usar tus características entrenando un modelo de Machine Learning. En la parte inferior de la página, haz clic enStart training
.
La salida del entrenamiento está en el lado derecho de la página. Cuando veas la salida, significa que el modelo ha sido generado.
Despliegue del Modelo de Machine Learning
Ahora puedes desplegar tu modelo de Machine Learning en tu Wio Terminal.
- Paso 9. Selecciona y haz clic en la columna
Deployment
en el lado izquierdo.
Luego elige Arduino Library
, en la parte inferior selecciona build
para crear la biblioteca necesaria en tu Arduino. Automáticamente descargará un archivo zip que incluye la biblioteca de terceros.
El nombre de la biblioteca deseada es sobre el nombre del proyecto, lo que significa que cualquier nombre que hayas escrito para el proyecto en el paso 2 se mostrará aquí. Puede ayudarte a encontrar el archivo correcto que necesitas.
- Paso 10. Descarga el archivo de código desde Github y ábrelo con Arduino IDE. Cambia la biblioteca de terceros por la tuya propia como se muestra arriba y luego ejecuta el código.
Debido a las diferencias entre las áreas globales, el código en el archivo debe cambiarse un poco:
Si conectaste el 'servidor de América', entonces no hay preocupaciones sobre el código de ejemplo, pero otros lugares deben configurarse como se muestra a continuación ('CN_470_510' significa que en China el valor debe estar en el rango de 470 a 510):
Finalmente, el resultado debería ser algo como:
Si quieres saber más sobre Edge Impulse o hay algo que aún no está claro, por favor ve a Wio Terminal Edge Impulse Getting Started para obtener más información.
Mostrando Datos en TheThingsNetwork a través de LoRa
Después de que entrenamos un modelo de Machine Learning y recolectamos datos, será más divertido si podemos transportar nuestros datos a las nubes. En este proyecto, podremos mostrar los datos en la plataforma TheThingsNetwork (nube) a través de LoRa.
Hardware Requerido
- Gateway
Necesitas configurar un gateway primero, permitiéndote conectar Wio Terminal y la nube TTN(TheThingsNetwork).
Inicio de Mostrar Datos en TheThingsNetwork
Paso 1 Carga en el sitio web de TTN y crea tu cuenta, luego haz clic en go to gateways
para configurar el dispositivo.
Paso 2 Haz clic en Add gateway
en la página de Gateways.
Añade tu propia información del gateway:
- Owner (tu nombre)
- Gateway ID (depende del gateway)
- Gateway EUI(depende del gateway, a veces igual que gateway ID)
- Gateway name(tu elección)
Frequence plan
en las opciones de LoRaWAN depende del lugar donde vives. Antes de Add gateway
, puedes encontrar una página que incluye algunos clusters. La elección del Frequence Plan
y cluster debe ser la misma, lo que significa que debes elegir el área que encuentres más cercana a tu lugar.
Paso 3 Una vez que el gateway esté configurado, ahora puedes añadir tu nodo Wio Terminal conectándolo con él en la página de Applications. Haz clic en Add application
:
Llena esta información según tu voluntad:
- Owner
- Application ID
- Application name
Paso 4 Una vez que hayas creado una aplicación, puedes ver en la parte inferior a la derecha que hay un Add end device
que puede ayudarte a añadir el dispositivo Wio Terminal.
- Selecciona
Brand
comoSelect Sense CAP
- elige
Model
comoLoRa-E5
- Hardware Ver y Firmware Ver están configurados por defecto
- Profile(Region) es según tu ubicación(misma región que
Frequncy plan
) - Frequency plan es el mismo que tu elección en el Paso 2
- AppEUI, DevEUI, y AppKey son únicos en diferentes dispositivos LoRa-E5. Puedes encontrarlos fácilmente programando un firmware Gateway_Tester.uf2 en tu dispositivo. Como el tutorial en Edge Impulse, programar un firmware simplemente arrastra el archivo uf2 a la unidad después de que tires hacia abajo el botón izquierdo del Wio Terminal.
- End Device ID se llenará automáticamente después de que ingreses el DevEUI.
Paso 5 Después de que hayas conectado el dispositivo, hay una selección de Payload formatters
y necesitas añadir algo de código para decodificar datos(Eligiendo Formatter type como 'Javascript'):
function Decoder(bytes, port) {
var decoded = {};
if (port === 8) {
decoded.Stop = bytes[1];
decoded.Turn = bytes[3];
decoded.Wave = bytes[5];
}
return decoded;
}
Paso 6 Finalmente, ve al gateway, luego haz clic en Live data
. Puedes ver los resultados: