Node-RED dispone de una biblioteca de nodos, flujos y colecciones que la comunidad alimenta, donde obtener muchos recursos para la programación de Node-RED.
- Añadir un nodo: https://flows.nodered.org/add/node
- Añadir un flow: https://flows.nodered.org/add/flow
- Añadir una colección: https://flows.nodered.org/add/collection
Los nodos de Node-RED se empaquetan como módulos y se publican en el repositorio público de npm https://www.npmjs.com/. Una vez publicados en npm, se pueden agregar a la biblioteca de flujo mediante un formulario.
Node-RED Library: https://flows.nodered.org/
Para añadir un nodo a Node-RED: https://nodered.org/docs/getting-started/adding-nodes
- Usando el editor en gestor de paleta: https://nodered.org/docs/user-guide/editor/palette/manager
- Instalar desde npm con el comando npm install <nombre-paquete>
- Con el fichero package.json que se genera en los proyectos. npm agregará automáticamente módulos adicionales instalados a la sección de dependencias del archivo package.json en su directorio de usuario.
Para actualizar los nodos:
- La forma más fácil de buscar actualizaciones de nodos es abrir el Administrador de paleta en el editor.
- También puede buscar actualizaciones desde la línea de comandos usando npm. En su directorio de usuario, ~/.node-red ejecute el comando: npm outdated y luego para los paquetes actualizables usar npm install <name-of-module>@latest
Cualquiera que sea la opción que adopte, deberá reiniciar Node-RED para cargar las actualizaciones.
Más información sobre package.json: https://nodejs.org/en/knowledge/getting-started/npm/what-is-the-file-package-json/
Si quieres crear tu propio nodo: https://nodered.org/docs/creating-nodes/first-node
Core Nodes
La paleta Node-RED incluye un conjunto predeterminado de nodos que son los bloques de construcción básicos para crear flujos.
Todos los nodos incluyen documentación que puede ver en la pestaña de la barra lateral Información cuando selecciona un nodo.
Core nodes: https://nodered.org/docs/user-guide/nodes
Cuando instala Node-RED, se inicia con un conjunto predeterminado de nodos. Hay 8 categorías principales de nodos en la instalación predeterminada: entradas, salidas, funciones, social, almacenamiento, análisis, avanzado y Raspberry Pi (si se instala en una Raspberry Pi).
Más información: http://noderedguide.com/node-red-lecture-4-a-tour-of-the-core-nodes/
Nodos Más Usados
A 2/12/2020 hay 2924 nodos.
A 23/06/22 hay 3923 nodos.
Los nodos más descargados: https://flows.nodered.org/search?type=node&sort=downloads
- https://flows.nodered.org/node/node-red-dashboard
- https://flows.nodered.org/node/node-red-node-rbe
- https://flows.nodered.org/node/node-red-node-tail
- https://flows.nodered.org/node/node-red-node-random
- https://flows.nodered.org/node/node-red-contrib-play-audio
- https://flows.nodered.org/node/node-red-node-serialport
- https://flows.nodered.org/node/node-red-node-sentiment
- https://flows.nodered.org/node/node-red-node-smooth
- https://flows.nodered.org/node/node-red-node-ping
- https://flows.nodered.org/node/node-red-node-base64
- https://flows.nodered.org/node/node-red-contrib-browser-utils
- https://flows.nodered.org/node/node-red-contrib-process-env
- https://flows.nodered.org/node/node-red-contrib-moment
- https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket
- https://flows.nodered.org/node/node-red-contrib-web-worldmap
- https://flows.nodered.org/node/node-red-node-email
- https://flows.nodered.org/node/node-red-node-twitter
- https://flows.nodered.org/node/node-red-node-feedparser
- https://flows.nodered.org/node/node-red-contrib-doorbird
- https://flows.nodered.org/node/node-red-node-mysql
- https://flows.nodered.org/node/node-red-node-pi-gpio
- https://flows.nodered.org/node/node-red-node-twilio
- https://flows.nodered.org/node/node-red-contrib-influxdb
- https://flows.nodered.org/node/node-red-node-openweathermap
- https://flows.nodered.org/node/node-red-node-google
- https://flows.nodered.org/node/node-red-contrib-scx-ibmiotapp
- https://flows.nodered.org/node/node-red-contrib-telegrambot
- https://flows.nodered.org/node/node-red-contrib-modbus
- https://flows.nodered.org/node/node-red-contrib-process-env
A 2/12/2020 hay 1731 flows.
A 23/06/22 hay 2202 flows.
Los más descargados: https://flows.nodered.org/search?type=flow&sort=downloads
A 2/12/2020 hay 297 colecciones.
A 23/06/22 hay 672 colecciones.
Los más descargados: https://flows.nodered.org/search?type=collection&sort=downloads
Usuarios Node-RED
Usuarios interesantes a los que seguir en https://flows.nodered.org/
Colecciones en Librería Node-RED
En la librería de Node-RED disponemos de colecciones, que son agrupaciones de nodos y flujos para agrupar y tener guardados.
Ejemplo de colección: https://flows.nodered.org/collection/cQjGjy9o32Rj
Colecciones interesantes:
- Nodos extras para dashboard: https://flows.nodered.org/collection/590bc13ff3a5f005c7d2189bbb563976
- Nodos Raspberry Pi: https://flows.nodered.org/collection/czQplxxBMPR5
- Weather Services and devices: https://flows.nodered.org/collection/rekJJdGYekDB
- Nodos Tensor Flow: https://flows.nodered.org/collection/3r-kOOBtDFU1
- Scheduling nodes and Flows: https://flows.nodered.org/collection/c8156f6276976bfb518d1e60442e01e2
- Message Routing Nodes: https://flows.nodered.org/collection/B1C6pe3gKjH9
- Seguridad: https://flows.nodered.org/collection/lrEth-iJGUKU
- Worldmap: https://flows.nodered.org/collection/50a307209dc850f0e7a40e0e0f7ed9cf
Flujos en Librería Node-RED
En la librería de Node-RED disponemos de Flows creados por los usuarios y que comparten en https://flows.nodered.org/search?type=flow
Algunos Flujos destacados:
- Timer en Dashboard: https://flows.nodered.org/flow/f24cb20846f57eec19ed617b25cb61ae
- Descargar fichero del servidor: https://flows.nodered.org/flow/db68bd4934cf46f39e6e453a348bc419
- Dynamic cron schedules / timers via dashboard control: https://flows.nodered.org/flow/79a66966a6cc655a827872a4af794b94
- Scannear dispositivos de red: https://flows.nodered.org/flow/18074fd68e0918a40cf6b6144d0d5b4d
- Para hacer un bucle for: https://flows.nodered.org/flow/5c4c0f5a08d4e91ea14d
- Encender y apagar un flow desde el dashboard: https://flows.nodered.org/flow/a985944e789d90e0cd2008d85b7aaa65
- Ejemplo de formulario con HTTP: https://flows.nodered.org/flow/1bffe6808d37bd96cce283939983e758
- Weather alert: https://flows.nodered.org/flow/94ff51b473bb811c9620986f58a93577
- Monitor ESP: https://flows.nodered.org/flow/1963bdc5589a68c21ac7587ecc859612
- configurar IP de RPI desde dashboard: https://flows.nodered.org/flow/520df02be955b412ddb89bcbf70cce34
- Telegram + watson conversation: https://flows.nodered.org/flow/d8e99143e06720396aa2730d8015e4c0
- Subir fichero usando HTTP request: https://flows.nodered.org/flow/cbf44e064b9406a1175a7e8d589f66ac
- Filtrar objeto JSON a un valor: https://flows.nodered.org/flow/3e2894aaaef006667c5622a3f8ebf1d7
- Dashboard: set local time: https://flows.nodered.org/flow/50f2b113e397a65999fea26fcc75598e
- Sincronizar alarma con Android: https://flows.nodered.org/flow/cde9eb1396c78d69c13a2463b73aa699
- Alerta de valores de bolsa: https://flows.nodered.org/flow/c1e01cae4d81ec52106a
- Mostar foto de una camara: https://flows.nodered.org/flow/2b6c2f0d7a316f1a6831782d33a0d40c
- Guardar en fichero el estado de una tabla en dashboard: https://flows.nodered.org/flow/92920b4fd450bf92a3035e061947daa0
- Almacenar datos en caso que en nodo MQTT no estés disponible y una vez se active, mandar los datos almacenados: https://flows.nodered.org/flow/6773f62cace54766bf6d79afe945314f
- Pagina web con websockets: https://flows.nodered.org/flow/8666510f94ad422e4765
Monitorizar Raspberry Pi
Este flujo muestra en un dashboard la CPU, Memoria, uso del disco y temperatura del CPU de la Raspberry Pi donde está Node-RED. También hay dos botones para reiniciar y apagar el sistema. Es necesario instalar el nodo de Dashboard.
Flujo: https://flows.nodered.org/flow/fa6e4749ff7f9067fd6b5330bc54f9e3
Timer in Dashboard
Buen ejemplo de un timer en Dashboard: https://flows.nodered.org/flow/f24cb20846f57eec19ed617b25cb61ae
Este temporizador en NodeRED se puede implementar como un único subflujo configurable a través de variables de entorno. Para configurar el subflujo, debe proporcionar la iteración del temporizador (cada temporizador debe tener su propio número como: 1 | 2 |… n) y valores para la payload en el inicio y la parada (cadena).
Más información:
- https://notenoughtech.com/home-automation/nodered-home-automation/a-timer-in-nodered
- https://notenoughtech.com/home-automation/a-timer-in-nodered/
Nodos necesarios:
- node-red-dashboard
- node-red-contrib-schedex: https://flows.nodered.org/node/node-red-contrib-schedex
Schneider POWERLOGIC PM5150 via MODBUS TCP
Flow: https://flows.nodered.org/flow/7c058a46b095af5b8bd469c7c5328454
Subflow para leer variables del power meter PM5150 de Schneider.
Usa el nodo https://flows.nodered.org/node/node-red-contrib-modbus contra Schneider Power Logic PM5000 series: https://www.se.com/ww/en/product-range/61281-powerlogic-pm5000-series/
Se hace una función para leer y sacar un objeto json con los datos que devuelve el nodo de Modbus.
Nodos Adicionales
Hay más de 3000 nodos, algunos de los más interesantes son:
- Telegram: https://flows.nodered.org/node/node-red-contrib-telegrambot
- Modbus: https://flows.nodered.org/node/node-red-contrib-modbus
- OPC UA: https://flows.nodered.org/node/node-red-contrib-opcua
- IIoT OPC UA: https://flows.nodered.org/node/node-red-contrib-iiot-opcua
- http request: https://flows.nodered.org/node/node-red-contrib-http-request
- Mongodb: https://flows.nodered.org/node/node-red-node-mongodb
- Mysql: https://flows.nodered.org/node/node-red-node-mysql
- dashboard: https://flows.nodered.org/node/node-red-dashboard
- datetime: https://flows.nodered.org/node/node-red-contrib-moment
- ping: https://flows.nodered.org/node/node-red-node-ping
- pushbullet: https://flows.nodered.org/node/node-red-node-pushbullet
- suncalc: https://flows.nodered.org/node/node-red-node-suncalc
- Slack: https://flows.nodered.org/node/node-red-contrib-slack
- Open weather map: https://flows.nodered.org/node/node-red-node-openweathermap
- IFTT: https://flows.nodered.org/node/node-red-contrib-ifttt
- Arduino + firmata: https://flows.nodered.org/node/node-red-node-arduino
- Thingspeak: https://flows.nodered.org/node/node-red-contrib-thingspeak
- Python script: https://flows.nodered.org/node/node-red-contrib-pythonshell
- Cola de mensages: https://flows.nodered.org/node/node-red-contrib-simple-message-queue
- Maquina de estados: https://flows.nodered.org/node/node-red-contrib-state-machine
- Nodo para acceder a varias bases de datos: https://flows.nodered.org/node/node-red-contrib-sqldbs
- Bodo de node red que guarda los valores entrantes en formato json https://www.npmjs.com/package/json-db-node-red
- Nodo de lógica booleana: https://flows.nodered.org/node/node-red-contrib-boolean-logic
Extra Nodes: https://github.com/node-red/node-red-nodes
Más información sobre nodos interesantes:
- 26 nodos intersantes : https://bobbalfe.blog/2014/07/04/26-node-red-nodes-for-your-arsenal/
- Nodos para tu aplicación IIoT: https://blog.opto22.com/optoblog/useful-node-red-nodes-for-your-iiot-application
- Useful home automation nodes: https://diyfuturism.com/index.php/2017/11/26/big-list-of-home-automation-nodes-for-node-red/
- Mode useful nodes: https://github.com/TotallyInformation/awesome-to-me/blob/master/node-red-useful-nodes.md
Nodos en Node-RED por Categorías
Básicos
Nodo Generador de Datos
Un nodo Node-RED para crear una cadena de valores de datos ficticios a partir de una plantilla. Útil para casos de prueba.
Nodo: https://flows.nodered.org/node/node-red-node-data-generator
Node RBE
Un nodo Node-RED que proporciona informes por excepción (RBE) y capacidad de banda muerta. RBE = Report by Exception
El nodo se bloquea a menos que el valor entrante cambie – modo RBE, o cambie en más de una cierta cantidad (valor absoluto o porcentaje) – modos de banda prohibida.
Básicamente este nodo hace de filtro, de detector de flanco y puede servir para implementar histéresis.
Nodo: https://flows.nodered.org/node/node-red-node-rbe
Explicar: https://cookbook.nodered.org/basic/report-by-exception
Nodo Exec
El nodo exec le permite tomar cualquier comando del sistema existente, programa de Python o script que haya escrito y ejecutarlo desde node-red e incorporar los resultados en su flujo. Ejecuta un comando de sistema y devuelve su salida.
El nodo puede ser configurado para esperar hasta que el comando se complete, o para enviar su salida a medida que el comando la genera.
Para más información leer la información del nodo en Node-RED
El comando que se ejecuta puede ser configurado en el nodo o proporcionado por el mensaje recibido.
Más información: http://www.steves-internet-guide.com/using-the-exec-node/
Una mejora: https://flows.nodered.org/node/node-red-node-daemon. Similar al nodo exec pero este llama al comando en el momento de inicio y luego conduce cualquier entrada al nodo al STDIN del comando en ejecución, y alimenta cualquier STDOUT a la primera salida. Útil para monitorear procesos basados en la línea de comandos.
Otra alternativa: https://flows.nodered.org/node/node-red-contrib-bigexec
Ejecutar un Script de Python
Ejecutar un script de Python usando el nodo exec.
Leer: https://www.rodened.com/posts/how-to-use-python-in-node-red-1/
También se le pueden pasar argumentos y el script de python debe estar preparado para recogerlos en el formato.
Existe un nodo que ayuda a hacerlo: https://flows.nodered.org/node/node-red-contrib-pythonshell
Instalar python y crear entornos virtuales desde Node-RED: https://flows.nodered.org/flow/778859ca2503db35ff0e12341508efef/in/vL27qorhYRSn
Flujo para ejecutar python con nodo exec y template: https://flows.nodered.org/flow/0a6e073bcd6bda364fafd32699837cc7
También se pueden escribir funciones en python usando estos nodos:
- https://flows.nodered.org/node/node-red-contrib-python-function
- https://flows.nodered.org/node/node-red-contrib-python3-function
Ejemplo:
[{"id":"8a505abb.d39b08","type":"tab","label":"pythontest","disabled":false,"info":""},{"id":"f4c14ccb.34202","type":"inject","z":"8a505abb.d39b08","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":240,"wires":[["e7344e2.b6687b"]]},{"id":"e7344e2.b6687b","type":"template","z":"8a505abb.d39b08","name":"","field":"payload","fieldType":"msg","format":"python","syntax":"plain","template":"import time\n\nwhile True:\n print(time.ctime())\n time.sleep(10)\n","output":"str","x":320,"y":240,"wires":[["ab959ca2.a43e"]]},{"id":"ab959ca2.a43e","type":"file","z":"8a505abb.d39b08","name":"","filename":"pythontest.py","appendNewline":false,"createDir":false,"overwriteFile":"true","encoding":"none","x":510,"y":240,"wires":[["7cbbdbb3.3de674"]]},{"id":"7cbbdbb3.3de674","type":"exec","z":"8a505abb.d39b08","command":"python3 pythontest.py","addpay":false,"append":"","useSpawn":"true","timer":"","oldrc":false,"name":"","x":740,"y":240,"wires":[["44900928.37bb68"],[],[]]},{"id":"44900928.37bb68","type":"debug","z":"8a505abb.d39b08","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":970,"y":240,"wires":[]}]
HTTP Request
Hacer peticiones de HTTP desde Node-RED. Estos nodos están instalados por defecto.
HTTP requests
- Simple GET request
- Set the url of a request
- Set the url of a request using a template
- Set query string parameters
- Get a parsed JSON response
- Get a binary response
- Set a request header
Nodo JSON
JSON, es una forma estándar de representar un objeto JavaScript como una cadena. Las API web suelen utilizarlo para devolver datos.
Si una propiedad de mensaje contiene una cadena JSON, primero se debe analizar en su objeto JavaScript equivalente antes de poder acceder a las propiedades que contiene. Node-RED proporciona un nodo JSON para realizar esta conversión.
Conversión desde/hacia JSON: https://cookbook.nodered.org/basic/convert-json
Más información: http://www.steves-internet-guide.com/working-with-json-data-node-red/
Nodo File
Nodo file, lee y escribe ficheros locales en el host donde está instalada la instancia de Node-RED.
El nombre del archivo debe ser una ruta absoluta, de lo contrario será relativo al directorio de trabajo del proceso Node-RED, que normalmente es .node-red
Uso de nodo file storage en docker.
- ruta de fichero en docker es /data
- ruta por defecto /usr/src/node-red/
Nodo Lógica Booleana
Un conjunto de nodos lógica booleana mejorado para Node-RED: flow interruption node, blinker node, invert node, filter node, etc… con valores persistentes después del reinicio y más.
Nodos: https://flows.nodered.org/node/node-red-contrib-boolean-logic-ultimate
Nodo Moment
Nodo interesante para manejo de fechas:
Con este nodo solucionas el problema de la fecha, que coge la fecha del contenedor o servidor si no está bien configurada.
Nodo Buffer Parser
Nodos de Node-RED para convertir valores hacia y desde búfer/matriz. Admite Big/Little Endian, BCD, intercambio de bytes y mucho más
Muy interesante para tratamiento de datos
Nodo: https://flows.nodered.org/node/node-red-contrib-buffer-parser
Timers y Loops
Timer Switch
Un temporizador de Node-RED fácil, intuitivo y preciso que le permite encender/apagar algo varias veces al día y admite horarios de tan solo 1 segundo.
Timer switch https://flows.nodered.org/node/node-red-contrib-timerswitch muy interesante para temporizaciones.
Uso con dashboard: https://www.instructables.com/id/Day-Timer-Using-Node-Red-With-Persistant-Memory/
Loop
Nodos Node-RED para ayudar al flujo de bucles.
Este módulo tiene 3 nodos:
Counter loop: https://flows.nodered.org/node/node-red-contrib-loop-processing
Nodo Interval Length
Un nodo Node Red para medir la longitud del intervalo entre mensajes sucesivos
Nodo: https://flows.nodered.org/node/node-red-contrib-interval-length
Nodo BigTimer
BigTimer es un nodo de temporización Node-Red que ofrece una gama de funciones de temporización. Los BigTimers se pueden utilizar individualmente o en grupos. Soporte completo para crepúsculo/atardecer y variaciones también control día/semana/mes (y días especiales). El nodo ofrece salidas adecuadas para MQTT, voz y bases de datos.
Nodo: https://flows.nodered.org/node/node-red-contrib-bigtimer
Más información: https://tech.scargill.net/big-timer/
Nodo Cron/Temporizar eventos
Un nodo programador flexible (cron, eventos solares, fechas simples) para Node-RED con control dinámico total y soporte de zona horaria
Nodo: https://flows.nodered.org/node/node-red-contrib-cron-plus
Más Básico: https://flows.nodered.org/node/node-red-contrib-cron
Flujo de cron programable desde Dashboard: https://flows.nodered.org/flow/79a66966a6cc655a827872a4af794b94
Nodo Chronos
Programación, manejo de colas, enrutamiento, filtrado y manipulación de nodos basados en el tiempo Node-RED.
Nodo: https://flows.nodered.org/node/node-red-contrib-chronos
Nodo iCalc
Este módulo Node RED obtiene los eventos de una URL ical o de un servidor caldav.
Nodo: https://flows.nodered.org/node/node-red-contrib-ical-events
Nodo ActionFlows
Crea patrones de diseño extensibles, en bucle y reutilizables para flujos.
ActionFlows trae bucles fáciles de usar y características OOP (programación orientada a objetos) al paradigma de programación de flujo de Node-RED. Tres nodos le permiten crear flujos extensibles, con alcance, en bucle y priorizados. Las utilidades incluyen evaluaciones comparativas de rendimiento con precisión de nanosegundos.
Para comprender ActionFlows, revise cada sección comenzando con Conceptos básicos a continuación y los ejemplos de cada sección.
Nodo: https://flows.nodered.org/node/node-red-contrib-actionflows
Stop Timer
Envía el mensaje a través de la primera salida después de la duración del temporizador. Un nuevo mensaje recibido antes de que expire el temporizador reemplazará el mensaje existente y el temporizador se reiniciará, a menos que el nuevo mensaje tenga un payload de ‘stop’ o ‘STOP’, que detendrá el temporizador.
Nodo: https://flows.nodered.org/node/node-red-contrib-stoptimer-varidelay
Utilidades
Nodo Toggle
Toggle switch node para Node-red. Nodopara cualquier conmutador (físico o virtual), almacenando su estado y proporcionando operación de alternancia sin necesidad de utilizar nodos de función o variables de flujo / globales.
Nodo: https://flows.nodered.org/node/node-red-contrib-toggle
Nodo Enrutado de Mensajes
Un nodo Node Red para enrutar mensajes entre nodos.
Nodo: https://flows.nodered.org/node/node-red-contrib-msg-router
Nodo Summariser
Nodo para hacer cálculos de arrays como suma, contar, etc…
Nodo: https://flows.nodered.org/node/node-red-contrib-summariser
Nodo Máquina de Estados
Nodo: https://flows.nodered.org/node/node-red-contrib-xstate-machine
Nodo para Manipular Nodos
Nodos Node-Red para manipular flujos usando la API nodejs
Nodo: https://flows.nodered.org/node/node-red-contrib-flowman
Nodo VNC
Nodo para conectar a un servidor y mandar eventos de teclado, ratón, etc…
Nodo: https://flows.nodered.org/node/node-red-contrib-vnc
Comunicaciones
Nodo socketio
Socket.IO es una biblioteca de JavaScript para aplicaciones web en tiempo real. Permite la comunicación bidireccional en tiempo real entre servidores y clientes web. Tiene dos partes: una biblioteca del lado del cliente que se ejecuta en el navegador y una biblioteca del lado del servidor para Node.js. Ambos componentes tienen una API casi idéntica. Como Node.js, está impulsado por eventos.
Nodo: https://flows.nodered.org/node/node-red-contrib-socketio
Otros:
- https://flows.nodered.org/node/node-red-contrib-socketio-agent
- https://flows.nodered.org/node/node-red-contrib-socketio-client
Nodo Utilidades Browser
Nodos Node-RED para la funcionalidad del navegador, como carga de archivos, cámara y micrófono. Muy interesante para subir datos, tomar datos de la cámara y del micrófono.
Nodo: https://flows.nodered.org/node/node-red-contrib-browser-utils
Cliente Telnet
Un nodo Node-red para gestionar un diálogo con un servidor telnet sobre IP. Está destinado a simplificar el envío de consultas a un servidor y tratar las respuestas de forma asincrónica
Nodo: https://flows.nodered.org/node/node-red-contrib-telnet-client
RedLink
Redlink es una forma de conectar muchas instancias de Node-Red juntas usando conexiones de «servicio» soft para crear esencialmente un cluster de «servicio» usando hardware dispar para crear una gran red de Node-Red.
Redlink no utiliza un sistema de mensajería tradicional, en realidad crea una malla jerárquica de servicios web interconectados utilizando HTTPS-POST como transporte y un concepto de enrutamiento similar a OSPF.
Nodo: https://flows.nodered.org/node/node-red-contrib-redlink
LDAP Login
Nodo Node-RED para Microsoft Active Directory (LDAP).
Nodo: https://flows.nodered.org/node/node-red-contrib-ldap-login
Comunicaciones Industriales
Nodo Modbus TCP
Nodos de modbusTCP:
- https://flows.nodered.org/node/node-red-contrib-modbus
- https://flows.nodered.org/node/node-red-contrib-modbus-api
- https://flows.nodered.org/node/node-red-contrib-modbustcp
Recomendado https://flows.nodered.org/node/node-red-contrib-modbus
Con el nodo https://flows.nodered.org/node/node-red-contrib-modbus no solo puedo leer modbus sino que puedo montar un servidor modbus.
Como usar este nodo:
- see Wiki pages
- use the Flow example to see how it works …
- see YouTube Playlist
Para leer datos lo mejor es usar modbus-flex-getter donde la entrada es un objeto json con estos datos:
- unitid (0..255 tcp | 0..247 serial) – overrides default Unit-ID
- fc (1..4)
- start address (0:65535)
- quantity (1:65535) of coils/inputs/registers to be read from the start address
Modbus-getter y Modbus-read indicas en el nodo los registros a leer. Importante: If you have more than 10 nodes on one communication configuration, use the Modbus-Flex-Getter or think about multiple connections to your Modbus device, please! You can do polling with the Modbus-Getter and Modbus-Flex-Getter, too by using an injecting node with an interval.
Vídeo manejar Modbus: https://www.youtube.com/watch?v=uillyhwBoEU
Nodo Open PLC
Este paquete permite configurar e interactuar con una instancia de OpenPLC desde Node-RED.
Open-PLC: https://flows.nodered.org/node/node-red-contrib-openplc
Nodo OPC DA
Un nodo Node-RED para hablar con dispositivos de automatización utilizando el protocolo OPC-DA
Nodo: https://flows.nodered.org/node/node-red-contrib-opc-da
Nodo OPC UA
Nodos:
- https://flows.nodered.org/node/node-red-contrib-iiot-opcua
- https://flows.nodered.org/node/node-red-contrib-opcua-server
- https://flows.nodered.org/node/node-red-contrib-opcua
- https://flows.nodered.org/node/node-red-contrib-opc-da
KNX
Controle su instalación KNX a través de Node-Red. KNX IN/OUT de nodo único con importador de direcciones de grupo ETS opcional. Fácil de usar y altamente configurable.
KNX en Node-RED: https://flows.nodered.org/node/node-red-contrib-knx-ultimate
BBDD
Nodo MySQL
Un nodo Node-RED para leer y escribir en una base de datos MySQL
Nodo de mysql: https://flows.nodered.org/node/node-red-node-mysql
Código del nodo de mysql: https://github.com/node-red/node-red-nodes/tree/master/storage/mysql
Ejemplo: https://flows.nodered.org/flow/13c55d1aa11e864609e24fa534a1fa26
Ejemplo de uso: https://tech.scargill.net/tag/mqtt-and-mysql-on-node-red/
Insertar en BBDD. Función, que inserta el texto, usuario y localización de payload:
texto = msg.payload.text;
localizacion = msg.payload.location;
usuario = msg.payload.user
msg.topic = "INSERT INTO `tabla` (`Texto`, `Localizacion`, `Usuario`) VALUES ('" + texto + "', '" + localizacion + "', '" + usuario + "')";
return msg;
Nodo MongoDB
Un nodo Node-RED para guardar datos en una base de datos MongoDB.
Nodo MongoDB: https://flows.nodered.org/node/node-red-node-mongodb
SQL-Lite
Un nodo Node-Red para leer y escribir una base de datos sqlite local.
Flujo: https://flows.nodered.org/node/node-red-node-sqlite
SQL-lite https://randomnerdtutorials.com/sqlite-with-node-red-and-raspberry-pi/
Tutorial: http://developers.sensetecnic.com/article/using-sqlite-with-fred/
Nodo BBDD Connection Manager
Administrador de conexiones generalizado de Node-Red para permitir la agrupación de conexiones.
Actualmente maneja los siguientes tipos de conexión:
- postgreSQL
- Casandra
- DataStax
- monetdb
- neo4j
- db2
Nodo: https://flows.nodered.org/node/node-red-contrib-connectionmanager
Nodo JSON DB
Nodo-RED Nodo para almacenar/recuperar fácilmente información almacenada en un archivo .json. Se implementa un almacenamiento en caché diferido para cargar la colección solo cuando sea necesario. Además, es posible configurar la colección para que solo escriba en el archivo json cuando Node-RED se detiene o se vuelve a implementar un flujo.
Nodo: https://flows.nodered.org/node/node-red-contrib-json-db
Ejemplo: https://flows.nodered.org/flow/fcd5e92e53d30abf73dcc9a21534e3d8
Redes Sociales
Nodo Twitter: https://flows.nodered.org/node/node-red-node-twitter
Nodo Twitter Stream: https://flows.nodered.org/node/node-red-contrib-twitter-stream
Nodo Facebook: https://flows.nodered.org/node/node-red-contrib-facebook
Nodo Facebook Messenger Writer: https://flows.nodered.org/node/node-red-contrib-facebook-messenger-writer
Nodo: https://flows.nodered.org/node/node-red-node-instagram
IoT
Web Nodes
Una colección de nodos Node-RED para servicios web populares.
Paquete: https://flows.nodered.org/node/node-red-node-web-nodes
Nodo no Oficial de Google Cloud
Nodo: https://flows.nodered.org/node/node-red-contrib-google-cloud
Nodo TTN
Los nodos TTN para Node-RED reciben eventos y mensajes de dispositivos, así como también envían mensajes a los dispositivos.
TTN: https://www.thethingsnetwork.org/
Nodo: https://flows.nodered.org/node/node-red-contrib-ttn
Decrypt Payload: https://flows.nodered.org/flow/845bb5b8cf788939dd261f472c289f77
Pingback: Saber Más Node-RED Developer | Aprendiendo Arduino
Pingback: Biblioteca Node-RED -
Pingback: Saber Más Fundamentos IoT para Formación Profesional | Aprendiendo Arduino
Pingback: Diario del Curso IoT, Smart Cities y Node-RED | Aprendiendo Arduino
Pingback: Diario Curso: Raspberry Pi y Node-RED. 2ª ed | Aprendiendo Arduino