MQTT云網關設備可通過自定義的消息Topic與物聯網平臺進行通信,物聯網平臺會透傳設備的上下行通信數據。本文介紹設備實現上下行通信的相關說明。
MQTT云網關產品和設備的詳細內容,請參見創建云網關產品(MQTT)和創建云網關設備(MQTT)。
Topic說明
物聯網平臺與云網關設備之間通過MQTT協議的Topic實現消息通信,您需自定義用于通信的Topic。通信Topic必須符合標準MQTT協議的Topic規范,Topic更多詳細說明,請參見什么是Topic。
自定義通信Topic直接使用設備上報的原始自定義Topic,設備下行通信Topic與上行通信Topic一致。
物聯網平臺支持的通信Topic與標準MQTT協議通信Topic的區別如下:
Topic對比項 | 物聯網平臺支持的MQTT協議 | 標準MQTT協議 |
---|---|---|
長度 | 支持1~128個字符。 | 不超過65535個字符。 |
字符集 | 只能包含字母、數字和下劃線(_)。 | 支持UTF-8字符集,無明確限制。 |
限制說明
- 一個云網關設備下,支持最多訂閱100個通信Topic。
- 只有設備操作權限為訂閱時,才可以使用通配符
+
和#
自定義Topic類,以便設備實現批量訂閱Topic。通配符使用方法,請參見帶通配符的自定義Topic。
上行通信:設備端到服務端
設備端向通信Topic發布消息,服務端可通過物聯網平臺的AMQP訂閱或云產品流轉功能,接收來自設備端的消息。
配置引擎規則時,您需注意以下事項:
- 僅支持在新版云產品流轉功能下,為云網關設備配置數據流轉規則。具體操作,請參見配置數據流轉解析器。
- 不支持將云網關產品和設備的消息流轉到物聯網平臺普通產品和設備,也不支持將物聯網平臺普通產品和設備的消息流轉到云網關產品和設備。
- 云網關設備流轉數據至另一個Topic時,需攜帶字段deviceName。詳細使用說明,請參見流轉數據到數據目的函數。
- 配置數據流轉的數據源Topic時,需您手動輸入消息Topic。具體操作,請參見創建數據源。
- 服務端訂閱中僅支持推送設備上報消息、設備狀態變化通知和設備生命周期變更的數據。具體操作,請參見配置AMQP服務端訂閱。
下行通信:服務端到設備端
服務端調用Pub接口,可向指定的自定義Topic發布消息。設備通過訂閱該Topic,接收來自服務端的消息。