全部產品
Search
文件中心

IoT Platform:遺囑訊息

更新時間:Jun 30, 2024

MQTT協議的遺囑訊息,用於在裝置離線時向其他裝置告知其已離線。如果裝置異常斷開且在一段時間內未重連,物聯網平台會代為發送遺囑訊息。遺囑訊息在MQTT 3.1.1標準中已定義,阿里雲物聯網平台在MQTT 5.0接入時支援這個特性。本文為您介紹遺囑訊息的概念、互動過程及使用情境。

背景資訊

遺囑訊息

裝置建連時會攜帶遺囑訊息,如果裝置異常中斷連線並且遺囑延時間隔(預設為0)內裝置未重聯,該遺囑訊息會由物聯網平台代理髮布給訂閱者。image..png

  • 遺囑訊息內容:訊息內容與裝置正常發布訊息內容基本相同,包括話題,載體,服務等級(Qos),保留標記(retain)、使用者屬性、訊息到期等。

  • 異常斷開的情境:

    • 網路故障或波動,裝置在保持串連周期內未能通訊,串連被服務端關閉。

    • 裝置意外掉電,服務端識別到網路斷開。

    • 裝置嘗試進行不被允許的操作而被服務端關閉串連,例如訂閱自身許可權以外的主題等。

  • 刪除遺囑訊息:

    • 裝置正常中斷連線後會被刪除。

    • 裝置異常斷開後,物聯網平台代理髮布會被刪除。

    • 遺囑訊息如有設定訊息到期時間,訊息到期後會被刪除。

  • 遺囑訊息不支援更新。

說明
  • 會話到期不影響遺囑訊息,遺囑訊息的發布與會話無關。

  • 遺囑訊息支援訊息到期,如果訊息內容一段時間後失效例如溫度控制,請結合訊息到期特性一起使用。更多資訊,請參見訊息到期

  • 如果網路資訊較弱或不穩定,建議設定遺囑到期時間間隔WillDelayInterval,避免裝置頻繁上下線而導致遺囑訊息頻繁被推送。

使用情境

裝置異常分析

物聯網裝置接入物聯網平台,當裝置狀態發生變化如裝置上線、裝置下線時,物聯網平台會向商務服務器或規則引擎推送裝置狀態訊息topic: /as/mqtt/status/${productKey}/${deviceName},該訊息中只包含裝置的串連狀態資訊。如果想獲得更多資料用於裝置異常分析,可以使用遺囑訊息,遺囑訊息可包含環境資訊等裝置的詳細狀態。image..png