Nodos disponibles en el FlowEngine de Plataforma

Introducción

El módulo Flow Engine es el motor de flujos que puede realizar ingesta de datos, y está construido mediante la herramienta de programación Node-RED con la que se puede conectar tanto dispositivos hardware, APIs como servicios online. Una de las ventajas del uso de flujos creados a través de Node-RED reside en que la información queda almacenada en formato JSON, el cual es fácilmente importable y exportable.

Para crear los flujos mediante Node-RED, se hace uso de las unidades individuales denominadas nodos, y la conexión entre estos nodos resulta sencilla e intuitiva. En el visor de la herramienta se puede encontrar una descripción del nodo, sus inputs y outputs. A continuación, se exponen los nodos que se han incorporado al módulo de Flow Engine de la plataforma junto con la librería a que corresponden, una pequeña descripción y la documentación relativa oficial.

Lista de Componentes


INPUT


INPUT


INPUT

Nombre

Librería

Descripción

Documentación

Nodo propio de Node-RED

Activa el flujo de forma manual o a intervalos regulares.

Catch

Nodo propio de Node-RED

Captura errores lanzados por nodos en la misma pestaña.

Nodo propio de Node-RED

Informa sobre mensajes de otros nodos en la misma pestaña.

Nodo propio de Node-RED

Crea enlaces virtuales entre flujos.

Nodo propio de Node-RED

Conecta a un MQTT broker y suscribe a los mensajes de un tema específico.

Nodo propio de Node-RED

Crea un HTTP end-point para la creación de servicios web.

node-red-contrib-websocket

Nodo de entrada del WebSocket.


node-red-bluemix-nodes

Proporciona entradas TCP. Se puede conectar a un puerto remoto o aceptar conexiones entrantes.



Nodo de entrada que produce un mensaje que contiene un buffer, string o string codificada.





Nodo propio de Onesait Platform



Crea un HTTP end-point para la creación de servicios web.







Realiza una inserción de datos en la ontología deseada.



Nodo propio de Onesait Platform



Nodo de entrada para las notificaciones. 



node-red-contrib-ttn

Recibe eventos procedentes de dispositivos conectados a The Things Network.

Recibe información de dispositivos conectados a The Things Network.

 

 

node-red-node-stomp



Conecta con un servidor Stomp para recibir mensajes.

 

 

node-red-contrib-pubnub



Se suscribe a un canal específico de PubNub y recibe su contenido.

OUTPUT


OUTPUT



OUTPUT


Nombre

Librería

Descripción

Documentación

Nodo propio de Node-RED

Monitoriza los mensajes dentro de un editor. Envía mensajes dentro de un editor para propósitos de debugado.

Nodo propio de Node-RED

Crea enlaces virtuales entre flujos.

Nodo propio de Node-RED

Conecta a un MQTT broker y se suscribe a mensajes de un tópico específico.

Nodo propio de Node-RED

Envía respuestas de vuelta a peticiones recibidas de un nodo de entrada HTTP.

node-red-contrib-websocket

Nodo de salida del WebSocket.

node-red-bluemix-nodes

Proporciona opciones de salida TCP.



Envía el mensaje correspondiente al host y al puerto UDP asignado.



Nodo propio de Onesait Platform



Envía respuestas de vuelta a peticiones recibidas de un nodo de entrada HTTP.





node-red-contrib-ttn

Envía información a un dispositivo conectado a The Things Network.





node-red-node-stomp

Conecta con un servidor Stomp para enviar mensajes.

 



node-red-contrib-pubnub

Publica el mensaje en el canal especificado de PubNub.

FUNCTION


FUNCTION



FUNCTION


Nombre

Librería

Descripción

Documentación



Nodo propio de Node-RED

Función JavaScript que trabaja contra los mensajes recibidos por el nodo.

Fija unas propiedades basadas en la plantilla que se añada.



Nodo propio de Node-RED

Retrasa la entrada del mensaje en intervalos fijados.

Node-RED Cookbook

