Skip to Content
核心 AI 工具MQTT 連接

MQTT 連接

透過自然對話控制 IoT 裝置,與實體設備互動。

總覽

MQTT 連接讓你把 Chat Everywhere v2 連接到實體裝置——燈光、感測器、馬達,或任何支援 MQTT 的設備。你在設定中建立指向 MQTT Broker 的連接,之後 AI 就能在一般對話中自動發送指令或讀取裝置資料。只要說「開燈」或「現在溫度多少?」,AI 就會自動處理 MQTT 通訊。

每個連接指向 MQTT Broker 上的特定 Topic。你可以定義要發送的內容(固定字串如 “ON”,或讓 AI 根據描述自動產生適當的 Payload),也可以設定連接是否能接收裝置回傳的訊息。

如何設定

  1. 開啟設定,切換到 MQTT 分頁。
  2. 點擊添加 MQTT 連接
  3. 填寫連接資訊:
    • 名稱 — 為這個連接取一個好記的名字(例如「客廳電燈」)。
    • Host — MQTT Broker 的位址。預設為 broker.emqx.io,這是免費的公開 Broker,也可以使用其他 MQTT Broker。
    • Port — Broker 的連接埠,預設為 1883
    • Topic — 這個連接要發送或訂閱的 MQTT Topic(例如 home/lights/living-room)。只能使用英文字母、數字和斜線。
    • 接收器 — 啟用後,這個連接也可以從 Topic 讀取訊息。發送端的裝置必須使用 retain 標記發送訊息,AI 才能讀到。
    • Dynamic Payload — 關閉時,AI 會原封不動地發送你輸入的 Payload(適合固定指令如 ONOFF)。開啟時,Payload 欄位變成描述文字,AI 會根據對話內容自動產生合適的 Payload(適合需要帶參數的指令)。
    • Payload(Dynamic Payload 開啟時為 Payload 描述)— 要傳送的訊息內容,或 AI 產生 Payload 時參考的描述。
    • 描述 — 選填,說明這個連接的用途。這能幫助 AI 判斷什麼時候該使用這個連接。
  4. 點擊儲存

你也可以在連接清單中使用測試按鈕,直接發送已儲存的 Payload 來測試連接,不需要透過 AI。

如何在對話中使用

儲存好連接之後,直接用自然語言跟 AI 對話就好。AI 知道你所有已設定的連接,會自動選擇對應的連接來執行。

例如:

  • 「把客廳的燈打開」— AI 會找到對應的連接並發送指令。
  • 「現在溫度幾度?」— 如果你有啟用接收器的溫度感測器連接,AI 會訂閱 Topic 並讀取最新數值。
  • 「把風扇轉速調到 3」— 如果是 Dynamic Payload 連接,AI 會根據描述產生合適的 Payload(例如 {"speed": 3})。

你不需要提到 MQTT、Topic 或連接名稱,AI 會自動將你的意圖對應到正確的連接。如果你有多個連接,可以說得具體一些(例如「把_臥室_的燈打開」)來引導 AI。

靜態與動態 Payload

這是設定連接時最重要的選擇。

靜態 Payload 適用於固定指令。你輸入要發送的確切內容——ONOFF{"action":"toggle"}——AI 會原封不動地發送。當裝置預期收到固定不變的訊息時,請使用這個模式。

動態 Payload 適用於彈性指令。你不寫實際的 Payload,而是寫描述,例如「JSON 物件,包含 speed 欄位,值介於 1 到 5」。AI 會在對話當下根據你的需求產生實際的 Payload。當指令需要根據情境變化時,請使用這個模式。

誰可以使用

MQTT 連接功能適用於 ProUltra 方案。免費帳號每天最多可使用 3 次。

常見問題

需要自己架 MQTT Broker 嗎? 不一定。預設的 Broker(broker.emqx.io)是免費的公開 Broker,適合測試和簡單的專案。如果是正式環境或需要隱私保護,建議使用自己的 Broker。

哪些裝置可以用? 任何能連接 MQTT Broker 的裝置都可以——ESP32、Raspberry Pi、帶 WiFi 模組的 Arduino、智慧家庭中控、工業 PLC,或任何能發送 / 訂閱 MQTT Topic 的軟體。

AI 可以即時接收感測器資料嗎? 可以接收,但前提是連接有啟用接收器,且裝置發送訊息時有使用 MQTT retain 標記。AI 會讀取 Topic 上最新的保留訊息,不會持續訂閱或即時串流資料。

Broker 連不上怎麼辦? AI 會回報指令發送失敗。請確認 Broker 是否在線上,以及 Host 和 Port 是否正確。

可以用 WebSocket 或 TLS 連線嗎? 目前的實作使用標準 TCP 連線(非 WebSocket)。請使用支援 TCP 連線的 Broker。

相關功能

  • AI 對話 — MQTT 指令是在 AI 對話介面中觸發的
最後更新於