Mosquitto: WebSockets

Cómo conectarse a MQTT utilizando WebSockets

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero le ofrece un entorno Mosquitto MQTT en la nube totalmente gestionado, diseñado para ofrecer fiabilidad y flexibilidad:

  • Tráfico ilimitado de mensajes y transferencias de datos, para que sus flujos de trabajo nunca se vean limitados artificialmente.
  • Autenticación ilimitada de dispositivos a través de su propia API externa, facilitando la incorporación y la gestión de accesos.
  • ACLs avanzadas para un control detallado sobre topics, usuarios y acciones.
  • Un nombre de dominio personalizado con HTTPS integrado para endpoints seguros y con su propia marca (por ejemplo: https://mqtt.su-empresa.com).
  • Actualizaciones sin complicaciones: aplique mejoras o parches de seguridad con un solo clic.
  • Rendimiento constante y alta seguridad, con cada instancia ejecutándose en una infraestructura privada y dedicada.

Impulse sus proyectos IoT y reduzca la carga operativa. Puede tener una instancia de Mosquitto MQTT cloud hosting segura y lista para producción en solo unos minutos.

Tiene dos opciones principales para conectarse a Mosquitto: el protocolo MQTT nativo o WebSockets.

El protocolo MQTT es ampliamente reconocido por su diseño ligero, lo que lo hace especialmente adecuado para dispositivos IoT y entornos con recursos limitados. Sin embargo, la mayoría de los navegadores web no admiten conexiones MQTT directas. Aquí es donde los WebSockets resultan útiles, ya que permiten ejecutar MQTT sobre una conexión WebSocket, haciendo posible interactuar con servidores MQTT desde sus aplicaciones basadas en navegador.

Para empezar a utilizar WebSockets, simplemente active la opción "Soporte WebSocket" en su panel de Stackhero. Una vez que esta función esté habilitada, solo tiene que configurar su cliente con la URL de WebSocket: wss://<XXXXXX>.stackhero-network.com:443. Esta URL sustituye a la URL segura estándar de MQTT, que es: mqtts://<XXXXXX>.stackhero-network.com.

Si su aplicación está desarrollada en JavaScript, puede considerar la librería MQTT.js. Es una opción flexible que funciona tanto en entornos Node.js como directamente en el navegador. La documentación y el código fuente de la librería están disponibles aquí: https://github.com/mqttjs/MQTT.js.

Puede encontrar una demostración práctica de cómo conectar una aplicación web a un servidor MQTT usando WebSockets en este repositorio de ejemplo: https://github.com/stackhero-io/mqttWebSocketGettingStarted.

Cuando pruebe este ejemplo, recuerde actualizar el archivo src/index.html con la url, el username y el password de su propio servidor.

Ejemplo MQTT WebSocketEjemplo MQTT WebSocket

Recuerde activar el soporte WebSocket en el panel de Stackhero antes de continuar.