Crea un timeout dentro del flujo de forma que se envíe un primer mensaje y de forma opcional un segundo en función del valor elegido.

Nodo propio de Node-RED

Permite introducir un comentario.



Nodo propio de Node-RED

Envía una petición HTTP y devuelve una respuesta.

node-red-bluemix-nodes

Conecta a un puerto remoto TCP y contesta los mensajes de un cliente de entrada.













Nodo propio de Node-RED


Enruta los mensajes en función de los valores de las propiedades o de su posición secuencial.

 

Añade, cambia, elimina o mueve propiedades de un mensaje. Se pueden especificar múltiples reglas, que se aplican en el orden definido.

Escala de forma lineal el valor recibido.

Divide un mensaje en una secuencia de mensajes. 

Une una secuencia de mensajes en un único mensaje. La forma de unirlos puede ser automática, manual o de secuencia reducida.

Ordena una secuencia de mensajes o las propiedades de uno solo.

Crea secuencias de mensajes basadas en diferentes reglas tales como: número de mensajes, intervalos de tiempo y secuencias concatenadas.

 











Nodo propio de Node-RED

Realiza la conversión entre el formato CSV y el objeto JavaScript que lo representa. El proceso puede realizarse en cualquiera de las dos direcciones.

Extrae elementos desde un documento html usando un CSS selector.

Realiza la conversión entre el formato JSON y el objeto JavaScript que lo representa. El proceso puede realizarse en cualquiera de las dos direcciones.

Realiza la conversión entre el formato XML y el objeto JavaScript que lo representa. El proceso puede realizarse en cualquiera de las dos direcciones.

Realiza la conversión entre el formato YAML y el objeto JavaScript que lo representa. El proceso puede realizarse en cualquiera de las dos direcciones.

Node-RED Cookbook

 



Nodo propio de Onesait Platform




Invoca una operación de un API REST desde Plataforma.






Nodo propio de Onesait Platform

Transforma cualquier mensaje en una acción para un Digital Twin.



Representa un Digital Twin de la Plataforma.

Nodo propio de Onesait Platform

Nodo con integración en Firebase para el desarrollo de aplicaciones web y móviles.



Nodo propio de Onesait Platform

Inserta valores en una ontología.

Nodo propio de Onesait Platform

Nodo que se encarga del envío de mails.





Nodo propio de Onesait Platform

Realiza una query de bases dinámicas.



Realiza una query de bases estáticas.











node-red-contrib-crypto-js








Encripta el mensaje usando un algoritmo determinado.







Desencripta el mensaje a través de un algoritmo determinado.

Crea un código de autentificación de mensajes en clave-hash.

Genera un mensaje encriptado mediante un algoritmo específico.

Codifica la información usando un conjunto de caracteres específicos.

Decodifica la información usando un conjunto de caracteres específicos. Genera un array de palabras.





node-red-node-rbe

Proporciona informes en caso de que se produzca una excepción. No enviará información a no ser que los datos hayan cambiado. Funciona tanto con números como con strings.







node-red-contrib-file-function

Este nodo carga el script para ser ejecutado desde un documento actual en el disco. Es la misma funcionalidad que el nodo "function" mejorada.

node-red-contrib-soap

Permite al usuario enviar una petición SOAP. Será necesario crear una nueva configuración. Es importante introducir el nombre de método de forma correcta.

SOCIAL

SOCIAL

SOCIAL

Nombre

Librería

Descripción

Documentación



node-red-node-email

Permite recibir periódicamente emails mediante el protocolo IMAP. Los archivos añadidos al mail son tratados mediante un array de objetos donde cada objeto representa un adjunto. Se puede elegir el tiempo de actualización de datos.

 



node-red-node-twitter

Puede ser usado para buscar tweets con un término determinado, obtener todos los tweets por usuario o para visualizar los mensajes directos recibidos de un usuario autenticado.

node-red-node-email

Ofrece la posibilidad de enviar emails. Se pueden enviar archivos adjuntos, que estarán contenidos en un array en formato nodemailer. 



node-red-node-twitter

Posibilita el envío de tweets y mensajes directos.





