JavaScript
MQTT
MQTT 是非常輕便簡易的通訊協定, 由於大部分的 MQTT broker 都支援 websocket, 因此我們也可以在網頁中使用 MQTT, 以下以 MQTT.js 這個模組為例, 並以 https://test.mosquitto.org/ 提供的 MQTT broker 示範:
第 4 行是 MQTT.js 提供的 CDN, 你也可以儲存一份本機檔使用。
第 8 行就是以 websocket 連上 MQTT broker, 在 test.mosquitto.org 的頁面上有說明, 不加密、不認證的測試用 broker 使用 8080 通訊埠。
第 9 行就可以向 MQTT broker 訂閱頻道, 並且透過第 11 行註冊 message
事件的函式。
第 16 行則是在特定頻道發佈訊息。
在 https 的網頁中並不能使用未加密的 ws 協定連接 MQTT, 必須改用 wss 協定。我們測試的 test.mosquitto.org 網站也提供 wss 協定, 但要改用 8081 埠:
可以用 p5.js Web Editor 測試。
如果 MQTT broker 需要帳密登入, 也可以在連接時加上 options 物件指定使用者名稱與密碼。在我們測試用的 test.mosquitto.org 提供有 rw/readwrite 帳密可供測試:
可以用 p5.js Web Editor 測試。
Adafruit IO 的 wss 走 443 埠, 密碼要使用金鑰, 不是登入的密碼, 頻道的完整名稱都是『使用者名稱/feeds/feed名稱』:
可以用 p5.js Web Editor 測試。
詳細的 API 可在網站上查詢。