TECNOLOGÍA

Primeros pasos con Node-RED y Raspberry Pi con un sistema de alarma con Arduino

Primeros pasos con Node-RED y Raspberry Pi con un sistema de alarma con Arduino

Huelva24

Huelva

Esta funcionalidad es sólo para registrados

Creada por el grupo de Servicios de Tecnologías Emergentes de IBM, Node-RED es una herramienta enormemente fácil de utilizar, un software de gran utilidad y especialmente sencillo de manejar con Raspberry Pi. Es un programa muy utilizado por estudiantes y aficionados que desean realizar un proyecto por su cuenta y confeccionar, entre otros sistemas, una alarma con Arduino capaz de enviar notificaciones push al móvil. Pero, ¿cómo se consigue esto? ¿Por dónde empezar?

Creada por Nick O’Leary y Dave Conway-Jones en 2013, dos miembros del grupo de Servicios de Tecnologías Emergentes de IBM, Node-RED es una herramienta muy potente que comunica hardware y servicios de forma rápida y sencilla. Su fin último es dar solución a la complejidad del proceso de integración del hardware con otros servicios.

Node-RED permite al usuario utilizar tecnologías en principio complejas de manera sencilla, pudiendo sacarles el máximo partido sin tener que llegar a dominarlas. Su baza es la sencillez y la inmediatez, pues con Node-RED es posible poner en marcha el proyecto lo antes posible.

La estructura mínima de Node-RED son los nodos, que se arrastran mediante la interfaz gráfica y se encuentran organizados en flows, flujos que agrupan los nodos y que facilitan la interconexión entre ellos. Permiten al usuario llevar a cabo una tarea determinada: recibir un mensaje MQTT, una llamada HTTP o activar un pulsador, entre otras acciones. Y todo sin tener que apenas programar.

