Integrar Ubidots con el LNS de Helium en un solo lugar simplifica la experiencia del usuario, agilizando la gestión de dispositivos y el análisis de datos. Esta consolidación ofrece a los usuarios un control y claridad mejorados sobre sus soluciones IoT, reduciendo la complejidad. Con soporte para las regiones AU915_1 y US915_1, CLASE A, B, C, y características clave de ChirpStack, el servicio no solo simplifica las operaciones, sino que también garantiza una funcionalidad robusta y flexibilidad, atendiendo a una amplia gama de aplicaciones y necesidades de IoT.
Este plugin cuesta $100 por mes. Incluye 100 dispositivos y 1M Créditos de Datos. |
Requisitos
Una cuenta activa de Ubidots.
1. Creando el complemento
Navega a Ubidots, haz clic en Dispositivos → Complementos y haz clic en el botón "+", ubicado en la esquina superior derecha, para crear un nuevo complemento. Encuentra y selecciona el complemento Helium - ChirpStack LNS. Después de revisar el "README" proporcionado, haz clic en el ícono para iniciar la configuración del complemento. Se te pedirá que elijas un token de Ubidots y, si lo deseas, agregar una descripción para tu inquilino LNS:
Una vez terminado con el complemento, se creará tu cuenta LNS. Tu nombre de usuario será la dirección de correo electrónico de tu cuenta de Ubidots y la contraseña te será enviada por correo electrónico (consulta el siguiente capítulo de esta guía).
Nota: El token de Ubidots se usa únicamente para recopilar la información necesaria de Ubidots para crear un inquilino en el LNS. No se vincula ni asocia directamente con el inquilino LNS de ninguna otra manera.
2. Obteniendo las credenciales de inicio de sesión
Al crear el complemento, recibirás un correo electrónico de service@ubidots.com con el asunto "Tu activación de Helium LNS". Contiene tus credenciales LNS y un botón para continuar con el proceso. Tu nombre de usuario será la dirección de correo electrónico de tu cuenta de Ubidots y la contraseña es generada aleatoriamente por el complemento.
Haz clic en el botón verde para ir al LNS.
3. Iniciando sesión en el LNS
Usa el correo electrónico proporcionado como nombre de usuario y la contraseña, luego, tendrás acceso al LNS de Ubidots:
4. Primeros pasos en el LNS
En ChirpStack, la organización y gestión de dispositivos se lleva a cabo a través de "dispositivos", "perfiles de dispositivos" y "aplicaciones". Comprender estos componentes es fundamental para implementar y gestionar tus soluciones IoT en ChirpStack.
4.1. Crear una aplicación
En ChirpStack, una Aplicación organiza dispositivos finales (dispositivos LoRaWAN) con funcionalidades compartidas en grupos para una gestión más fácil. Actúa como un contenedor, agilizando la gestión de datos, la seguridad y la integración de servicios. Las aplicaciones permiten la decodificación de payloads para convertir datos brutos en información y soportan integraciones externas como webhooks o MQTT para la comunicación de datos.
Para crear una Aplicación, dirígete a Aplicaciones → Agregar Aplicación:
Dale un nombre a la Aplicación y luego guarda haciendo clic en el botón "submit".
Después de crear la aplicación, necesitarás crear un perfil de dispositivo.
4.2. Crear un perfil de dispositivo
Los perfiles de dispositivos en ChirpStack establecen los parámetros operativos y las capacidades de los dispositivos LoRaWAN, detallando su versión LoRaWAN, métodos de activación (OTAA o ABP), clase de operación (A, B o C) y otros ajustes.
Asociar dispositivos con Perfiles asegura que operen dentro de los parámetros especificados para compatibilidad y rendimiento, y los vincula a Aplicaciones para una gestión estructurada.
Para crear un Perfil de Dispositivo, dirígete a Perfiles de Dispositivos → Agregar Perfil de Dispositivo:
Llena los campos de acuerdo con la configuración de tu dispositivo y los parámetros regionales de LoRaWAN en tu ubicación. Luego haz clic en el botón Submit para guardarlo.
Nota: Recuerda que las regiones actualmente soportadas son AU915_1
y US915_1
4.3. Crear un dispositivo
Ve a la aplicación creada anteriormente, haz clic en ella y luego haz clic en el botón "agregar dispositivo":
Ingresa los detalles de tu dispositivo, incluyendo el DevEUI y JoinEUI, selecciona el Perfil de Dispositivo creado anteriormente y haz clic en "submit".
Después de eso, necesitarás ingresar tu clave de aplicación (búscala en el dispositivo mismo, su empaque o en una aplicación móvil utilizada para configurarlo):
Después de esto, podrás ver tu dispositivo en el tablero del LNS:
5. Creando una integración HTTP con Ubidots
Para visualizar tus dispositivos en Ubidots, debes crear una integración que envíe los datos a Ubidots cada vez que un dispositivo realice un uplink.
Primero, ve a Ubidots → Dispositivos → Complementos y haz clic en el complemento creado en el paso #1, luego ve a la sección Decoder y copia la "URL del endpoint HTTPs" del complemento:
Desplázate hacia abajo y pega el siguiente código en la sección de decodificación:
import base64import structdef format_payload(args: str) -> dict: # Args is probably a base64 string print(args) bytes_data = base64_to_bytes(args) # The 'decoded_data' dictionary must comply with Ubidots schema. # You can check this in the following link -> https://docs.ubidots.com/v1.6/reference/send-data-to-a-device decoded_data = device_decoder(bytes_data) return decoded_data# This is a dummy function, replace here your device decoderdef device_decoder(bytes_data) -> dict: # Unpack first two bytes to integers temperature, humidity = struct.unpack(">BB", bytes_data[:2]) # This is a dummy function, replace here your device decoder # This object must comply with Ubidots schema return {"temperature": temperature, "humidity": humidity}# Helper function# Don't modify it!def base64_to_bytes(base64_string): """ Converts a base64 encoded string to bytes. Parameters: - base64_string (str): The base64 encoded string to be converted. Returns: - bytes: The decoded bytes from the base64 string. """ byte_content = base64.b64decode(base64_string) return byte_content
Luego haz clic en el botón "SAVE & MAKE LIVE" para guardar los cambios.
Un par de comentarios sobre el decodificador anterior:
La etiqueta del dispositivo se establece en su DevEui para que sea única.
Debes cambiar la función
device_decoder
para que coincida con el esquema de tu dispositivo y devuelva un objeto compatible con Ubidots, que puedes verificar aquí.Si el evento que desencadena la ejecución del complemento no es un uplink, el decodificador no hace nada y simplemente devuelve un diccionario con un mensaje de estado.
Ahora, vuelve a Helium - Chirpstack LNS y, una vez allí, ve a la Aplicación creada anteriormente, y luego a la pestaña Integraciones:
Busca la integración HTTP y haz clic en el pequeño botón de más debajo de su descripción:
Completa los siguientes campos según corresponda:
Codificación del payload: JSON
URL del endpoint del evento(s): La URL del endpoint de tu complemento
Encabezados: Agrega el encabezado
X-Auth-Token
y usa uno de tus tokens de Ubidots como su valor.
Luego, haz clic en el botón "submit" para guardar esta configuración.
Después de realizar estos pasos, podrás ver tu dispositivo en Ubidots:
6. Alternativa LNS sin Helium
Si prefieres usar tus propios gateways, sin usar la conectividad de Helium, podemos proporcionar despliegues dedicados de Chirpstack a demanda. Por favor contáctanos en support@ubidots.com para obtener más información.