Skip to main content

Sensor de Luz con Wio Terminal

En esta sección, detallaremos cómo funcionan los sensores, cómo obtener datos del sensor usando el Wio Terminal y cómo enviar estos datos utilizando el Wio Terminal junto con el Grove - Wio-E5.

Actualizable a Sensores Industriales

Con el controlador SenseCAP S2110 y el registrador de datos S2100, puedes convertir fácilmente los sensores Grove en sensores LoRaWAN®. Seeed no solo te ayuda en la etapa de prototipado, sino que también te ofrece la posibilidad de ampliar tu proyecto con la serie SenseCAP de robustos sensores industriales.

La carcasa con protección IP66, la configuración vía Bluetooth, la compatibilidad con redes LoRaWAN® a nivel mundial, una batería integrada de 19 Ah, y el sólido respaldo de la aplicación móvil convierten al SenseCAP S210x en la mejor opción para aplicaciones industriales. Esta serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad lumínica, CO₂, conductividad eléctrica (EC), y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para que tu próximo proyecto industrial sea un éxito.

SenseCAP Industrial Sensor
S2100
Data Logger
S2101
Air Temp & Humidity
S2102
Light
S2103
Air Temp & Humidity & CO2
S2104
Soil Moisture & Temp
S2105
Soil Moisture & Temp & EC
S2110
LoRaWAN® Controller
S2120
8-in-1 Weather Station

Principio de Funcionamiento de los Sensores

En esta sección, aprenderemos a usar el sensor de luz integrado en el Wio Terminal.

El sensor de luz es un sensor que utiliza un elemento fotoeléctrico como elemento de detección. Primero convierte los cambios de luz medidos en cambios de señal luminosa, y luego convierte esta señal de luz en una señal eléctrica con ayuda del elemento fotoeléctrico. Un sensor de luz generalmente consta de tres partes: una fuente de luz, un trayecto óptico y un elemento fotoeléctrico.

Para más información sobre el uso de sensores de luz, consulta la referencia aquí.

Materiales Requeridos

Wio TerminalGrove - Wio-E5

Preparación Preliminar

Conexión

En esta rutina, necesitamos conectarnos a una puerta de enlace LoRa® cercana con la ayuda del Grove - Wio-E5. Debemos configurar el puerto Grove en el lado derecho del Wio Terminal como un puerto serial por software para recibir comandos AT.

note

¿Por qué no usar el puerto Grove de la izquierda?

La interfaz Grove de la izquierda es compatible con IIC, y usamos la interfaz IIC para la mayoría de los sensores, por lo que mantenerla libre es una mejor solución.

Preparación del Software

Paso 1. Necesitas instalar el software Arduino.

Paso 2. Abre la aplicación Arduino.

Paso 3. Agrega Wio Terminal al Arduino IDE.

Abre tu Arduino IDE, haz clic en Archivo > Preferencias y copia la siguiente URL en URLs adicionales del Gestor de Placas:

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Haz clic en Herramientas > Placa > Gestor de Placas y busca Wio Terminal en el Gestor de Placas.

Paso 4. Selecciona tu placa y puerto

Necesitarás seleccionar la entrada correspondiente a tu Arduino en el menú Herramientas > Placa. Selecciona la Wio Terminal.

Selecciona el dispositivo serial de la placa Wio Terminal en el menú Herramientas -> Puerto. Probablemente sea COM3 o superior (COM1 y COM2 usualmente están reservados para puertos seriales hardware). Para identificarlo, desconecta tu Wio Terminal y vuelve a abrir el menú; la entrada que desaparezca es la placa Arduino. Luego reconecta y selecciona ese puerto serial.

tip

Para usuarios Mac, será algo así como /dev/cu.usbmodem141401.

Si no puedes subir el sketch, probablemente es porque el IDE Arduino no pudo poner el Wio Terminal en modo bootloader (por ejemplo, si el MCU estaba detenido o tu programa estaba manejando USB). La solución es poner manualmente el Wio Terminal en modo bootloader.

Paso 5. Descargar la librería Grove - Wio-E5

Visita el repositorio Disk91_LoRaE5 y descarga todo el repositorio a tu disco local.

Paso 6. Agregar librerías al Arduino IDE

