Helium es a día de hoy la red LoRaWAN más grande del planeta.
Con más de 500.000 Hotspots por todo el planeta, ya existe cobertura LoRaWAN en la mayoría de las principales capitales. De hecho, en algunos sitios saturados disponemos de varios Hotspots para nuestras comunicaciones.
Helium es conocida por su capacidad para generar tokens crypto que pueden operar en mercados de criptodivisas.
Pero a menudo nos solemos olvidar del verdadero propósito de Helium: crear una red para las personas.
Se dice que es una red para y por las personas, porque cualquiera puede montar un hotspot y dar servicio a la red. Normalmente una red LoRaWAN suele estar proporcionada por empresas privadas o instituciones como Universidades o Ayuntamientos.
La cuestión es: ¿cómo podemos usar esa enorme red para nuestros proyectos IoT?
La consola de Helium
Helium está poniendo muchos esfuerzos en tener una plataforma sencilla que nos permita conectar rápidamente nuestra flota de dispositivos IoT.
Para ello desarrolla la consola Helium, un servicio en la nube desde donde podemos dar de altas nuestros dispositivos y asociar acciones cuando se reciben datos.
Supongamos que tenemos un sensor que mide el polen en el aire. Por otro lado, tenemos un servicio de AWS IoT corriendo en AWS. Necesitamos que esos datos lleguen a nuestro servicio en la nube.
Veamos paso a paso cómo hacerlo.
Paso 1 – Registro y/o acceso a la consola
La consola de Helium está disponible bajo https://console.helium.com.
Podemos registrarnos con usuario/contraseña o directamente usando el servicio de login/registro de Google.
Una vez dentro, podemos ver las principales secciones de la consola.
Como cortesía para las nuevas cuentas, Helium nos regala 10.000 DC.
¿Qué son los DC?
Los DC son los token necesarios para poder utilizar la red y enviar/recibir datos.
Un DC nos permite enviar o recibir un paquete de datos (unos pocos bytes de datos útiles).
Sin DC, no podemos operar en Helium.
La pregunta es, ¿cuánto nos cuesta los DC? Quédate con esta expresión, 1 DC = $0.00001.
Esto quiere decir que con $10 podríamos comprar 1 millón de DC. Si suponemos que nuestro sensor comunica cada 10 minutos un paquete de telemetría (1 DC),
¡por sólo $10 podríamos hacer funcionar nuestro dispositivo por algo más de 19 años!
Paso 2 – Alta de dispositivo
Lo primero que debemos hacer es dar de alta nuestro dispositivo.
Durante la alta, obtendremos los 3 valores que necesitamos para que nuestro dispositivo se pueda registrar en la red LoRaWAN de Helium de forma automática mediante Over-the-Air Activation (OTAA).
Para ello pulsamos en «Devices» desde el menú lateral y luego en el botón ((+)).
Ahora solo tenemos que darle un nombre y apuntar los valores de Dev EUI, App EUI y App Key para programar nuestro dispositivo y que sea reconocido por la red Helium.
Una vez tengamos apuntados los valores, pulsamos en «Save device» y nuestro dispositivo quedará registrado.
Paso 3 – Configuración del dispositivo
Es hora de programar nuestro dispositivo con los valores OTAA anotados anteriormente.
Esta parte depende mucho de cada dispositivo, fabricante, etc.
En el ejemplo de abajo se ve cómo establecer los valores para un dispositivo LoRaWAN en Arduino.
Flasheamos nuestro dispositivo y ya lo tendremos listo para conectar con Helium.
Normalmente la activación en la red Helium puede tardar hasta 30 minutos. Pero una vez esté operativo, funciona sin ningún tipo de retraso.
Paso 4 – Creando flujos
Después de un tiempo y si nuestro dispositivo intenta conectar con la red, deberíamos ver mensajes de tipo «Join request» y «Join response» en la sección «Event Log» de nuestro dispositivo (Ir a «Devices» y hacer click sobre el dispositivo).
Visto que nuestro dispositivo se comunica bien es hora de conectarlo con algún servicio en la nube para poder explotar la información reportada.
Clicamos sobre «Integrations» y luego en el icono de la «nube con un más en el interior».
Para nuestro ejemplo, vamos a usar la integración de «AWS IoT Core«. Pulsamos en el icono.
Especificamos los datos de nuestra conexión con AWS IoT Core (previamente creada, no vamos a entrar en eso).
Pulsamos en «Add Integration«, y ya tenemos todo lo necesario para terminar nuestra aplicación, sólo nos falta el «pegamento».
Para ello vamos a la sección de flujos, «Flows«, y pulsamos sobre «Nodes» para añadir un nodo tipo dispositivo, nuestro dispositivo.
Arrastramos nuestro dispositivo y soltamos en mitad del lienzo. Luego repetimos lo mismo pero con la integración.
Por último, sólo tenemos que enlazar nuestro dispositivo con la integración añadiendo una línea entre ambos. Tan sencillo como arrastrar desde el círculo pequeño de uno hacia la otra.
¡Voilá! Nuestro dispositivo ya está usando Helium
Desde ese momento, cada vez que el dispositivo envíe un paquete de datos (uplink) deberá ser enrutado por la red Helium y ser recibido por nuestro servicio de AWS IoT Core.
Fácil, ¿verdad?