[:es]Configuración del Adeunis ARF8123A Field Test Device para Loriot[:]

[:es]

Introducción

Un buen Field Test Device (FTD) es imprescindible para comprobar la cobertura de un despliegue LoRaWAN o Sigfox. Aunque se puede hacer con dispositivos DiY, lo dispositivos diseñados específicamente pueden simplificar la tarea y ahorrar muchos problemas.

Para los despliegues serios usamos el ADEUNIS ARF8123AA para redes LoRaWAN en europa (EU863-870) y el ADEUNIS ARF8121A para Sigfox (RC1).

Para facilitar la tarea de configurarlo, esta entrada recoge los pasos para su configuración en el servicio de red de Loriot, y se ha probado específicamente en el StreetLabAlcoi.

Antes de empezar

antes de ponerse manos a la obra, hay que comprobar que tenemos todos los ingredientes . Son:

  • El propio ADEUNIS ARF8123A
  • El DEV EUI, APP EUI, APP KEY que estará en un papelito separado o nos habrá proporcionado el proveedor del FTD. Mantén secretos DEV EUI, APP EUI y APP KEY.
  • Un gateway Loriot cercano para poder comprobar el funcionamiento.

Alta del FTD en Loriot

Crear una aplicación

El primer paso será acceder al «Dashboard» de Loriot. En el menú lateral seleccionamos «Application».

Y creamos una nueva aplicación más o menos como se ve en la siguiente imagen. Cada uno que se ajuste a su necesidad.

Nota: Aunque no es necesario, el paso de crear una aplicación con un nombre relacionado con el FTD es importante para tener localizados dónde están dados de alta los FTD. Cuando un despliegue LoRaWAN crece, hay tantos nodos dados de alta que esta es la única manera de saber dónde están.

Dar de alta el FTD

En este paso se dará de alta el dispositivo dentro de la aplicación. Para ello, en el menú lateral elegimos «Enroll Device»  y rellenamos los campos según la siguiente imagen.

Y pulsamos en «Enroll».

Comprobar el funcionamiento

Si estamos en el rango de algún gateway LoRaWAN, encendemos el FTD … esperamos unos minutos (paciencia, por favor) y accedemos al menú lateral «Devices» dentro de la aplicación creada. Deberíamos tener algo similar a lo mostrado en la siguiente imagen.

¿No sale nada? Comprueba la pantalla de tu FTD para ver qué dice. Debería salir algo así.

Usando el FTD

Lo suyo es leerse el manual del Adeunis ARF8123A. Esa parte es sencilla.

Unas nociones superbásicas aquí para salir del paso a partir de lo que vemos en la pantalla:

  • La pantalla tiene 5 filas de información. La 1 es para el estado (GPS, estade conexión, temperatura y batería). Por defecto, el FTD está configurado por OTAA y al arrancar debería aparecer un icono de círculo indicando que está intentando hacer el «Join».
  • En la fila 2 se indica el estado del enlace, y los intentos. Al principio veremos JRx, donde «x» es un numero que va subiendo. Son los intentos de «Join Request». Si subre demasiado es que no consigue asociarse a la red. Cuando la etiqueta cambie a ULx «UpLink» la cosa está funcionando. en esa misma línea se ve en qué frecuencia se está haciendo la transmisión.
  • En la fila 3 vemos el esquema de transmisión. Por defecto será el de máximo alcance, que es SF12 (Spreading Factor 12 o «desparrame 12») y potencia 14 dBm (a tope).
  • En la fila 4, si hay suerte, vemos el DLx (Down Link). Enhorabuena, el dispositivo también es capaz de recibir las tramas del network server.
  • Y, finalmente, la mejor es la fila 5, donde tenemos los niveles de señal (dBm) recogidos.

Para lanzar una nueva comunicación basta con pulsar el botón central.

¿El nivel de señal es bueno?

El valor que estamos recogiendo será un número negativo expresado en dBm. Cuanto más grande sea el número en valor absoluto, menor será el nivel de señal y por tanto peor la comunicación. El límite de LoRa para un SF12 está alrededor de -130 dBm.

Para que una comunicación funcione, necesitamos un «link margin» razonable, que será la diferencia entre el límite y el nivel que recibimos, por ejemplo, si recibimos con -100 dBm, tenemnos un «link margin» de 30 dBm.

Los dBm usan una escala logarítimica, así que -70 dBm es mucho mejor que -75 dBm.

Si hace falta en el futuro

