Ir al contenido principal
Todas las coleccionesGuías de usuario
Integra tus datos de LORIOT con Ubidots usando UbiFunctions
Integra tus datos de LORIOT con Ubidots usando UbiFunctions

Aprende cómo enviar mensajes de downlink al backend de LORIOT con Ubidots.

David Sepúlveda avatar
Escrito por David Sepúlveda
Actualizado hace más de 4 meses

El Servidor de Red LoRaWAN de LORIOT ofrece la solución para construir y operar redes privadas LoRaWAN. Administra y supervisa tus dispositivos y gateways remotos con un conjunto de herramientas detallado, y dirige los datos de telemetría de manera segura a tu aplicación en la nube IoT impulsada por Ubidots.

image.png

NOTA IMPORTANTE: Este artículo asume que las puertas de enlace y dispositivos LoRaWAN ya han sido provisionados dentro de la instancia de LORIOT y están enviando datos regularmente.

Requisitos

  1. Cuenta Industrial de Ubidots.

  2. Instancia de LORIOT.

  3. Puerta de enlace y dispositivos conectados a la instancia de LORIOT.

1. Flujo de Trabajo de Integración

Conectar/subir datos de LORIOT a Ubidots se conoce como una Integración HTTP Cloud-to-Cloud. Estas integraciones a menudo, si no siempre, requieren pasos intermedios para asegurar la compatibilidad entre los formatos de datos de la nube del remitente y del receptor. En este caso, la integración de LORIOT con Ubidots no es la excepción ya que requiere un paso de análisis para convertir el formato JSON de salida de LORIOT en uno compatible con Ubidots. Ese paso de análisis es donde el módulo Functions as a Service (FaaS) de Ubidots, UbiFunctions, entra en juego para tomar el formato JSON nativo de LORIOT y convertirlo en uno compatible con la API de Ubidots.


La imagen de abajo ilustra este flujo de trabajo:

image.png

2. Configuración de Ubidots: UbiFunctions

Desde el módulo UbiFunctions, sigue los pasos a continuación para crear y lanzar la UbiFunction que manejará la conversión del formato JSON nativo de LORIOT a uno compatible con Ubidots:

Paso 1: Haz clic en el botón “+” en la esquina superior derecha.
Paso 2: Nombra tu UbiFunction. Por ejemplo, “Integración LORIOT”.
Paso 3: Selecciona POST como el Método.
Paso 4: Selecciona NodeJS 10 como el runtime predeterminado

NOTA: Deja la opción “Disparador basado en tiempo” deshabilitada.

Paso 5: Ingresa el siguiente código en el editor.

const axios = require('axios');

const TOKEN = 'PUT-YOUR-TOKEN-HERE';
const BASE_URL = 'https://industrial.api.ubidots.com';
const APIV1 = '/api/v1.6';

async function main(args) {
console.log(`args: ${JSON.stringify(args)}`);
const {ts, EUI, data, port} = args;
var bytes = Buffer.from(data, 'hex');
const input = {
bytes: bytes,
fport: port
}

let payload = decoder(input);
let res;
await ubidotsPostData(TOKEN, EUI, payload, ts)
.then(response => {res = response.data})
.catch(err => {res = err});
return res;
}

function decoder(input) {
/*
Put your decoder here
Note that input should be a JSON with the form:
input = {
bytes: bytes, // Buffer of bytes
fport: port
}
*/
return {} // Should be an Ubidots compatible JSON
}

function ubidotsPostData(token, devLabel, body, timestamp) {
const url = `${BASE_URL}${APIV1}/devices/${devLabel}/?timestamp=${timestamp}`;
let config = {
method: 'post',
url: url,
data: body,
headers: {
'Content-Type': 'application/json',
'X-Auth-Token': token
}
}
return axios.request(config).then(response => response)
}

Paso 6: Ingresa un token de cuenta de Ubidots donde se solicita (línea 3).
Paso 7: Introduce tu decodificador específico en la función decoder en la línea 24.
Paso 8: Haz clic en el botón “Make it live”.
Paso 9: Copia la “URL del Endpoint HTTPS” haciendo clic en el icono “Copiar” y Guárdala para más tarde.​

3. Integración de Uplink HTTP de LORIOT

Teniendo configurada la UbiFunction, es el momento de completar la integración para empezar a enviar datos a Ubidots. Para eso, estos pasos te guiarán a través de este proceso final:

Paso 1: Haz clic en “Applications” y selecciona aquella desde la cual te gustaría empezar a enviar datos.
Paso 2: Selecciona la opción Output en el panel izquierdo y luego “Add new output”.
Paso 3: Elige la opción HTTP Push. Ingresa la siguiente información
URL de destino para POSTs: URL del Endpoint HTTPS guardada en la sección anterior.
Valor de encabezado "Authorization" personalizado: Déjalo en blanco.

Paso 4: Guarda la nueva salida haciendo clic en el botón "Add output".

Después de completar este proceso, comenzarás a ver que tus dispositivos LoRaWAN se crean en tu cuenta e informan datos a medida que estén disponibles.

¿Ha quedado contestada tu pregunta?