Mosquitto: WebSockets

如何使用 WebSockets 連接到 MQTT

👋 歡迎來到 Stackhero 文件中心!

Stackhero 為您提供一個全代管的 Mosquitto MQTT cloud 環境,專為高可靠性與彈性設計:

  • 無限制的訊息吞吐量與資料傳輸,確保您的工作流程不會受到人為限制。
  • 透過您自有的外部 API,實現無限制的裝置驗證,讓裝置註冊與存取管理變得輕鬆無縫。
  • 進階 ACLs,可對主題(topics)、使用者及操作進行細緻權限控管。
  • 提供自訂網域名稱並內建HTTPS,打造安全且具品牌識別的端點(例如:https://mqtt.your-company.com)。
  • 零負擔更新:只需一鍵即可套用功能改進或安全修補。
  • 穩定的效能與強化的安全性,每個實例皆運行於專屬的私有基礎架構

加速您的 IoT 專案,同時降低營運負擔。您只需幾分鐘,即可擁有一個安全、可用於生產環境的 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 安全連線網址,例如: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 檔案中的 urlusernamepassword 更新為您自己的伺服器資訊。

MQTT WebSocket 範例MQTT WebSocket 範例

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