¿Qué es node red?
Node-RED es una herramienta de programación visual donde muestra visualmente las relaciones y funciones al usuario si tener que aprender un nuevo lenguaje de programación. Su principal uso es para conectar dispositivos de hardware, API y servicios en línea de formas nuevas e interesantes.[1]
Proporciona un editor basado en navegador que facilita la conexión de flujos mediante la amplia gama de nodos en la paleta que se pueden implementar en su tiempo de ejecución con un solo clic.
Edición de flujo en el navegador
Node-RED proporciona un editor de flujo que es usado en el navegador, el cual facilita la conexión y creación de los flujos mediante el amplio rango de nodos en la paleta. Los flujos se pueden implementar en tiempo de ejecución con un solo clic.
También cuenta con la facilidad de crear funciones de JavaScript se pueden crear dentro del editor utilizando un editor de texto enriquecido.
Una biblioteca incorporada le permite guardar funciones, plantillas o flujos útiles para su reutilización.
Construido en Node.js
Node red está basado en nodejs, el cual permite un tiempo de ejecución y una carga liviana, aprovechando al máximo su modelo sin bloqueo controlado por eventos. Esto lo hace ideal para ejecutarse en hardware de bajo costo y pocos recursos, como Raspberry Pi, así como en la nube.
Con más de 225,000 módulos en el repositorio de paquetes de Node, es fácil extender el rango de nodos de paleta para agregar nuevas capacidades.
Desarrollo Social
Los flujos creados en Node-RED se almacenan utilizando JSON, que se puede importar y exportar fácilmente para compartir con otros.
Por ejemplo:
[{"id":"823d4f4c.7d9a5","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"7d139de1.320a14","type":"debug","z":"823d4f4c.7d9a5","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":550,"y":140,"wires":[]},{"id":"ef88f6fa.062958","type":"inject","z":"823d4f4c.7d9a5","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":160,"y":140,"wires":[["d431708d.80745"]]},{"id":"d431708d.80745","type":"function","z":"823d4f4c.7d9a5","name":"Format timestamp","func":"// Create a Date object from the payload\nvar date = new Date(msg.payload);\n// Change the payload to be a formatted Date string\nmsg.payload = date.toString();\n// Return the message so it can be sent on\nreturn msg;","outputs":1,"noerr":0,"x":350,"y":140,"wires":[["7d139de1.320a14"]]},{"id":"79602e97.1bb77","type":"inject","z":"823d4f4c.7d9a5","name":"","topic":"","payload":"","payloadType":"str","repeat":"300","crontab":"","once":false,"x":90,"y":260,"wires":[["c94d0944.dbce18"]]},{"id":"c94d0944.dbce18","type":"http request","z":"823d4f4c.7d9a5","name":"Recent Quakes","method":"GET","url":"https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/significant_week.csv","tls":"","x":260,"y":260,"wires":[["27fee530.7f36ca"]]},{"id":"27fee530.7f36ca","type":"csv","z":"823d4f4c.7d9a5","name":"","sep":",","hdrin":true,"hdrout":"","multi":"one","ret":"\\n","temp":"","x":430,"y":260,"wires":[["e14cde20.1d3d6","d5d04826.ee5098"]]},{"id":"e14cde20.1d3d6","type":"debug","z":"823d4f4c.7d9a5","name":"","active":true,"complete":false,"x":590,"y":260,"wires":[]},{"id":"d5d04826.ee5098","type":"switch","z":"823d4f4c.7d9a5","name":"","property":"payload.mag","propertyType":"msg","rules":[{"t":"gte","v":"7","vt":"num"}],"checkall":"true","outputs":1,"x":470,"y":320,"wires":[["7f718098.5aa82"]]},{"id":"7f718098.5aa82","type":"change","z":"823d4f4c.7d9a5","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"PANIC!","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":380,"wires":[["cc568ece.21cfd"]]},{"id":"cc568ece.21cfd","type":"debug","z":"823d4f4c.7d9a5","name":"","active":true,"complete":false,"x":710,"y":320,"wires":[]}]
Referencias
[1] nodered https://nodered.org/, Consultado Agosto 2019