¿Qué es Node-RED y para qué sirve exactamente?Creada por Nick O’Leary y Dave Conway-Jones en 2013, dos miembros del grupo de Servicios de Tecnologías Emergentes de IBM, Node-RED es una herramienta muy potente que comunica hardware y servicios de forma rápida y sencilla. Su fin último es dar solución a la complejidad del proceso de integración del hardware con otros servicios. Node-RED permite al usuario utilizar tecnologías en principio complejas de manera sencilla, pudiendo sacarles el máximo partido sin tener que llegar a dominarlas. Su baza es la sencillez y la inmediatez, pues con Node-RED es posible poner en marcha el proyecto lo antes posible.La estructura mínima de Node-RED son los nodos, que se arrastran mediante la interfaz gráfica y se encuentran organizados en flows, flujos que agrupan los nodos y que facilitan la interconexión entre ellos. Permiten al usuario llevar a cabo una tarea determinada: recibir un mensaje MQTT, una llamada HTTP o activar un pulsador, entre otras acciones. Y todo sin tener que apenas programar. Node-RED está creado a partir de NodeJS y JavaScript D3. El primero proporciona la potencia suficiente para hacer de Node-RED un software fiable y escalable, mientras que el segundo se encarga de la interfaz web. “NodeJS es un software de gran potencia que permite programar en JavaScipt del lado del servidor”, explica el equipo de ProgramarFacil.com, portal web fundado por Luis del Valle enfocado a la programación con Arduino y que es todo un referente en el mundo maker a día de hoy. “Al ser accesible desde un navegador, solamente necesitamos acceder a una página web para poder crear nuestros propios sistemas, sin instalar ningún entorno de desarrollo o IDE”, comentan. Primeros pasos con Node-REDLa premisa del proyecto es sencilla: instalar Node-RED en Raspberry Pi para hacer un proyecto IoT. Vas a necesitar tener instalado el último sistema operativo Raspbian en tu placa, además del bróker MQTT Mosquitto para comunicarnos con Node-RED más fácilmente. También necesitarás hardware complementario: una placa Arduino MKR1000, NodeMCU o cualquier otra compatible, además de un interruptor magnético. Con todo ello podrás crear un sistema de alarma con Arduino y ESP8266 que emitirá una alerta al móvil cuando se abra una puerta o una ventana. Y todo integrado con Node-RED y con protocolos de comunicación MQTT. “Node-RED es el mayor ecosistema de código abierto que existe en la actualidad a nivel global, y está optimizado para tratar múltiples conexiones concurrentes de manera óptima”, explica el propio Luis del Valle. “Y su uso no es nada marginal: empresas como Netflix o PayPal ya lo han integrado en sus sistemas”, añade. No obstante, pese a que los primeros pasos pueden darse sin necesidad de saber programar, es necesario conocer los fundamentos más avanzados de la programación para hacerlo. “Se requieren de altos conocimientos de lógica computacional para desarrollar proyectos con Node-RED”, comenta Luis del Valle. “¿Se puede hacer todo esto sin necesidad de programar una línea de código? Por supuesto, pero esto no quiere decir que no se necesiten conocimientos previos”, sentencia. A la hora de instalar Node-RED en Raspberry Pi, la cosa continúa siendo bastante sencilla porque Raspbian viene con el software ya preinstalado. “Solo debemos abrir un terminal e introducir el comando que comentamos en nuestro post dedicado en Programar Fácil para actualizar NodeJS y Node-RED y empezar a trabajar con las últimas versiones”, comentan desde la plataforma.Una vez instalado, se puede iniciar Node-RED de manera manual o automática. “Como para inicializar Node-RED se necesita la IP de la Raspberry Pi, es muy recomendable asignar una IP fija a la placa a través de la MAC de la misma para agilizar el proceso de inicio cada vez que vayamos a utilizarla”, explica el equipo de Programar Fácil. “También puede hacerse a nivel de SO, es igualmente válido”, aseveran. Entorno de desarrollo de Node-RED y aplicación a una alarma con ArduinoLos nodos son la unidad mínima que se puede encontrar en Node-RED y se clasifican en tres grandes tipos: los que solo admiten entradas, los que solo admiten salidas y los que admiten ambas. “Precisamente por esto era preciso tener aptitudes de lógica computacional, de lo contrario no comprenderemos la dinámica de lo que estamos haciendo en la interfaz de Node-RED”, comenta Luis del Valle. “En nuestro artículo dedicado al proceso de instalación e inicialización de Node-RED y Raspberry Pi publicado en Programar Fácil ofrecemos una visión completa de cómo ejecutar cada paso sin cometer errores, al tiempo que hacemos pruebas de flujos para chequear el funcionamiento del software”, explica el equipo de la plataforma. A la hora de crear el sistema de alarma, es importante saber que se puede hacer uso tanto de ESP8266 (NodeMCU o Wemos) como de un Arduino MKR100. “La programación en ambas es idéntica, salvo las funciones concretas relativas a la conexión Wi-Fi de cada placa”, comentan en Programar Fácil. “A partir de este punto, Raspberry Pi se encarga de gestionar los mensajes MQTT a través del bróker Mosquitto y de poner en contacto el hardware con el Pushover mediante Node-RED, lo que da forma a la infraestructura del sistema de alarma”. Las funcionalidades del sistema de alarma pueden ser ampliadas en el futuro si se desea a través de Node-RED, por ejemplo, para que el sistema detecte por sí mismo que eres tú el que estás entrando en la vivienda y no un intruso. “Node-RED permite profundizar tanto como se desee, y se pueden incluir funcionalidades avanzadas muy útiles a los proyectos una vez finalizada la primera versión de los mismos”, sentencian. Acerca de

La premisa del proyecto es sencilla: instalar Node-RED en Raspberry Pi para hacer un proyecto IoT. Vas a necesitar tener instalado el último sistema operativo Raspbian en tu placa, además del bróker MQTT Mosquitto para comunicarnos con Node-RED más fácilmente. También necesitarás hardware complementario: una placa Arduino MKR1000, NodeMCU o cualquier otra compatible, además de un interruptor magnético.

Con todo ello podrás crear un sistema de alarma con Arduino y ESP8266 que emitirá una alerta al móvil cuando se abra una puerta o una ventana. Y todo integrado con Node-RED y con protocolos de comunicación MQTT. “Node-RED es el mayor ecosistema de código abierto que existe en la actualidad a nivel global, y está optimizado para tratar múltiples conexiones concurrentes de manera óptima”, explica el propio Luis del Valle. “Y su uso no es nada marginal: empresas como Netflix o PayPal ya lo han integrado en sus sistemas”, añade.

