¿Buscas alguna otra cosa?
Table of Contents
Detalles del escenario
Esta nota de aplicación muestra, paso a paso, cómo llevar a cabo un escenario en el que llevar datos enviados por sensores LoRa, utilizando un router Titan como Gateway LoRa-2G/3G/4G, a una plataforma de recogida y gestión de datos como Cervello, la cual actuará también como Device Manager del router Titan.
Descripción del ejemplo
Se necesita instalar una red de docenas de sensores LoRa distribuidos en una amplia área de cultivo de 10Km de radio. Se necesitan sensores de entradas digitales para monitorizar la apertura de puertas y trampillas, así como sensores de entradas analógicas 0-10V y 4-20mA para monitorizar parámetros como humedades, temperaturas, niveles de pozos, etc.
Los sensores no van a contar con alimentación externa, por lo que deben disponer de batería interna y la autonomía de ésta debe durar varios años. Con el fin de ahorrar energía, los sensores digitales y analógicos deben poder configurarse para enviar sus datos de lecturas de dos formas a una Plataforma de Gestión, desde donde se deberán poder gestionar y visualizar todos los datos recibidos de los sensores así como generarse informes, alertas, etc.
Los dos motivos que harán que un sensor LoRa envíe datos deberán ser:
- Cuando se produzca un evento (como un cambio en una entrada digital o un umbral superado en una entrada analógicas)
- Por seguridad, deben enviar su estado cada 12 horas
Debido a los requisitos de este escenario el planteamiento de resolución se plantea con los siguientes dispositivos/servicios:
SENSORES LORA:
ARF8170BA Sensor LoRa de 4 entradas digitales
ARF8190BA Sensor LoRa de 2 entradas analógicas 4-20mA ó 0-10V configurables
Estos sensores LoRa, a batería, permiten la configuración de envío indicada previamente, es decir, enviando sus datos ante un evento y/o de forma periódica.
GATEWAY LORA:
MTX-Router-Titan-4G-LoRa, Router 4G con capacidad de Gateway Lora
Este router 4G dispone de la capacidad de Gateway LoRa-IP (donde las comunicaciones IP puede ser enrutadas a través de Ethernet, Wifi o 2g/3g/4g). En el caso del presente ejemplo se escogerá el enrutamiento por 2g/3g/4g. Es decir, este router Titan recogerá los datos LoRa emitidos por los sensores de su radio de acción y los reenviará al servidor LoRa en TTN.
Este router Titan también permite ser gestionado remotamente de múltiples formas (SMS, IP, Openvpn, Modbus TCP o, lo más cómodo, desde la Plataforma Cervello).
SERVER LORA:
TTN: The Things Network, plataforma que realizará la misión de Servidor LoRa para gestionar la Red de dispositivos. Será la parte que se encargue de recoger los datos de los sensores retransmitidos por el router Titan.
PLATAFORMA DEVICE MANAGER Y TRATAMIENTO DATOS DE SENSORES:
Cervello: La plataforma Cervello gestiona la recepción de datos de los sensores provenientes de servidor TTN. Es decir, Cervello se conecta a TTN y, vía MQTT, recepciona todos los datos de los sensores LoRa, almacenándolos en su Base de Datos. Además, proporciona la visualización de los datos de los sensores mediante gauges, permite la generación de los informes pertinentes, genera alarmas (SMS, emails, etc) en función de los datos recibidos de los sensores, etc.
También realiza la función de Device Manager de los routers Titan, permitiendo la gestión remota de los mismos.
A continuación se muestra cómo configurar los distintos elementos del escenario descrito.
Configuración del router Titan como gateway LoRa-2G/3G/4G
Lo primero que debe realizarse en el router Titan es configurar la conectividad 2g/3g/4g. Para ello debe entrar en la configuración del router Titan a través de su dirección IP por defecto 192.168.1.2 y user/password admin/admin.
Para configurar el acceso a Internet del router TITAN mediante tarjeta SIM, debe acceder al menú de configuración del router “WAN à Basic Settings”
Una vez en esa pantalla de configuración introduzca los parámetros “Sim PIN” de la tarjeta SIM (si dispone del PIN), y el “APN”, “Username” y “Password” del operador utilizado. Una vez hecho esto pulse el botón “SAVE CONFIG”. Por último, reinicie el router (menú Other à Reboot) para que el router Titan arranque con la nueva configuración y proceda a conectarse a Internet.
Una vez conectado a Internet, acceda al menú de configuración “Other à LoRa Gateway” e introduzca la configuración como se indica a continuación, especificando la Latitud/Longitud de donde se ubicará el Gateway y seleccionando el modo “Gateway Lora – Packet Forwader”).
Seguidamente introduzca un ID único para el Gateway con 8 caracteres hexadecimales (en el ejemplo 010203040A0B0C0D). Donde indica server address introduzca “router.eu.thethings.network” (si su router no estará en Europa, busque en TTN la DNS más apropiada). Por último complete el resto de parámetros tal y como se muestra en la siguiente pantalla. Una vez configurada esta pantalla, guarde los cambios y reinicie el router Titan.
Configuración del registro del gateway en TTN
En esta sección se asume que el usuario se ha registrado en www.thethingsnetwork.org . Una vez registrado, debe accederse a la sección de consola: console.thethingsnetwork.org Una vez dentro de la consola, debe seleccionarse la opción “Gateways”. Con ello se configurará el servicio TTN para aceptar la conexión del router Titan como Gateway LoRa.
Una vez dentro de Gateway debe hacerse click en “register gateway” y proceder a introducir los parámetros del router Titan. En la casilla “Gateway EUI” debe introducirse el ID de Gateway que se introdujo durante el proceso de configuración del router Titan (en el ejemplo, 010203040A0B0C0D). Debe introducirse también una descripción así como la frecuencia de trabajo (Europa = 868MHz).
Una vez realizado el proceso de registro del Gateway (router Titan), al cabo de unos segundos debería aparecer el Gateway como “Connected” tal y como se muestra en la figura siguiente. En este punto el Gateway (router Titan) ya está correctamente conectado con la plataforma TTN).
Configuración de una aplicación en TTN
Para poder dar de alta los distintos sensores LoRa debe crearse una aplicación en TTN. Para ello, en la consola, debe irse al menú “Applications”. Una vez ahí hacer click en el link “Create application”. Completar los campos Application ID (con un identificador único de su elección), una descripción y el handler más apropiado.
La siguiente pantalla muestra los datos a cumplimentar.
Una vez creada la Aplicación, deben apuntarse un par de datos. El “Application EUI” (pues deberá especificarse en la configuración de los sensores para indicar a qué aplicación enviar los datos) y el “Access Key” de la aplicación (pues será necesaria para comunicar la plataforma Cervello con TTN).
Registro de los sensores LoRa en la aplicación de TTN
En la misma pantalla anterior, hacer click en “register device” para registrar los distintos sensores LoRa en la aplicación recién creada.
Para cada sensor, introducir un “Device ID” y el “Device EUI”. Este último parámetro es un número identificativo que se encuentra impreso en la etiqueta pegada de cada sensor.
Una vez creado el sensor, debe apuntarse la “APP Key”, pues será necesario introducirla también en la configuración del sensor.
Configuración de los sensores LoRa
La forma más cómoda de configurar los sensores LoRa de Adeunis es utilizar la aplicación de configuración para PC de Adeunis “IOT CONFIGURATOR”. Basta con conectar el sensor LoRa a través de un cable USB para acceder a su configuración pulsando el botón “CONNECT”. El conector microUSB del sensor LoRa lo encontrará abriendo el sensor por su parte inferior.
Una vez dentro de la configuración hay dos secciones a configurar. Por un lado “Applicative Configuration”, donde se indicará el comportamiento del sensor, y por otro lado “Network Configuration”, con la configuración de red. En “Applicative Configuration” se mostrarán varios menús a configurar.
En “Global Configurations” debe especificarse “Production”, en “Transmission periods” debe indicarse cada cuántos segundos el sensor debe transmitir sus datos de forma periódica. Si se desea que envíen su estado cada 12 horas, debe especificarse 12×60/20 = 72.
En los menús “Channel X configuration” debe configurarse el comportamiento de los canales analógicos y digitales, según el tipo de sensor. Es decir, que envíe las medidas analógicas cuando éstas superen cierto umbral, o cuando un sensor digital cambia de estado, según las necesidades.
Después debe configurarse la sección “Network configuration”. Debe especificarse en la sección “General” el modo de activación “OTAA”. En la sección OTAA debe especificarse el “Application EUI” que se anotó durante la creación de la Aplicación en TTN (sección 4 de esta nota de aplicación) así como el parámetro “LORA_APP_KEY” generado en la sección 5 de la presente nota. Note que LORA_APP_KEY es distinto para cada sensor registrado.
A partir de este punto ya es posible obtener datos de los sensores configurados en TTN cada vez que alguno de ellos emitan datos.
Recepción de datos de sensores LoRa en la plataforma Cervello
Para la recepción de los datos de los Sensores LoRa en Cervello tan sólo es necesario crear un VPI y añadir 2 componentes al mismo. Un componente “MQTT broker”, que se configurará para conectarse con el bróker MQTT de TTN, y un componente “MQTT subscribe”, utilizado para subscribirse al topic apropiado de TTN que hará que se reciban los datos de los sensores LoRa asociados a la aplicación creada.
La configuración del componente “Broker MQTT” será la siguiente:
En “hostname” debe introducirse el bróker indicado en TTN (en Europa “eu.thethings.network”). En “Port” se indicará el puerto 1883. En el parámetro “Client ID” debe indicarse un identificador único para el cliente MQTT que se está configurando, y en “password” debe introducirse el “Access KEY” que se anotó en el final del punto 4 de esta nota de aplicación.
Por último, el componente “MQTT subscribe” debe configurarse como se describe en la figura anterior. En “Select a broker” debe escogerse el nombre del componente “MQTT broker” que se acaba de crear. En “Topic” debe introducirse el topic especificado en TTN para la recepción de datos de sensores LoRa, que de forma genérica es: “+/devices(+/up”. También debe hacerse click en el checkbox “Enable Console Debug”, pues de esta manera será posible visualizar en la sección de debug las tramas recibidas de los sensores LoRa.
Si todo se ha configurado correctamente debe visualizarse “Connected” sobre ambos componentes.
En la sección derecha de la pantalla es donde se sitúa el debug. Cuando los dispositivos transmitan datos deberán mostrarse en dicha sección tal y como se muestra en la siguiente figura.
Fíjese que al recibir datos de un sensor un campo del objeto JSON recibido tiene el nombre “payload_raw”. Este parámetro contiene los datos (payload) enviados por el sensor. En el caso del ejemplo muestra los datos de un sensor analógico ARF8190BA. Estos datos están configurados en Base64, que pueden ser fácilmente decodificados. Siguiendo este ejemplo, los datos QiARAAAAIQAAAA== se decodifican de Base64 como:
42 20 11 00 00 00 21 00 00 00
Siendo los valores señalados en rojo el valor de las 2 entradas analógicas del sensor tal y como se especifica en el manual del sensor de Adeunis ARF8190BA.
Para cualquier consulta contacte con nosotros en iotsupport@mtxm2m.com.