node-red-node-instagram

Consigue fotos de Instagram actualizando la cuenta del usuario cada 15 minutos. Cada mensaje enviado contiene una única foto. Si los metadatos están disponibles, se puede obtener la localización y el tiempo de la captura de la foto.





Revisa el contenido de Instagram cada vez que el usuario recibe un mensaje. Cada mensaje irá acompañado de una sola foto; si los metadatos están operativos, se puede hacer una captura de la localización espacial y temporal.

STORAGE

STORAGE

STORAGE

Nombre

Librería

Descripción

Documentación

node-red-node-tail

Inyecta contenidos de un archivo en el flujo. Únicamente puede ser usado en Linux/Mac.



node-red-contrib-file-function




Lee los contenidos de un fichero pasado como string o como binary buffer.



Escribe un archivo, añadiendo o reemplazando el contenid o existente. Puede usarse para borrar el documento.

ANALYSIS


ANALYSIS



ANALYSIS


Nombre

Librería

Descripción

Documentación





node-red-node-sentiment

Permite hacer una puntuación de sentimiento, de forma positiva o negativa, en un mensaje que le pasemos. Para ello, analiza las palabras que se introducen mediante el AFINN-165. Habitualmente las puntuaciones van de -5 a 5, una puntuación por encima del cero es positiva, y por debajo, negativa.

ADVANCED


ADVANCED



ADVANCED


Nombre

Librería

Descripción

Documentación



El nodo permite buscar cambios en un directorio o un archivo. Se puede realizar una búsqueda múltiple añadiendo comas para separar los documentos o direcciones.



node-red-node-feedparser

Monitoriza el RSS o Atom feed de una web para dar información actualizada. Por defecto, se hace una petición de información cada 15 minutos.



Permite introducir una línea de comando en un segundo plano del Pi que funciona como si se comunicara directamente con él. El nodo puede configurarse para que lance el output una vez finalizado el comando o de forma que se vaya generando.



RASPBERRY PI


RASPBERRY PI



RASPBERRY PI


Nombre

Librería

Descripción

Documentación











node-red-node-pi-gpio






Utilizado para establecer la conexión con los pins de GPIO en la Raspberry Pi. Genera 0 o 1 dependiendo del estado del pin en el input.





Nodo de salida, puede ser usado en modos digitales o PWM. En el primer caso se fijan valores de 0 o 1, mientras que en el segundo van de 0 a 100.

Detecta los botones de un ratón. Requiere que el uso del mismo sea por USB.

Detecta las pulsaciones del teclado. Es necesario que dicho teclado sea con conexión USB.

WEATHER


WEATHER



WEATHER


Nombre

Librería

Descripción

Documentación



node-red-node-openweathermap




Realiza un sondeo de los datos de la web openweathermap.org y establece un pronóstico de 5 días que se incluye en un array. Es necesario usar una API Key.





Realiza un sondeo periódico de los datos de openweathermap.org y genera un pronóstico de 5 días siempre que exista un cambio en la información. Es necesario usar una API Key.

UTILITIES


UTILITIES



UTILITIES


Nombre

Librería

Descripción

Documentación

node-red-contrib-uuid

Genera de diferentes maneras un identificador único universal.

SPREADSHEET


SPREADSHEET



SPREADSHEET


Nombre

Librería

Descripción

Documentación

 











node-red-contrib-spreadsheet-in






Transforma los contenidos de una hoja de cálculos a un objeto de trabajo.



 

Selecciona un objeto de hoja de un objeto de trabajo.

 



Selecciona el valor de una celda de una hoja.

 

Transforma el objeto hoja en un array de objetos JSON

ONESAIT PLATFORM DATAFLOWS


SPREADSHEET



SPREADSHEET


Nombre

Librería

Descripción

Documentación

 











Nodo propio de Onesait Platform






Inicia la ejecución de un DataFlow en la plataforma.



 

 

Detiene la ejecución de un DataFlow en la plataforma.

 

Comprueba el estado en el que se encuentra un DataFlow en la plataforma.