LoRaWan+NB-IOT+MQTT

Con el nuevo firmware 2.3.1(150) ahora también se pueden integrar LoRaWan, NB-IOT y otros sensores externos.

Sin embargo, el requisito previo es que entreguen los datos de sus sensores a un corredor MQTT, OpenSprinkler Luego puede suscribirse a estos como datos del sensor.

El sensor está integrado con su “tema” y un filtro de texto/JSON. El controlador de riego puede entonces utilizar este valor.

opciones de conectividad

Cómo funciona:

  • Los sensores LoRa WAN se colocan dentro del radio de un concentrador LoRa WAN, según la versión, con un alcance de hasta 10 km. Usted mismo opera el concentrador WAN LoRa, también llamado puerta de enlace, y lo conecta a su red.
  • Los sensores NB-IoT se integran a través del portal de proveedores. Dado que NB-IoT funciona a través de la red celular, el sensor puede ubicarse en cualquier lugar, siempre que haya recepción.
  • En la puerta de enlace o portal del proveedor, active la función MQTT y utilícela para exportar los datos del sensor. Dependiendo de la versión, puede ser necesaria una implementación adicional con una herramienta de gestión de IoT como ChirpStack, que convierte los datos "básicos" del sensor en datos evaluables.
  • In OpenSprinkler conéctelo a través de las opciones MQTT y luego cree un nuevo sensor de tipo "Suscripción MQTT".
  • Ingrese la información de suscripción y el filtro de datos en el sensor.
  • ¡Completo! Tan pronto como se reciben los datos, los valores se muestran y guardan.

Configuración del sensor en detalle

Los dos sensores MQTT están marcados en rojo. Los demás sensores se integran a través de la placa de sensores analógicos.

 

Sensor analógico150 1

Editar sensor

Al hacer clic en "Agregar sensor" o en el nombre de un sensor existente, obtendrá el siguiente editor:

Sensor analógico150 2

Este ejemplo muestra una integración CHIRPSTACK de datos MQTT. La estructura se define de la siguiente manera:

solicitud/ /dispositivo/ /evento/arriba

Lo mejor es observar los valores posibles utilizando una herramienta, como MQTT Explorer. A menudo resulta confuso, especialmente para los principiantes, que no se muestre nada en el Explorador MQTT. Debido a que los datos del sensor solo llegan cada 10 minutos (dependiendo de la configuración), simplemente debes dejar el MQTT Explorer por un tiempo.

Para el campo Filtro MQTT, ingrese el nombre del campo que se va a leer. En CHIRPSTACK puede ver los campos leídos en "Perfiles de dispositivo" / "Medidas". Si no aparece nada aquí, primero debe guardar un script en la pestaña “CODEC”, las plantillas pueden ayudar aquí o puede preguntar al fabricante del sensor.

¿Por qué LoRaWAN o NB-IoT y no Wi-Fi o Bluetooth?

El mayor problema de los sensores es que requieren energía. Si puede tender un cable de alimentación, normalmente también podrá tender un cable de datos. Pero si esto no es posible ¿cómo se conectan estos sensores?

Para responder a esta pregunta, hicimos algunos experimentos y presentamos los resultados aquí.

  • El Bluetooth falla, el alcance es simplemente demasiado corto (a menos, por supuesto, que las plantas se encuentren a menos de 10 m). ver aquí)
  • Se puede utilizar WiFi, pero el consumo de energía es tan alto que hay que cambiar las pilas cada 4 semanas o necesitas pilas enormes. Esto también se puede mejorar con la energía fotovoltaica, pero entonces ya se generan elevados costes de inversión por sensor. Además, en caso de instalación en el exterior existe cierto riesgo de daños materiales.
  • LoRaWAN es más adecuado en este caso porque las baterías son duraderas y suelen durar hasta 10 años. El alcance al aire libre puede ser de hasta 10 km (campo abierto, áreas urbanas aproximadamente 2 km). Dado que LoRaWAN puede funcionar sin licencia, solo existen costes únicos.
  • NB-IoT también es muy adecuado si existe una cobertura de telefonía móvil adecuada. Esto significa que el alcance es prácticamente "infinito" porque los datos del sensor se entregan a un servicio en la nube. Sin embargo, existen costos continuos.

Realización y prueba

Para nuestra prueba utilizamos un Milesight UG65-868M como puerta de enlace LoRaWAN, así como un sensor de humedad del suelo Dragino LSE01 y un Milesight EM-500 SMTC. Dado que el UG65 también puede activar un broker MQTT con la última actualización (debe estar activado ChirpStack-common), se puede conectar como un servidor MQTT independiente.

