Mosquitto: WebSockets

如何使用 WebSockets 連接到 MQTT

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型 Mosquitto MQTT cloud 解決方案,帶來多項優勢,包括:

  • 無限的消息交換和傳輸。
  • 通過外部 API 進行 無限 的設備認證。
  • 在主題、用戶和操作上提供 高級 ACLs
  • 使用 HTTPS 保護的 可自訂域名(例如,https://mqtt.your-company.com)。
  • 只需點擊即可輕鬆 更新
  • 專用私有 VM 提供的最佳 性能 和強大 安全性

節省時間簡化您的生活:只需 5 分鐘 即可嘗試 Stackhero 的 Mosquitto MQTT cloud hosting 解決方案!

您有兩個主要選項可以連接到 Mosquitto:原生 MQTT 協議或 WebSockets。

MQTT 協議以其輕量級設計而廣為人知,非常適合 IoT 裝置及資源有限的環境。不過,大多數網頁瀏覽器並不支援直接的 MQTT 連線。這時 WebSockets 就派上用場,因為它們允許您透過 WebSocket 連線執行 MQTT,讓您可以從瀏覽器應用程式與 MQTT 伺服器互動。

要開始使用 WebSockets,您只需在 Stackhero 控制台啟用「WebSocket 支援」選項。啟用後,只需將您的 client 指向 WebSocket URL:wss://<XXXXXX>.stackhero-network.com:443。這個 URL 會取代標準的 MQTT 安全連線 URL,例如:mqtts://<XXXXXX>.stackhero-network.com

如果您的應用程式是用 JavaScript 編寫,建議您可以考慮使用 MQTT.js 函式庫。這是一個彈性很高的選擇,既可在 Node.js 環境下運作,也可直接在瀏覽器中使用。相關文件及原始碼可在這裡找到:https://github.com/mqttjs/MQTT.js

您可以在這個範例 repository 找到如何利用 WebSockets 讓網頁應用程式連接到 MQTT 伺服器的實際示範:https://github.com/stackhero-io/mqttWebSocketGettingStarted

測試這個範例時,請記得在 src/index.html 檔案中填入您自己的 server urlusernamepassword

MQTT WebSocket 範例MQTT WebSocket 範例

請記得在 Stackhero 控制台啟用 WebSocket 支援後再進行操作。