Desarrollo de aplicaciones IoT con Node-RED
¿Qué es Node-RED?
Una herramienta que sigue facilitando IoT es Node-RED. Diseñado y desarrollado por IBM, Node-RED es un motor lógico gratuito de código abierto que permite a programadores de cualquier nivel interconectar E/S físicas, sistemas en la nube, bases de datos y API. Los usuarios interactúan con Node-RED mediante un editor de flujos basado en navegador que simplifica las integraciones entre múltiples dispositivos y API, simplemente conectando nodos para crear flujos fáciles de entender.
En Node-RED, los flujos se gestionan mediante diferentes tipos de "nodos", cada uno con una función o propósito bien definido. Se le proporcionan datos, los procesa y, posteriormente, los transmite al siguiente nodo del flujo o completa el procesamiento. La red se encarga del flujo de datos entre los nodos. Node-RED se basa en la programación orientada a flujos , que describe el comportamiento de una aplicación como una red de cajas negras (nodos). Estas cajas negras intercambian datos mediante métodos de paso de mensajes predefinidos, lo que da como resultado una representación visual de la aplicación en funcionamiento. Por ejemplo, con Node-RED, una aplicación se puede dividir en pasos discretos y, a continuación, visualizar el flujo para comprender su funcionamiento sin necesidad de entender las líneas de código individuales de cada nodo. Esto no solo ahorra tiempo, sino que también resulta de gran ayuda al diseñar o solucionar problemas en IoT e IoT .
La instalación predeterminada de Node-RED incluye una gran cantidad de tipos de nodos preinstalados para analizar textos, ejecutar comandos, enviar y recibir solicitudes HTTP/UDP/TCP/MQTT, encolar y desencolar mensajes, y procesar archivos CSV, HTML, JSON y mensajes XML. Además, servicios como MongoDB y MySQL se pueden integrar y utilizar con Node-RED.
Node-RED funciona en ordenadores Windows, Mac y Linux, incluso en ordenadores ligeros como Pi y BeagleBone Black, además de IoT gatewaycomo Siemens SIMATIC IoT 2000, Multitech MultiConnect Conduit AEP, de Advantech IoT gatewayGateway, Rigado IoT Gatewayy muchos más… El sitio web de Node-RED proporciona toda la documentación complementaria necesaria para ejecutar este programa en su sistema, incluidas las instrucciones de instalación.
¿Quién utiliza Node-RED?
Con la expansión y adopción de soluciones de Internet de las cosas (IoT) en todo el mundo, Node-RED se ha convertido en una herramienta invaluable para arquitectos de soluciones y desarrolladores debido a su facilidad de uso en programación basada en flujo y mapeo de soluciones. Las soluciones IoT , también conocidas como aplicaciones, son la convergencia del mundo físico con el mundo digital para extraer datos valiosos para crear conocimientos que aumentan la eficiencia en un proceso o sistema. Esta convergencia da como resultado innumerables acciones de causa y evento que deben ejecutarse para controlar sistemas o notificar a los responsables cuando un sistema está actuando más allá de sus expectativas. La programación basada en flujo es perfecta para que los desarrolladores de soluciones IoT visualicen y controlen el flujo de trabajo de datos, mantengan y administren una serie de eventos basados en causas. Mezcle el hecho de que Node-RED se puede ejecutar básicamente en cualquier lugar donde pueda instalar NodeJS, este programa es la hoja de trucos del desarrollador de soluciones IoT para el mapeo y mantenimiento de soluciones.
¿Cómo puedo utilizar Node-RED?
Para una mejor comprensión, exploremos el diseño de un sistema HVAC usando Node-RED. Los datos adquiridos del sensor de ambiente (temperatura y humedad) se envían a una IoT Gateway a través de RS-485. La belleza de Node-RED reside en la visualización y, como puede verse en la imagen a continuación, el primer nodo, "rs-485", es la comunicación serial después de establecer la comunicación con el sensor. Para pasar los datos de nuestro sensor a una plataforma de habilitación de aplicaciones (en este caso, Ubidots) para que los usuarios finales los interpreten, se utiliza un segundo nodo para analizar los datos y convertirlos a un formato compatible con la plataforma de aplicaciones (JSON). Ahora, con los datos sin procesar fluyendo a través del nodo RS-485, a través de la función de análisis, al nodo MQTT, que establece comunicación con el broker de la plataforma de aplicaciones y publica los datos pasados a través del nodo de la función de análisis.
Al modelar una aplicación IoT en esta pantalla fácil de ver y comprender, Node-RED facilita la conexión y el procesamiento de datos a los arquitectos de soluciones. Además, gracias a la disponibilidad del nodo de depuración, cualquier mensaje que calcule o analice información en Node-RED se puede identificar fácilmente para detectar errores de codificación y solucionar problemas de la solución.
Comuníquese con la plataforma de desarrollo de aplicaciones IoT Ubidots con el nodo Ubidots predefinido que se encuentra en Node-RED
Node-RED simplifica el desarrollo de código al proporcionar al usuario un conjunto de nodos prediseñados y fácilmente conectables para configurar la comunicación de datos y las funciones, desde un sensor hasta su aplicación, para su visualización y comprensión. Ahora le toca a usted crear nuevos flujos desde su hardware para optimizar y controlar mejor los sistemas de sus entornos.
¿Quieres sacarle el máximo partido a Node-RED? Como se mencionó anteriormente, en la documentación de Node-RED puedes encontrar nuevos nodos, compartir tus flujos y ver lo que otros han hecho con Node-RED. Además, hay muchos seminarios que te guiarán paso a paso en la integración de dispositivos y el desarrollo de soluciones con Node-RED. Por último, si tienes el hardware y quieres desarrollar tu primera solución o IoT , esta guía incluye una integración paso a paso para establecer una conexión con IoT y en la nube, Ubidots donde puedes integrar fácilmente el potencial de Node-RED para ofrecer IoT . Para una guía rápida de instalación de Node-RED, Pravin Ganone «¿Qué es Node-RED y cómo instalarlo?» es una excelente manera de empezar si los enlaces anteriores no te proporcionan la información que buscas.