Node-RED y MQTT
Sólo tienes que arrastrar el nodo mqtt que está en la categoría input al flujo.
Ahora hay que configurarlo. Aquí es donde vemos la potencia de Node-RED. Cuando utilizamos una tecnología, nos centramos en lo superficial. En el caso de MQTT lo único que tenemos que hacer es configurar el broker y el topic.
Al tratarse de un nodo de entrada, lo que hace es recibir los mensajes publicados en un topic es decir, se suscribe al topic. Haz doble click sobre el nodo para que abra el panel de configuración.
En el panel de configuración MQTT vamos a configurar primero el broker MQTT. Haz click en el lápiz que aparece en Server.
Esto abre un nuevo panel de configuración. Pon un nombre al broker MQTT por ejemplo RASPBERRY PI MOSQUITTO. En Server tienes que poner la IP donde está instalado el broker MQTT y el puerto que utiliza, normalmente es el 1883.
Esta sería la configuración mínima. No te olvides de hacer click en el botón Add.
Después de esta acción volverás al panel de configuración del nodo mqtt y automáticamente, habrá seleccionado el broker MQTT que acabamos de crear.
Por último, vamos a rellenar el campo de Topic. Debe ser el mismo que hemos puesto en Arduino o el ESP8266, /casa/puerta/alarma. Una vez lo tengas, haz click en Done.
Ahora sólo nos queda probarlo. Para ello vamos a utilizar el mismo nodo debug de la categoría output que hemos utilizado antes.
Arrástralo al flujo, conecta los dos nodos y haz click en el botón Deploy.
Para probar el sistema lo podemos hacer de dos formas. Desde una terminal de Raspberry Pi podemos publicar un mensaje en el topic o directamente conectando la placa y simulando que abren la puerta.
El resultado sería el siguiente.
Ejemplo
Vamos a usar los Wemos D1 mini, para integrarlos como nodos remotos y programarlos desde Node-RED.
- wemos D1 mini: https://wiki.wemos.cc/products:d1:d1_mini
- shield para wemos D1 mini relé: https://wiki.wemos.cc/products:d1_mini_shields:relay_shield
- shield para wemos D1 mini neopixel: https://wiki.wemos.cc/products:d1_mini_shields:rgb_led_shield
- shield para wemos D1 mini oled: https://wiki.wemos.cc/products:d1_mini_shields:oled_shield
- shield para wemos D1 mini DHT: https://wiki.wemos.cc/products:d1_mini_shields:dht_shield
Esquema:
El firmware para los nodos remotos:
- BÁSICO: https://github.com/jecrespo/Curso-Node-RED/blob/master/Remote%20Nodes%20Firmware/basic-node/basic-node.ino
- RELAY: https://github.com/jecrespo/Curso-Node-RED/blob/master/Remote%20Nodes%20Firmware/relay-node/relay-node.ino
- OLED: https://github.com/jecrespo/Curso-Node-RED/blob/master/Remote%20Nodes%20Firmware/oled-node/oled-node.ino
- LEDS rgb: https://github.com/jecrespo/Curso-Node-RED/blob/master/Remote%20Nodes%20Firmware/rgb-node/rgb-node.ino
- DHT: https://github.com/jecrespo/Curso-Node-RED/blob/master/Remote%20Nodes%20Firmware/temp-node/temp-node.ino
Cada firmware ya está configurado para solo configurar el topic donde va a publicar y el topic al que se suscribe:
- RELE: Paso ON y OFF
- OLED: Paso el string que va a mostrar por pantalla
- LEDS: 7 topics donde paso el color en formato RGB y el brillo
Probar cada firmware y hacer un programa sencillo para interactuar con ellos.
Completos tutoriales:
Pingback: Saber más Curso Raspberry Pi y Node-RED | Aprendiendo Arduino