Ahora, la librería del acelerómetro digital de 3 ejes puede instalarse en el Arduino IDE. Abre Arduino IDE, y haz clic en Sketch -> Incluir Librería -> Añadir librería .ZIP, y selecciona el archivo Disk91_LoRaE5 que acabas de descargar.

Obtener el valor del sensor de luz incorporado en Wio Terminal

Este repositorio demuestra cómo usar el sensor de luz incorporado como un componente en el Wio Terminal. El sensor de luz usa una interfaz analógica y puedes leer fácilmente el valor de luz ambiental leyendo el pin correspondiente.

void setup() {
pinMode(WIO_LIGHT, INPUT);
Serial.begin(115200);
}

void loop() {
int light = analogRead(WIO_LIGHT);
Serial.print("Light value: ");
Serial.println(light);
delay(200);
}
note

WIO_LIGHT es el pin del sensor de luz incorporado. El sensor está conectado al pin A13.

El sensor de luz está ubicado en la parte trasera del Wio Terminal, justo encima de la ranura para la tarjeta microSD.

Abre el monitor serial del Arduino IDE, selecciona una tasa de baudios de 115200 y observa el resultado.

Enviar datos vía Grove - Wio-E5

Combinamos el código previo del Grove - Wio-E5 para conectarnos a la red LoRa®. Usando comandos AT, es posible enviar el valor del sensor de luz a la red LoRa®.

Como sabemos, el valor del sensor de luz obtenido es un dato entero menor a 8 bits.

De este modo, determinamos el contenido, tamaño y formato del dato a enviar vía comando AT. Podemos definir un arreglo suficientemente grande, almacenar en él la cadena a enviar y finalmente usar la función send_sync() para enviar el arreglo.

El pseudocódigo para esta idea es aproximadamente el siguiente.

......
int light = analogRead(WIO_LIGHT); //Get the Wio Terminal light value.

static uint8_t data[2] = { 0x00 }; //Use the data[] to store the values of the sensors

data_decord(light, data);

if ( lorae5.send_sync( //Sending the sensor values out
8, // LoRaWan Port
data, // data array
sizeof(data), // size of the data
false, // we are not expecting a ack
7, // Spread Factor
14 // Tx Power in dBm
)
)
......

El resto de lo que necesitamos hacer es usar la función begin() para inicializar el Grove - Wio-E5 y la función setup() para configurar la información del triplete (DevEUI, AppEUI, AppKey) del Grove - Wio-E5. Al enviar un mensaje de datos con la función send_sync(), el dispositivo intentará unirse a la red LoRaWAN® al mismo tiempo. Una vez que se logre la conexión, los datos se enviarán y se devolverá información como la intensidad de señal (RSSI) y la dirección asignada.

El código completo de ejemplo está disponible en este repositorio.

tip

No recomendamos subir el código aún para ver resultados, ya que si no has configurado Helium o TTN obtendrás un resultado de "Join failed". Sube este código solo después de completar el capítulo de Conexión a Helium o Conexión a TTN para completar el proceso de envío de datos correctamente.

Una vez que hayas experimentado y entendido cómo funciona el sensor de luz y el formato de los datos, continúa con el siguiente paso del tutorial para unirte a la red LoRaWAN®.

Sección Helium

pir

Introducción a Helium

En este capítulo, presentaremos los controles de la consola de Helium para obtener una primera impresión sobre su funcionamiento.

Ir al capítulo >

pir

Conexión a Helium

Esta sección describe cómo configurar Helium para que los datos del sensor puedan subirse y visualizarse correctamente en la consola.

Ir al capítulo >
Sección TTN

pir

Introducción a TTN

En este capítulo, presentaremos los controles de la consola de TTN para familiarizarte con su entorno.

Ir al capítulo >

pir

Conexión a TTN

Esta sección describe cómo configurar TTN para que los datos del sensor puedan subirse y visualizarse correctamente en la consola.

Ir al capítulo >

Soporte Técnico y Discusión de Producto

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender distintas preferencias y necesidades.

Statement

  • The LoRa® Mark is a trademark of Semtech Corporation or its subsidiaries.
  • LoRaWAN® is a mark used under license from the LoRa Alliance®.
Loading Comments...