Node-RED: Conexión a MQTT mediante WebSockets

Esta documentación forma parte de la guía Servidor MQTT. Consulte la guía completa aquí: Cómo conectar Node-RED al servidor Mosquitto MQTT.

Bienvenido a la documentación de Stackhero

Stackhero ofrece un entorno Node-RED cloud totalmente gestionado, diseñado para que pueda crear flujos de trabajo rápidamente:

  • Servidor MQTT integrado (Mosquitto) para una integración IoT sin complicaciones.
  • Acceso completo a la interfaz de administración de Node-RED para gestionar flujos y configuraciones.
  • Node-RED Dashboard incluido para visualización en tiempo real.
  • Servidor de correo SMTP dedicado incluido, sin límites de envío.
  • Actualizaciones con un solo clic para mantener su instancia siempre actualizada.
  • Nombres de dominio personalizados con HTTPS automático: por ejemplo, https://node-red.su-empresa.com.
  • Alta rendimiento y máxima seguridad gracias a una infraestructura privada y dedicada.

Puede tener una instancia de Node-RED cloud hosting segura y lista para producción en unos 5 minutos. Stackhero se encarga de la configuración, las actualizaciones y la infraestructura, para que usted pueda centrarse en crear automatizaciones.

Tiene la posibilidad de conectarse al servidor Mosquitto MQTT utilizando tanto el protocolo MQTT como WebSockets.

Aunque el protocolo MQTT es ligero y especialmente adecuado para dispositivos IoT, no está soportado de forma nativa en los navegadores web. Si desea interactuar con su servidor MQTT desde un navegador, deberá utilizar WebSockets. Este método permite encapsular el tráfico MQTT dentro del protocolo WebSocket y funciona perfectamente con los servicios de Stackhero.

Para habilitar la conectividad WebSocket, simplemente active la opción "WebSocket Support" en su panel de Stackhero. Una vez activada, puede configurar su cliente para utilizar la URL WebSocket: wss://<XXXXXX>.stackhero-network.com:443/mqtt. Asegúrese de sustituir la URL predeterminada mqtts://<XXXXXX>.stackhero-network.com por esta URL WebSocket para las conexiones desde el navegador.

Para el desarrollo, la librería "MQTT.js" resulta especialmente útil. Es una librería JavaScript robusta, compatible tanto con Node.js como con entornos de navegador. Puede obtener más información en su repositorio oficial.

Si busca un ejemplo práctico de cómo conectar su navegador al servidor MQTT usando WebSockets, puede consultar este repositorio: https://github.com/stackhero-io/mqttWebSocketGettingStarted. Puede modificar el archivo src/index.html con la url, el username y el password de su servidor para adaptarlo a su configuración.

Ejemplo de MQTT WebSocketEjemplo de MQTT WebSocket

Antes de probar esta configuración, asegúrese de que el soporte de WebSocket está habilitado en su panel de Stackhero. Así se garantiza el correcto funcionamiento de las conexiones desde el navegador.