No obstante, pese a que los primeros pasos pueden darse sin necesidad de saber programar, es necesario conocer los fundamentos más avanzados de la programación para hacerlo. “Se requieren de altos conocimientos de lógica computacional para desarrollar proyectos con Node-RED”, comenta Luis del Valle. “¿Se puede hacer todo esto sin necesidad de programar una línea de código? Por supuesto, pero esto no quiere decir que no se necesiten conocimientos previos”, sentencia.

A la hora de instalar Node-RED en Raspberry Pi, la cosa continúa siendo bastante sencilla porque Raspbian viene con el software ya preinstalado. “Solo debemos abrir un terminal e introducir el comando que comentamos en nuestro post dedicado en Programar Fácil para actualizar NodeJS y Node-RED y empezar a trabajar con las últimas versiones”, comentan desde la plataforma.

Una vez instalado, se puede iniciar Node-RED de manera manual o automática. “Como para inicializar Node-RED se necesita la IP de la Raspberry Pi, es muy recomendable asignar una IP fija a la placa a través de la MAC de la misma para agilizar el proceso de inicio cada vez que vayamos a utilizarla”, explica el equipo de Programar Fácil. “También puede hacerse a nivel de SO, es igualmente válido”, aseveran.

Los nodos son la unidad mínima que se puede encontrar en Node-RED y se clasifican en tres grandes tipos: los que solo admiten entradas, los que solo admiten salidas y los que admiten ambas. “Precisamente por esto era preciso tener aptitudes de lógica computacional, de lo contrario no comprenderemos la dinámica de lo que estamos haciendo en la interfaz de Node-RED”, comenta Luis del Valle.

“En nuestro artículo dedicado al proceso de instalación e inicialización de Node-RED y Raspberry Pi publicado en Programar Fácil ofrecemos una visión completa de cómo ejecutar cada paso sin cometer errores, al tiempo que hacemos pruebas de flujos para chequear el funcionamiento del software”, explica el equipo de la plataforma.

A la hora de crear el sistema de alarma, es importante saber que se puede hacer uso tanto de ESP8266 (NodeMCU o Wemos) como de un Arduino MKR100. “La programación en ambas es idéntica, salvo las funciones concretas relativas a la conexión Wi-Fi de cada placa”, comentan en Programar Fácil. “A partir de este punto, Raspberry Pi se encarga de gestionar los mensajes MQTT a través del bróker Mosquitto y de poner en contacto el hardware con el Pushover mediante Node-RED, lo que da forma a la infraestructura del sistema de alarma”.

Las funcionalidades del sistema de alarma pueden ser ampliadas en el futuro si se desea a través de Node-RED, por ejemplo, para que el sistema detecte por sí mismo que eres tú el que estás entrando en la vivienda y no un intruso. “Node-RED permite profundizar tanto como se desee, y se pueden incluir funcionalidades avanzadas muy útiles a los proyectos una vez finalizada la primera versión de los mismos”, sentencian.

ProgramarFacil.com es el portal web de referencia para programar con Arduino, todo un referente del mundo maker que se ha convertido en un proyecto de divulgación con herramientas indispensables para el desarrollo de talentos y la formación de nuevas generaciones de programadores.

Fundado en 2015 con el podcast “La Tecnología Para Todos”, por el portal han pasado figuras de la talla de Óscar González (Brico Geek), César García (La Hora Maker), Enrique Gómez (Rincón Ingenieril) o José Enrique Crespo (Aprendiendo Arduino). Programar Fácil incluye cursos de programación diseñados, creados e impartidos por el propio Luis del Valle con el objetivo de proporcionar una formación de calidad, enseñando los fundamentos y los proyectos más inspirados para programar con Arduino transmitiendo sus conocimientos sobre programación de una manera sencilla, amena y didáctica a todo tipo de públicos.

Comentarios
0
Comparte esta noticia por correo electrónico

*Campos obligatorios

Algunos campos contienen errores

Tu mensaje se ha enviado con éxito

Reporta un error en esta noticia

*Campos obligatorios

Algunos campos contienen errores

Tu mensaje se ha enviado con éxito

Muchas gracias por tu participación