Ambos sensores pueden medir no sólo la humedad del suelo, sino también la temperatura del suelo y la conductividad dieléctrica (permisividad). Este último valor es especialmente importante para el sector agrícola, ya que con él también se puede determinar el contenido de fertilizante en el suelo.

Img 20240318 183612

El Milesight UG65 tiene las conexiones de alimentación en la parte posterior y puede funcionar mediante POE. También dispone de WiFi e incluso puede servir como punto de acceso. También están disponibles como opciones otras antenas y un módulo LTE.

Img 20240318 183633

El Milesight EM-500 SMTC es más que un simple sensor de humedad del suelo. Puede medir la temperatura del suelo y la permitividad. Consta de dos componentes que están conectados con un cable. La superficie es el transmisor, el subsuelo es el sensor real. Se incluye un soporte para mástil.

Lse01 10

El Dragino LSE01 es similar al EM500, también puede medir la humedad, la temperatura y la permitividad del suelo. Todos los sensores Dragino parecen similares, todos los productos tienen el mismo transmisor.

Pila de chirridos

Al configurar Chirpstack, es importante configurar primero perfiles para los sensores (“Perfiles de dispositivo”). Aquí se registran los sensores con sus datos generales del dispositivo. Puede seleccionar los valores predeterminados utilizando la función "Seleccionar plantilla de perfil de dispositivo". Toda esta configuración es necesaria para que los datos del sensor binario se puedan convertir en valores legibles. Por lo tanto, la función “Codec” es también la función más importante aquí.

Sin embargo, me tomó un tiempo darme cuenta de que estas especificaciones de códec estaban desactualizadas. Los códecs actuales se pueden encontrar aquí:

mirilla: https://github.com/Milesight-IoT/SensorDecoders

dragino: https://github.com/dragino/dragino-end-node-decoder

Para hacer esto, simplemente seleccione el sensor correcto, descargue el archivo de ChirpStack, ábralo con un editor y péguelo en el campo del códec.

A continuación, cree una "Aplicación" e ingrese los sensores en "Dispositivos". También es importante conocer los datos JOIN de los sensores, que suelen estar impresos en los dispositivos, en la placa de características, en el propio dispositivo o en los documentos que lo acompañan.

Ahora que todo está configurado, debe activar JOIN en los sensores. Este proceso primero conecta el sensor a su puerta de enlace; de ​​lo contrario, todos podrían controlar sus sensores. Puede hacer esto con una APLICACIÓN (Milesight tiene la APLICACIÓN “Toolbox”) o abre el dispositivo y presiona un botón especial UNIRSE. A veces sólo tienes que quitar brevemente la batería y enchufarla, luego se activa el proceso JOIN.

Chirpstack de Dragino

Los datos ahora deberían llegar a ChirpStack. Pero tenga paciencia, los sensores solo envían una señal cada 10 minutos, por lo que esto puede llevar tiempo.

MQTT

Chirpstack tiene su propio corredor MQTT, pero también puedes usar tu propio MQTT. Para que reciba los datos del corredor Chirpstack MQTT, configuré un puente MQTT y reenvié todo. El programa necesario para ello se llama “Mosquitto”

El forwarder.conf en la carpeta /etc/mosquitto/conf.d se ve así para mí:

connection bridge-01
address 192.168.0.50:1884
topic # out 0
topic # in 0

donde 192.168.0.50:1884 es la IP y el puerto del broker Chirpstack MQTT

Una vez que todo esté configurado, los valores deberían aparecer automáticamente como se muestra arriba OpenSprinkler aparecer. Ahora configure un ajuste de programa para este sensor, por ejemplo así:

Ajuste del programa1

Esto mantiene el riego entre un 10% y un 20% de humedad del suelo. El ajuste del riego es de 0 a 200%.

 

3 opiniones sobre “LoRaWan+NB-IOT+MQTT"

  1. Andrea
    Andrea dice:

    Desafortunadamente, con el firmware 2.3.1 (164) cuando se selecciona “Suscripción MQTT”, faltan los campos Tema MQTT/Filtro MQTT/Unidad 🙁
    Incluso cambiar el navegador no cambió nada. ¿Es esto un error conocido?

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados con * markiert

Este sitio web utiliza Akismet para reducir el correo no deseado. Obtenga más información sobre cómo se procesan sus datos de comentarios.