¿Mi HotSpot funciona?
Es habitual que justo cuando hemos acabado de enchufar y sincronizar nuestro HotSpot nos surja la duda de si está o no funcionando correctamente.
De hecho, si usas la app de Helium puede comprobar cómo el paso 7 de configuración de un HotSpot es que haya circulado datos por tu HotSpot al menos una vez.
En este tutorial vamos a explicar cómo programar un dispositivo LoRaWAN de bajo coste para que puedas comprobar si realmente funciona.
Dispositivo LoRa low cost: Heltec Cubecell
Heltec dispone de una amplia gama de productos bajo su marca Cubecell.
Los Cubecell están diseñado para ser un producto de entrada al mundo IoT y LoRaWAN.
Vamos a usar el modelo Heltec Cubecell HTCC-AB02A. Su precio está entorno a los 20€.
Se trata una placa muy pequeña que permite ser alimentada por una pila 1/2 AA (es literalmente eso, una pila «convencional» partida por la mitad).
Esto nos va a permitir poder usarla fuera del ordenador donde se programó.
Puedes hacerte con uno aquí.
Preparando el entorno
Para su programación y desarrollo usaremos el entorno Arduino. Se trata de una tecnología open source para el desarrollo de dispositivos basados en microcontroladores. Hoy en día prácticamente cualquier dispositivo IoT se puede programar usando Arduino.
Para su instalación, lo ideal es entrar en la sección de descargas de Arduino. Aquí tienes que descargar la última versión para el sistema operativo que tengas (Windows, GNU/Linux o Mac OS X).
Una vez instalado, es posible que tengas que instalar los drivers USB-Serie para que nuestro PC se pueda comunicar y programar el dispositivo LoRaWAN.
Este dispositivo utiliza el conversor USB-Serie CP2102. Es posible que necesites descargar los e instalar los drivers desde el sitio de Silicon.
Ahora es necesario instalar el SDK específico en Arduino.
Para ello, iniciamos Arduino.
Abrimos el panel de «Preferencias«. En el recuadro de «Gestor de URLs adicionales de tarjetas» introducimos la siguiente dirección: «https://github.com/HelTecAutomation/CubeCell-Arduino/releases/download/V1.3.0/package_CubeCell_index.json
«
Esto indica a Arduino desde donde puede descargar los paquetes para nuestra nueva placa/dispositivo.
Desde el menú seleccionamos Herramientas -> Placa -> Gestor de tarjetas.
En el cuadro de filtrado tecleamos «cube». Seleccionamos la última versión y pulsamos en «Instalar«. Esto suele tardar unos minutos.
Damos de alta nuestro dispositivo LoRaWAN
Antes de poder programar nuestro dispositivo necesitamos obtener los datos de configuración LoRaWAN OTAA.
Para ello entramos en la consola de Helium de pruebas (la oficial parece no estar todavía operativa para tráfico por data-only hotspots).
Si aún no tenemos cuenta, nos creamos una. Es rápido y gratuito.
En la esquina inferior-derecha, pulsamos en el «+» y luego en «Add Device«.
Escribimos un nombre y antes de pulsar en «Save Device«. Apuntamos los datos de «Dev EUI«, «App EUI» y «App Key«. Son los necesarios para programar nuestro dispositivo.
Pulsamos en «Save Device«. La consola de Helium añadirá nuestro dispositivo a la red Helium.
NOTA: El proceso de alta no es inmediato. Suele tardar entre 10 y 30 minutos.
Programando Arduino
Antes de codificar nada, conectamos nuestra placa/dispositivo al puerto USB. Se debe encender un LED rojo y nuestro sistema operativo debe reconocer también el dispositivo.
Desde el menu de «Herramientas», nos aseguramos de tener la siguiente configuración
Si nos encontramos fuera de Europa, deberemos seleccionar la región correcta (Ej. REGION_US915 si estamos en EE.UU.).
Solo nos queda cargar un programa de ejemplo, codificar los datos de nuestro dispositivo, programarlo y esperar a ver los eventos en nuestra consola de Helium.
Pulsamos en Archivo -> Ejemplos -> LoRa -> LoRaWAN -> LoRaWAN
Nos cargará un ejemplo como el siguiente.
Troceamos y copiamos los respectivos valores de DevEUI, AppEUI and AppKey que hemos copiado de la consola tal y como está en la captura de arriba.
¡Ya estamos (casi) listos!
Ejecutamos desde el menú, Programa -> Subir. Después de un minuto más o menos, nuestro dispositivo estará programado e intentará conectarse a la red LoRaWAN y subir datos de forma periódica.
Podemos ver lo que está haciendo desde el monitor serie. Pulsamos en Herramientas -> Monitor Serie.
Igualmente, desde la consola de Helium, podemos comprobar desde la sección de eventos cómo llegan los paquetes a través de nuestro Hotspot (o del vecino).
Conclusiones
Como se puede comprobar es relativamente fácil probar nuestro HotSpot (sea data only o no) con un dispositivo LoRaWAN de bajo coste.