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
| |||
---|---|---|---|
Nombre | Librería | Descripción | Documentación |
Nodo propio de Node-RED | Activa el flujo de forma manual o a intervalos regulares. | ||
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. | Onesait Platform Developer Portal (Api creation) | |
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
| |||
---|---|---|---|
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
| |||
---|---|---|---|
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. | ||
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. | |||
Nodo propio de Onesait Platform | Invoca una operación de un API REST desde Plataforma. | ||
| 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. | Onesait Platform Developer Portal (query static & query dynamic) | |
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 | |||
---|---|---|---|
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 | |||
---|---|---|---|
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
| |||
---|---|---|---|
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
| |||
---|---|---|---|
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
| |||
---|---|---|---|
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
| |||
---|---|---|---|
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
| |||
---|---|---|---|
Nombre | Librería | Descripción | Documentación |
node-red-contrib-uuid | Genera de diferentes maneras un identificador único universal. |
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
| |||
---|---|---|---|
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. |