Node-RED: 通过 WebSockets 连接到 MQTT
本文档属于MQTT 服务器指南的一部分。您可以在此处查看完整指南:如何将 Node-RED 连接到 Mosquitto MQTT 服务器。
👋 欢迎使用 Stackhero 文档!
Stackhero 提供即用型 Node-RED 云 解决方案,具有众多优势,包括:
- 包含 MQTT 服务器(Mosquitto)。
- 完全访问 Node-RED 管理界面。
- 包含 Node-RED 仪表板。
- 包含无限和专用的 SMTP 电子邮件服务器。
- 只需点击即可轻松更新。
- 使用 HTTPS 保护的可定制域名(例如,https://node-red.your-company.com)。
- 由私有和专用 VM提供的最佳性能和强大安全性。
节省时间并简化生活:只需 5 分钟即可试用 Stackhero 的 Node-RED 云托管 解决方案!
您可以选择通过 MQTT 协议或 WebSockets 连接到 Mosquitto MQTT 服务器。
虽然 MQTT 协议非常轻量,适合物联网设备,但它并不被 Web 浏览器原生支持。如果您希望通过浏览器与 MQTT 服务器交互,建议使用 WebSockets。此方法可将 MQTT 流量封装在 WebSocket 协议中,并且与 Stackhero 的服务完美兼容。
要启用 WebSocket 连接,只需在 Stackhero 控制台中激活“WebSocket Support”选项。启用后,您可以将客户端配置为使用 WebSocket URL:wss://<XXXXXX>.stackhero-network.com:443/mqtt。请确保将默认的 mqtts://<XXXXXX>.stackhero-network.com 替换为此 WebSocket URL,以便通过浏览器进行连接。
选择 MQTT 库
在开发过程中,推荐使用 "MQTT.js" 库。这是一个功能强大的 JavaScript 库,兼容 Node.js 和浏览器环境。您可以在其官方仓库了解更多信息。
浏览器通过 WebSockets 连接 MQTT 的示例
如果您需要一个实际示例,了解如何通过浏览器使用 WebSockets 连接到 MQTT 服务器,可以参考此仓库:https://github.com/stackhero-io/mqttWebSocketGettingStarted。您可以根据自己的环境,修改 src/index.html 文件中的 url、username 和 password。
MQTT WebSocket 示例
在尝试此配置前,请确保已在 Stackhero 控制台中启用 WebSocket 支持。这样可以确保浏览器端连接顺利运行。