設備不能訂閱其他設備的Topic,也不能向其他設備的Topic發布消息。通過云產品流轉可以將SQL處理完的一個設備Topic的消息內容,轉發到另一個設備Topic,實現設備間通信(M2M通信)或者其他通信場景。
工作原理
消息轉發的云產品流轉功能可以將Topic1中的數據轉發到Topic2內。 數據流轉示意圖如下。
云產品流轉可以將設備1的Topic1消息轉發給另一個具備訂閱權限設備2的Topic2,設備2訂閱Topic2,即可接收設備1的Topic1消息,實現不同設備間的通信。
在上圖中:
應用場景
數據轉發目的Topic為自定義Topic:
同一產品下,不同設備之間通信。
不同產品下,兩個設備之間通信。
數據轉發目的Topic為物模型數據下發Topic:
/sys/${productKey}/${deviceName}/thing/service/property/set
。該Topic為設備接收設置屬性值指令的Topic,設備從該Topic接收轉發數據,并根據數據內容,設置屬性值。用于目的Topic所屬設備根據轉發的數據更改屬性值的場景。
使用限制
源Topic消息轉發到目的Topic內,目的Topic必須具備訂閱權限,且目的Topic所屬設備必須已成功訂閱對應目的Topic。否則,目的Topic所屬設備接收不到源Topic轉發的消息。
云網關產品和設備,及MQTT型實例下產品和設備,不支持使用云產品流轉(舊版)功能。如果流轉對應產品和設備的數據,需要使用云產品流轉(新版)功能。具體內容,請參見云產品流轉(新版)。
前提條件
已創建數據轉發規則和編寫處理數據源Topic的SQL表達式,具體操作,請參見設置數據流轉規則。
添加數據轉發目的
登錄物聯網平臺控制臺。
在實例概覽頁簽的全部環境下,找到對應的實例,單擊實例卡片。
在左側導航欄,選擇 。
單擊規則對應的查看,進入數據流轉規則頁面。
重要若當前頁面為云產品流轉新版頁面,需先單擊右上角返回舊版,再單擊目標規則對應的查看。
單擊轉發數據一欄對應的添加操作。
在添加操作對話框中,選擇操作為發布到另一個Topic。按照界面提示,設置其他信息,單擊確認。
參數
說明
選擇操作
選擇發布到另一個Topic。
Topic
選擇數據轉發目的地Topic。
可選的Topic類型:
自定義:目的地Topic為一個自定義Topic。該自定義Topic的設備操作權限需為訂閱,即所屬設備可訂閱這個Topic,獲取轉發的消息。
物模型數據下發:目的地Topic為設備接收設置屬性值指令的Topic:
thing/service/property/set
。設備從該Topic接收轉發數據,并根據數據內容,設置屬性值。用于目的地Topic所屬設備根據轉發的數據更改屬性值的場景。
選擇Topic類型后,您還需選擇產品、設備和Topic名稱,即指定具體Topic。
重要目的地Topic所屬設備若未訂閱該Topic,則收不到轉發的消息。
例如使用MQTT.fx工具接入物聯網平臺的設備A,不會自動訂閱設備Topic,若設備B向設備A的Topic:
thing/service/property/set
轉發數據,而設備A未手動訂閱該Topic,則設備A收不到設備B轉發的消息。設備Topic自動訂閱的詳細說明,請參見自動訂閱Topic說明。
回到云產品流轉頁,單擊規則對應的啟動按鈕啟動規則。