配置: 使用 MQTT
關於
MQTT(Message Queuing Telemetry Transport)是一種輕量且高效的通訊協定,廣泛應用於物聯網(IoT)中的設備間通訊。它設計用於在網路頻寬有限且低功耗設備下運作,非常適合將遠端感應器、行動裝置和各種小型裝置連接到互聯網。
連接
使用設置選單將Agent DVR連接到您的MQTT伺服器。連接後,您可以設定警報動作以發布消息到您的MQTT伺服器。有關詳細信息,請參閱MQTT伺服器設置。
要進行配置,編輯您的設備,導航到常規選項卡並選擇動作。添加一個警報(或其他事件)的動作,並選擇MQTT作為動作類型。在這裡,您可以指定要發布的主題和消息。
指定要發布到的主題(例如Agent/alerts),並相應地編寫您的消息。
發送指令
Agent DVR 也可以在通道 SERVER/commands 上接收和處理 MQTT 訊息,其中 SERVER 是您的伺服器名稱(顯示在您可以在設定中編輯的伺服器選單中)。這些指令的格式類似於 HTTP API。只需將 /command 替換為 cmd=:
例如,要打開所有設備: cmd=allon。
要在特定設備上拍照: cmd=snapshot&ot=2&oid=1。
使用 mosquitto,您可以發送像這樣的指令(將 SERVER 替換為您的伺服器名稱):mosquitto_pub -t 'SERVER/commands' -m 'cmd=record&ot=2&oid=1'
。
Agent DVR 將執行該指令並將 JSON 回應發送到 SERVER/responses 通道。
自動 MQTT
Agent DVR 功能具備自動 MQTT 配置,可發送默認事件、狀態和使用統計信息。要啟用此功能,在編輯設備時,在常規選項卡上啟用「MQTT 事件」選項。
此配置包括用於運動、連接、警報和錄製等主題的標誌。
故障排除
如果在 MQTT 中經常遇到斷開和重新連接的問題,通常表示在 MQTT 的伺服器設定中指定的客戶端 ID 被多個客戶端使用。確保每個連接到 MQTT 的客戶端都具有唯一的客戶端 ID 是非常重要的。