NOTA IMPORTANTEESTA GUÍA FUE DESCONTINUADA EN ENERO DE 2022.
POR FAVOR, CONSULTE LA NUEVA GUÍA EN "Plugins: Conectar The Things Stack a Ubidots"
The Things Network (TTN) es una red de LoRaWAN diseñada específicamente para una comunicación más eficiente de dispositivos con internet, con requisitos mínimos de batería, y un protocolo de largo alcance y bajo ancho de banda. Puede aprender más sobre The Things Network en su página web oficial.
Usando esta Guía de Configuración Simple, podrá transmitir sus datos de TTN directamente a Ubidots, donde podrá desarrollar y desplegar su Solución IoT para compromiso del usuario final.
Usando la integración oficial de TTN + Ubidots, no es necesario crear webhooks y UbiFunctions para comunicarse. Con esta configuración simple, ahora solo necesita proporcionar su TOKEN de Ubidots y sus datos de TTN se enviarán automáticamente a Ubidots!
Lea más sobre el esfuerzo conjunto de Ubidots y TTN para habilitar Soluciones IoT.
NOTA: La integración manual de webhook de TTN a Ubidots se puede encontrar aquí. Esta configuración manual utiliza el complemento UbiFunctions para decodificar una carga útil de TTN.
Requisitos
Gateway LoRaWAN y dispositivos que ya están transmitiendo datos a TTN
Paso a Paso
Acerca de las Cargas Útiles de LoRaWAN
Enviando cargas útiles a Ubidots - Visión General
Cómo Decodificar su Carga Útil de LoRaWAN en Formato Ubidots
– Construyendo la función Decodificadora en TTNAgregando la integración de Ubidots desde TTN
Visualiza tus datos en Ubidots
1. Acerca de las Cargas Útiles de LoRaWAN
Las Redes de Área de Bajo Consumo (LPWAN) como LoRaWAN se han convertido en una gran opción para implementaciones de IoT gracias a su largo alcance y comunicación eficiente en batería. Para lograr esto, los dispositivos LoRaWAN transmiten paquetes de datos más pequeños a bajas velocidades, ahorrando ancho de banda y consumo de batería.
Esto significa que la mayoría de los dispositivos LoRaWAN están diseñados para transmitir cargas útiles de datos binarios simples en bytes, en lugar de cadenas o texto, lo que permite paquetes y cargas útiles más pequeños y eficientes en memoria.
2. Enviando Cargas Útiles a Ubidots - Visión General
Mientras que las cargas útiles binarias son excelentes para los dispositivos LoRaWAN, la mayoría de las API web están diseñadas para entender cargas útiles JSON y Ubidots no es la excepción. Como recordatorio, aquí está la estructura de carga útil JSON esperada por Ubidots:
Ejemplo de Estructura de Carga Útil:
{ "variable_label" : "value"}
Ejemplo de Carga Útil:
{ "humidity": 60.3, "temperature": 57.19}
Puede que desee consultar la documentación de la API de Ubidots para aprender más sobre las estructuras de carga útil aceptables para la plataforma Ubidots.
3. Cómo Decodificar su Carga Útil de LoRaWAN en Formato Ubidots
Afortunadamente, TTN tiene una herramienta incorporada llamada "Funciones de Carga Útil", que le permite decodificar cargas útiles binarias (en bytes) a cargas útiles JSON.
NOTA IMPORTANTE: La gestión de datos como bytes puede ser un poco confusa al principio, pero esta guía útil le ayudará a entender mejor los bytes. Se recomienda encarecidamente que revise esta guía y el video a continuación si nunca ha decodificado una carga útil de bytes.
Para aprender cómo se puede decodificar una carga útil binaria en una carga útil JSON, codificaremos una función de ejemplo que recibe una entrada binaria y devuelve una salida JSON como se muestra a continuación:
Construyendo la Función Decodificadora en TTN
Para construir este decodificador (usando el ejemplo anterior), vaya a la sección de Aplicaciones dentro de su cuenta de TTN, luego haga clic en "Formatos de Carga Útil". Asegúrese de que el formato "Personalizado" esté seleccionado, y que esté en la pestaña "Decodificador":
"Aplicación" –> "Formatos de Carga Útil" –> "Personalizado" –> code
Ingrese el siguiente código para la función de decodificación:
function Decoder(bytes, port) { var temperature = (bytes[0] << 8) | bytes[1]; var humidity = (bytes[2] << 8) | bytes[3]; return { temperature: temperature / 100, humidity: humidity / 100 }}
NOTA: Necesitará ajustar este código de decodificador para que coincida con el formato de datos de sus dispositivos LoRaWAN. Si necesita ayuda para hacerlo, no dude en enviar un mensaje a los Ingenieros de Aplicaciones IoT de Ubidots a través de nuestro canal de chat en la aplicación o a support@ubidots.com
4. Agregando la Integración de Ubidots desde TTN
Ahora está a solo 1 paso de ver sus datos en Ubidots. Con la decodificación activa, haga clic en "Integraciones" dentro de su cuenta de TTN, luego haga clic en "Agregar integración" y seleccione "Ubidots."
"Aplicaciones" –> "Integraciones" –> "Agregar Integración" –> "Ubidots"
A continuación, dé un nombre personalizado a su nueva integración (en esta guía simplemente lo llamamos "ubi-integration").
Luego, seleccione "clave predeterminada" en el menú desplegable de Clave de Acceso. La clave predeterminada representa una "contraseña" que se utiliza para autenticar su aplicación en TTN.
Finalmente, ingrese su TOKEN de Ubidots donde se indica en la interfaz de usuario de TTN.
5. Visualiza tus datos en Ubidots
Finalmente, tras la creación exitosa del decodificador para la carga útil de datos de su aplicación con la integración de TTN, podrá ver sus dispositivos LoRaWAN creados automáticamente en su cuenta de Ubidots.
Tenga en cuenta que esta integración utilizará automáticamente su DevEUI como el "Etiqueta API del Dispositivo," que es el identificador único dentro de Ubidots utilizado para crear e identificar automáticamente diferentes dispositivos:
Debido a que Ubidots asigna automáticamente el Nombre del Dispositivo igual a la Etiqueta API del Dispositivo, verá que el dispositivo no tiene un nombre legible por humanos. Siéntase libre de cambiarlo a su gusto:
En este artículo hemos aprendido cómo enviar datos de TTN a Ubidots utilizando las integraciones oficiales de TTN.
Otros usuarios también encontraron útil: