Node-RED: Caso de uso: conectar buzones

Conecte sin esfuerzo cientos de buzones en una oficina de correos

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Node-RED cloud lista para usar que proporciona una serie de beneficios, incluyendo:

  • Servidor MQTT incluido (Mosquitto).
  • Acceso completo a la interfaz de administración de Node-RED.
  • Dashboard de Node-RED incluido.
  • Servidor de correo SMTP ilimitado y dedicado incluido.
  • Actualizaciones sin esfuerzo con solo un clic.
  • Nombre de dominio personalizable asegurado con HTTPS (por ejemplo, https://node-red.tu-empresa.com).
  • Rendimiento óptimo y seguridad robusta impulsados por una VM privada y dedicada.

Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de Node-RED cloud hosting de Stackhero!

Uno de nuestros clientes gestiona buzones de correos, cientos de ellos, para ser precisos. La empresa quería notificar a sus clientes cuando recibieran correo nuevo (¡no correos electrónicos, sino correo en papel!). Se diseñó una solución IoT para lograr esto, utilizando Node-RED, MQTT y MongoDB, y se implementó en solo unos días. Es similar a un Amazon Dash, pero específicamente adaptado para notificaciones de correo. Aquí se explica cómo se logró.

El dispositivo IoT es elegantemente simple. Es una pequeña caja negra, alimentada por USB, que incorpora un botón y una luz roja. Hay un dispositivo asignado a cada buzón.

Cuando se recibe correo en la recepción, se coloca en el buzón correspondiente y el operador presiona el botón. La luz roja parpadea durante 15 segundos. Si el operador presiona el botón nuevamente dentro de este período, la notificación se cancela. Si no se realiza ninguna acción dentro de estos 15 segundos, se envía una notificación por correo electrónico al cliente.

Cada botón está equipado con un ESP8266, un chipset compatible con WiFi. Esta conexión WiFi facilita la comunicación del dispositivo con Internet.

Un ESP8266 en una placa WEMOS D1 MiniUn ESP8266 en una placa WEMOS D1 Mini

Se eligió el protocolo MQTT para la comunicación entre el ESP8266 y el servidor. Es un protocolo ligero, ideal para aplicaciones IoT.

Cuando se presiona el botón, después de una breve pausa de 15 segundos, se envía un mensaje al servidor a través de MQTT. El servidor luego identifica el correo electrónico correspondiente y envía una notificación al cliente.

MQTT es perfecto para IoT. Desafortunadamente, la autenticación no está activada por defecto, ni el cifrado. Hemos observado muchas plataformas IoT vulnerables a ataques, lo que lleva a filtraciones de datos privados. Afortunadamente, cuando inicia una instancia de MQTT en Stackhero, tanto la autenticación como el cifrado están activados, proporcionando una solución completamente segura desde el principio.

Para gestionar las acciones de los botones y enviar notificaciones a los usuarios, se eligió Node-RED para el procesamiento de datos, con una base de datos MongoDB para almacenar los correos electrónicos de los usuarios.

Node-RED es una herramienta de programación gráfica desarrollada por IBM, ideal para este tipo de tarea. Es fácil de usar, potente y altamente extensible.

Gracias a Node-RED, nuestro cliente pudo crear todo su backend en solo unas pocas horas.

Cuando se presiona un botón de buzón, el mensaje es recibido por Node-RED a través de MQTT. Node-RED luego localiza al usuario correspondiente en la base de datos MongoDB, compone un nuevo correo electrónico y lo envía.

Flujo de Node-RED: ¡solo se requieren 5 nodos para crear todo el backend!Flujo de Node-RED: ¡solo se requieren 5 nodos para crear todo el backend!

Cuando inicia una instancia de Node-RED en Stackhero, obtiene un servidor MQTT junto con un servidor de correo dedicado, ¡permitiéndole enviar correos electrónicos ilimitados!

La interfaz de backoffice es utilizada por los operadores de la oficina de correos. Pueden agregar un nuevo botón con un correo electrónico asociado o eliminar uno según sea necesario.

Node-RED incluye un servidor HTTP, lo que permite la creación de páginas HTML y APIs con un mínimo esfuerzo.

Flujo de backoffice de Node-REDFlujo de backoffice de Node-RED

Toda la interfaz de backoffice se desarrolló directamente dentro de Node-RED. Consiste en una página HTML con autenticación y una API con dos rutas. La primera ruta de la API permite la adición de un nuevo botón, mientras que la segunda facilita la eliminación de un botón existente.

Node-RED sirvió como la piedra angular de este proyecto. Con la instancia de Stackhero proporcionando un servidor MQTT seguro y un servidor de correo desde el principio, el proyecto se realizó en solo unas pocas horas, algo que las herramientas tradicionales no podían igualar.

Node-RED ofrece posibilidades ilimitadas. Puede, por ejemplo, conectarlo a cualquier API o base de datos y agregar módulos externos sin esfuerzo (~2000 módulos están disponibles).

Si Node-RED le interesa, puede iniciar una instancia en Stackhero en solo 2 minutos: Node-RED.