设备不能订阅其他设备的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说明。
回到云产品流转页,单击规则对应的启动按钮启动规则。