Poner el decodificador de la payload.

Como configurar el FTD con un terminal serie.

[:]

[:es]Dando de alta un nodo en Loriot[:]

[:es]

Introducción

En este articulo se describe todo el proceso de dar de alta un nodo en la red de Loriot, lo cual conlleva el crear una aplicación en la red donde configurar uno o varios dispositivos.

Crear una aplicación

En primer lugar, podemos crear una aplicación en el ‘network server’ o unir nuestro nodo a una ya creada con anterioridad. En este articulo nos centraremos en la primera, para crear una aplicación desde cero donde unir los dispositivos.

Deberemos loguearnos en la web del servidor Loriot (https://streetlabalcoi.loriot.io en nuestro caso) con nuestro usuario y contraseña y crearemos un ‘New application’:

Aquí le daremos un nombre y un maximo de dispositivos que podremos dar de alta (por defecto son 10). Además deberemos indicar si queremos que sea pública, es decir, que los demás usuarios de la red puedan añadir dispositivos, o privada. En caso de no seleccionar la opción de ‘Public’ solo nuestro usuario podrá dar de alta dispositivos en esa aplicación.

Dar de alta un ‘device’ en la aplicación

Una vez creada la aplicación podremos empezar a dar de alta nuestros dispositivos o ‘devices’. Podremos dar de alta tantos como la capacidad máxima que hayamos indicado.

Para dar de alta un dispositivo, nos iremos a la aplicación deseada y en ‘Devices’ haremos click en ‘Enroll new device’

El navegador nos solicitará si deseamos compartir los datos de localización para no tener que ponerlos a mano. Es conveniente disponer de datos de geolocalización para sensores que vayan a estar estáticos, ya que posteriormente podremos acceder a su localización en nuestra aplicación final a través de la API.

Dentro de la página de alta del dispositivo debemos indicar que versión del stack LoRaWAN está utilizando (por defecto normalmente será la ‘1.0.x’) y el ‘Enrollment process’ o proceso de conexión a la red. El proceso de conexión a la red lo definirá el dispositivo y se recomienda que se utilice OTAA (Over The Air Activation) para mayor seguridad. Ten en cuenta que para que este método de activación funcione, los gateways de la red deben ser multicanal.

Al dar de alta un dispositivo se nos pueden presentar los siguientes dos escenarios:

  1. Que los datos de identificación vengan definidos por el fabricante, habitual cuando son sensores comerciales que hemos comprado directamente a una empresa.
  2. Que los datos de indentificación se los tengamos que asignar nosotros al dispositivo por medio de la programación del mismo. Este será el escenario habitual para sensores que estemos programando nosotros, ya sea con la plataforma Arduino o derivados.

En el segundo caso puede ser interesante que sea la red la que nos asigne unos datos de identificación con el objetivo de que nunca haya dos sensores con los mismos datos. Para esto debemos seleccionar la opción de ‘Generate all parameters’ o ‘Generate all parameters except ‘DevEUI’ según convenga.

  • DevEUI: Número de indentificación del dispositivo. Es como el DNI del sensor.
  • AppEUI: Número de identificación de la aplicación a la cual está adherido.
  • AppKey: Número secreto de registro del dispositivo en la red. Se trata de una contraseña única para que el dispositivo pueda unirse a la red (usado solo para OTAA).

El AppKey puede ser consultado en el panel del dispositivo, en la pestaña de ‘LoRaWAN Parameters’ tal y como se muestra en la imagen a continuación. También puede eliminarse para añadirlo de forma manual.

Estos son los datos de indentificación en la red que deberemos añadir en la programación de nuestro nodo (normalmente irán hard-coded en el programa)

Una vez añadidos, en cuanto el dispositivo recibe alimentación (y según como esté programado) debería iniciar la secuencia de ‘joining’ en la red y posteriormente empezar a enviar datos que recibiremos en la plataforma:

Configurar un ‘output’

Ya tenemos los sensores enviado datos a la red LoRaWAN correctamente, ¿y ahora que?. El siguiente pasó será conectar la plataforma LoRaWAN de Loroit con nuestra ‘aplicación final’, que será la encargada de almacenar y/o visualizar los datos. Para ello la plataforma de Loriot ofrece los ‘outputs’ que permiten redirigir todos los mensajes a donde nosotros decidamos, entre un número bastante amplio de opciones.

Para empezar nos iremos a la aplicación que hemos creado y haremos click en la pestaña de ‘Output’, a continuación haremos click en el botón ‘Add new output’:

Podremos enviar los mensajes a plataformas como AWS IoT, IBM Cloud o Cayenne, entre otras o enviarlos a través de procolos como MQTT, CoAP o incluso peticiones HTTP.

Se recomienda usar el protocolo MQTT al tratarde se un estandard creado para este tipo de aplicaciones. Su ligereza, rapidez y bajo consumo de ancho de banda lo hacen ideal para aplicaciones para el IoT.

Al seleccionar la opción de MQTT se nos abre un formulario donde instroducir los parametros de conexión al servidor broker MQTT. Si no disponemos de uno, podemos crear uno sencillo y gratuito en https://www.cloudmqtt.com/ que funciona muy bien. Al crearlo nos dará los parámetros de conexión que hemos de introducir en la plataforma de Loriot como la URL, el puerto, el usuario y la contraseña. Ojo! Indicar es importante indicar el puerto en la url separandolo mediante ‘:’, la conexión debe ser SSL (segura).

Posteriormente utilizaremos los mismos datos de conexión (cambiando el ClientID) para conectar con nuestra aplicación.

El siguiente paso será crear nuestra aplicación y conectarla MQTT.

Fin

[:]

[:es]Configurando un gateway Multitech MultiConnect Conduit AP en Loriot[:en]Configuring a Multitech’s MultiConnect Conduit AP gateway in Loriot[:]

[:es]

Introducción

La manera más inmediata de emplear un gateway LoraWAN en Loriot es que la propia Loriot te lo mande configurado.

Si ese no es el caso, se puede recurrir al tutorial que incluye Loriot para hacerlo. Veamos si es así paso a paso.

La conclusión es que no es tan inmediato si no teniene cierta base.

IMPORTANTE: En el último gateway que hemos configurado (MTCAP-L4E1-868-001A) han cambiado mucho la configuración con el Firmware: 5.0.0. El RESET necesita 30 segundos para borrarlo todo y volver a la configuración de fábrica.

Gateway MultiConnect Conduit AP

La pasarela que queremos conectar es un MultiConnect Conduit AP modelo MTCAP-LEU1. Concretamente el modelo MTCAP-LEU1-868-001A.

Básicamente, se trata de un punto de acceso para interior para redes LoraWAN con una capacidad similar a sus antecesores pero con una forma más acorde con la estética de interior (hoteles, parquings, …).

Este gateway tiene 8 canales de recepción LoRa para la zona europea y conectividad móvil mediante tarjeta SIM.

Dentro de esta familia da gateways hay dos grupos, los basados en mLinux y los AEP. Los mLinux proveen un Linux abierto basado en la distribución Yocto que el usuario configura a su gusto si tiene los conocimientos suficientes. Los AEP (xxx) incluyen soporte para la ejecución de scripts de usuario y una interfaz gráfica de usuario intuitiva que configurar un potente network server local. Incluye también Node-RED preinstalado, por lo que procesar los paquetes LoRa es bastante sesncillo.

Empezar con esto de LoRA es mucho más inmediato eleigiento un gateway tipo AEP. Para usuarios más avanzados, mLinux ofrece más flexibilidad.

En nuestro caso se trata de un AEP … por que era lo que venía en la caja. Ja, ja. Un despiste.

Configuración inicial del gateway

El primer detalle es no obsesionarse con actualizar el firmware. Primero ver que funciona y después ver si Loriot es compatible conla última versión de firware (metida de pata con un intento anterior ahí).

En la caja se incluye una «Quick card» con los pasos a seguir que «casi» se entienden. Lo que se pretende en este apartado es dar unas indicaciones para saltarse los pasos que tienen muchas papeletas de llevarnos al fracaso.

Lo primero: ni se te ocurra poner una SIM hasta que tooodooo esté funcionando. Incluyendo Loriot, tus nodos, etc. La razón es que la conectividad a Intenet mediante telefonía móvil puede tener latencias grandes que dan problemas con los tiempos estrictos de respuesta que require LoRaWAN, (por ejemplo, en una cosa llamada OTAA).

Al manera más inmediata es emplear un protíatil con conexión WiFI a Internet y conectar el cable de red al gateway. Acceder usando estos pasos:

  • Abrir un navegador web
  • Acceder a la URL: http://192.168.2.1
  • Dependiendo del navegador, reaslizar las opciones necesarias para admitir los certificados de seguridad que propone el gateway.
  • Usuario: admin
  • Clave: admin

NOTA: LA clave de administrador se debería cambiar el final de todo el proceso. Mejor no se cambia en el paso inicial.

Una vez accedemos al gateway, nos debería aparecer el «First time setup». Metemos la información con las siguientes restricciones:

  • No activar la parte de conexión celular.
  • En IP Setup, mantener LAN y especificar los datos IP. Mejor si tenemos posibilidad de usar DHCP en nuestra red.
  • Si usamos DHCP. Dar de alta el gateway en nuestro router.
  • Mantener la redirección HTTP en LAN.
  • Apagamos, conectamos a nuestro router, encendemos . 30 segundos … y vemos si ha ido todo bien.

NOTA: ¿Hemos metido la pata? -> Manener el reset presionado durante 5 segundos y configuración borrada (lo pongo de memoria, no estoy seguro).

Configurar LoRa

A saber de dónde ha venido el router. Es más que probable que no esté configurado para funcionar en el territorio nacional. Perdón, europeo.

El siguientre paso es configurar LoRa/LoRaWAN de menera básica para ver si está operativo. Para ello:

  • Accedemos a las pestaña «LoRaWAN» de la página del gateway.
  • Seleccionamos «packet forwarder»
  • Seleccionamos el plan EU868 (Europa 868 MHz)
  • Activamos el servicio.

Si todo ha ido bien, el LED maracado como «LoRa» debería lucir.

«Conectar» con Loriot

Ahora hay que hacer que el gateway se integre en Loriot. A ver si es fácil.

Dar de alta el «gateway»

El primer paso será acceder al «dashboard» (cuadro de mando) del servicio Loriot en el que queremos dar de alta el gateway. En este caso es el StreetLab Alcoi.

En el dashboard selecionamos «Networks» -> StrretLab -> «+Add Gateway To Network» y se nos presentará una buena lista de gateways soportados. Mola.

Localizamos el modelo «Multitech MultiConnect Conduit AP»

Primer problema ¿Qué versión de mCard hay que elegir?.

La mCard es una tarjeta interna que da la capacidad de comunicación inalámbrica LoRa, por ejemplo https://www.multitech.com/models/94557302LF es la versión 1.5.

¿De dónde puñetas sacamos eso? ¿No lo veo por ningún sitio? Vamos a la página de administración de AP y en «Home» parece indicar que es la 1.5. Bienvenido al mundo real.

Una vez salvado este escoyo, introducimoes la MAC Ethernet (está en la etiqueta trasera y la usamos para dar de alta el gw en tu router).

Y ya está registrado (pero aún es un ladrillo).

Off-topic: Las mCard se pueden comprar sueltas y usar en una Raspbery Pi para tener un router LoRaWAN perfecto para experimentar. Aunque mejor juegas con las de xxxxxx(los amigos con los que hablé en Amsterdam)

Instalar el software de Loriot en el gateway

La idea de este paso es que la infraestructura de Loriot sea capaz de controlar tu gateway y, sobre todo, instalar una aplicación que es el «packet forwarder», es decir, la capacidad de enviar los paquetes LoRA que recibe el gateway al «network server» de Loriot y de ahí a tu aplicación.

Elegimos el «Gateway» y entramos en «Software».

Vamos allá … uff, supone que tenemos un mLinux y esto es un AEP. A que me toca devolverlo.

Entrar por SSH al gateway

El primer paso es acceder por SSH al gateway. Como uso Linux, abro terminal y escribo

$ ssh root@192.168.2.1

Mal. No puedo entrar. Y ni idea de si el servicio estará activo. A la desesperada reviso las opciones de la página del GW (por que San Google no me ha ofrecido solución) y encuentro el firewall … quizá abriendo el puerto 22.

Añadimos un filtro para aceptar lo que venga por ese puerto.

Probamos de nuevo … puñeta, el usuario no es root/root como dice Loriot.

Probamos con los de la interfaz web.

Tachánnnnn. Ja, ja. Estoy dennntroooo.

PELIGRO: Tenemos la puerta abierta. Habría que cambiar la clave.

Si queremos cambiar la IP del router o incluso activar el DHCP para que sea la red quien nos asigne una dirección, debemos modificar el archivo /etc/network/interfaces si el router es mLinux o desde la WebUI si se trata de un modelo AEP. Otro problema que nos puede surgir, y que nos ha surgido en alguna ocasión, es que el servicio de ssh-server (sshd) esté por defecto escuchando en la IP 192.168.2.1 y por tanto, al cambiar la IP perdamos la conexión SSH, para abordar este problema, es necesario cambiar la configuración del servicio ssh modificando el archivo /etc/ssh/sshd_config de la siguiente manera (comentar ip 192.168.2.1 y descomentar la 0.0.0.0):

$ vi /etc/ssh/sshd_config
#ListenAddress 192.168.2.1
Port22
ListenAddress 0.0.0.0

Para cambiar la IP de un mLinux a dinámica (DHCP client):

$ vi /etc/network/interfaces
# Wired interface
auto eth0
iface eth0 inet dhcp
#iface eth0 inet static
#address 192.168.2.1
#netmask 255.255.255.0

Probar el software de Loriot

Como no tengo muy claro lo que instalar, decido descargar el «LORIOT Gateway binary only».

Lo ejecuto siguiendo la guía … esto parece que funciona.

¿Y esto como se corta? ¿Funcionará al rearrancar?

Pulso «Ctrl-C» y hago lo siguiente para rearrancar

admin@mtcap:/tmp# shutdown -r now

… y no va. Jopeta.

Quizá el binario es solo para probar y hay que modificar el arraque. Posiblemente sea mejor el “self-extracting”.

Instalar el software Loriot

Seguimos la guía de la versión «sel-extracting». Es importante indicar la dirección del servidor LoRaWAN al que deseamos conectarnos en caso de que no sea el default, esto se hace al ejecutar el loriot-multitech-conduit-mlinux-mcard-SPI-0-latest.sh

$ wget http://www.loriot.io/home/gwsw/loriot-multitech-conduit-mlinux-mcard-SPI-0-latest.sh
$ chmod +x loriot-multitech-conduit-mlinux-mcard-SPI-0-latest.sh
$ ./loriot-multitech-conduit-mlinux-mcard-SPI-0-latest.sh --server streetlabalcoi.loriot.io
Extracting LORIOT files ... done
Options are : -s streetlabalcoi.loriot.io
Installing LORIOT files ... start
 Removing any system startup links for loriot-gw ...
  /etc/rc0.d/K30loriot-gw
  /etc/rc1.d/K30loriot-gw
  /etc/rc2.d/S80loriot-gw
  /etc/rc3.d/S80loriot-gw
  /etc/rc4.d/S80loriot-gw
  /etc/rc5.d/S80loriot-gw
  /etc/rc6.d/K30loriot-gw
 Adding system startup for /etc/init.d/loriot-gw.
Loriot Gateway installed. Starting Loriot Gateway ...
Gateway started. Gateway will also automatically start with next reboot
Installing LORIOT files ... done

$ reboot

Rearrancamos para verificar y funcionando!

Siguiente prueba: asociar un nodo.

 [:en]Sorry but there is only Spanish version of this paga.

 [:]

[:es]Segundo despliegue de sensores en la iglesia de Santo Tomás y San Felipe Neri[:en]Second deployment of sesnors in the Santo Tomás y San Felipe Neri church[:]

[:es]Tras un par de semanas de rodaje con unos resultados más que satisfactorios, hemos decidido hacer un segundo despliegue de sensores en la parte alta de la iglesia.

En este caso hemos necesitado la ayuda de arneses y un «voluntario» que se atreviese a dar el paseo por las partes altas de la iglesia.

En la siguiente foto se ve a Juan Pablo Novella y a Raúl Sáez en la cornisa interior de la iglesia, a unos 20 metros de altura.

 

Y en la siguiente vemos a Juan Pablo Novella, el voluntario, en otra zona de la cornisa. Agradecer a Juan Pablo su disposición a ayudarnos para colocar los sensores.

 [:en]After a couple of weeks of successfull sensor operation … bla, bla

 

 [:]

[:es]Primer despliegue masivo de sensores en la iglesia de Santo Tomás y San Felipe Neri[:en]First massive deployment of wireless sensors in the Santo Tomás y San Felipe Neri church[:]

[:es]El pasado viernes realizamos el primer despliegue de sensores en la iglesia de Santo Tomás y San Felipe Neri de Valencia. Este despliegue pretende demostrar la viabilidad de la propuesta del proyecto AICO (bla,bla link).

 

El despliegue se hizo en apenas 3 horas en las zonas bajas e intermedias del recinto.

 

 

 

 

 

 

Agradecimientos …

 [:en]On Friday, 31th of July, we ….

 [:]