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 安全連線 URL,例如:mqtts://<XXXXXX>.stackhero-network.com。
選擇 MQTT 函式庫
如果您的應用程式是用 JavaScript 編寫,建議您可以考慮使用 MQTT.js 函式庫。這是一個彈性很高的選擇,既可在 Node.js 環境下運作,也可直接在瀏覽器中使用。相關文件及原始碼可在這裡找到:https://github.com/mqttjs/MQTT.js。
範例:使用 WebSockets 連接到 MQTT
您可以在這個範例 repository 找到如何利用 WebSockets 讓網頁應用程式連接到 MQTT 伺服器的實際示範:https://github.com/stackhero-io/mqttWebSocketGettingStarted。
測試這個範例時,請記得在 src/index.html 檔案中填入您自己的 server url、username 和 password。
MQTT WebSocket 範例
請記得在 Stackhero 控制台啟用 WebSocket 支援後再進行操作。