Ir al contenido principal
Todas las coleccionesGuías de desarrollador
UbiFunctions: Procesar/Analizar datos de plataformas de terceros
UbiFunctions: Procesar/Analizar datos de plataformas de terceros

Utiliza UbiFunctions para crear tu propia API y obtener acceso a datos, APIs y herramientas utilizando HTTPS.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 2 meses

Una de las cosas más emocionantes sobre IoT son sus amplias capacidades de arquitectura de soluciones, lo que brinda a ingenieros, desarrolladores e innovadores un control completo desde la gestión de dispositivos en el campo hasta la limpieza avanzada de datos específicos del proyecto y la detección de anomalías para análisis preventivos en fábricas. Por ejemplo, podrías elegir enviar datos directamente a Ubidots desde un dispositivo capaz de HTTP/MQTT, o puedes usar una nube de gestión de dispositivos del proveedor de hardware para recibir datos y luego retransmitir estos datos a través de un webhook a Ubidots para visualización, cálculo y almacenamiento de datos. Si luego deseas superponer otra API de análisis de datos de terceros, para mejorar tus datos más allá del marco de Ubidots, simplemente exporta los datos con la misma facilidad usando UbiFunctions. Los Integradores de Sistemas tienen un nuevo mejor amigo en UbiFunctions, ya que ahora pueden conectar las capas IoT de una solución en una sola pantalla y plataforma.

En el diagrama a continuación, vemos una solución típica de IoT. Aquí podemos ver la capa de "Gestión de Dispositivos", que se puede utilizar para actualizaciones OTA, reinicios de dispositivos y otras características esenciales relacionadas con el hardware.

Aquí algunos casos típicos donde se utiliza una capa de terceros entre dispositivos y Ubidots:

Si bien la mayoría de las plataformas anteriores son lo suficientemente flexibles como para configurar webhooks HTTPS o callbacks en el formato JSON esperado por Ubidots API, puede haber instancias donde se requiera procesamiento adicional, y diseñamos el motor UbiFunctions precisamente para estas instancias.

¿Qué es un Parser?

Un parser es una función en la nube de Node.js o Python3 que se ejecuta cuando se realiza una solicitud HTTPS GET o POST a la URL del Parser:

Crear una Función

Esta función se puede acceder desde la pestaña "Dispositivos" de tu encabezado de Ubidots seleccionando "Funciones"

Paso 1: Haz clic en el ícono azul "+" para crear tu primera función de análisis:

Paso 2: Dale un nombre que describa el tipo de dispositivo que estás utilizando. Recomiendo usar el formato "Marca-Referencia", es decir, "mcthings-mctrack" o "digitalmatter-oyster".

Paso 3: Haz clic en "Hacerlo en vivo" para desplegar una URL de endpoint API que contenga el nombre de tu función. Deberías ver la URL actualizada:

Codifica tu función para Analizar

UbiFunctions acepta NodeJS LTS, lo que significa que puedes usar funciones de Javascript para analizar tus datos. El fragmento de código recibe "args" como un diccionario y realiza la transformación de datos deseada. El código se ejecuta cada vez que se solicita la URL del endpoint.

Por defecto, se incluye un código simple que devolverá los mismos datos recibidos:

function main(args) {    return args;}

También podríamos devolver un diccionario arbitrario:

function main(args) {    return {"Hello":"World"};}


Ten en cuenta que la carga útil de retorno debe ser siempre un diccionario.

Ejecuta tu Función

Haz clic en "Ejecutar Función" para probar tu código. Aparecerá una pantalla modal solicitando los datos de entrada. Puedes dejar esto en blanco si lo deseas.

Después de hacer clic en "Ejecutar con esta entrada", aparecerá una ventana de consola con tanto la salida como la consola de los resultados:

  • Salida: Esto es lo que devuelve tu función de análisis. Debe ser un diccionario. Usa "return" para salir de la función y devolver el diccionario.

  • Consola: Esto se utiliza para fines de depuración. Usa console.log("hello") para dejar rastros en esta consola.

¿Necesitas ayuda para codificar tu parser? No dudes en pedir ayuda a nuestro equipo de soporte a través del canal de chat en la aplicación o por correo electrónico a support@ubidots.com.

¿Quieres compartir un parser útil para enseñar a otros cómo conectar los puntos? Siéntete libre de publicarlo en community.ubidots.com y ayudar a otro innovador de IoT a alcanzar sus objetivos.

¿Ha quedado contestada tu pregunta?