数据转发到另一Topic

设备不能订阅其他设备的Topic,也不能向其他设备的Topic发布消息。通过云产品流转可以将SQL处理完的一个设备Topic的消息内容,转发到另一个设备Topic,实现设备间通信(M2M通信)或者其他通信场景。

工作原理

消息转发的云产品流转功能可以将Topic1中的数据转发到Topic2内。 数据流转示意图如下。

image

云产品流转可以将设备1的Topic1消息转发给另一个具备订阅权限设备2的Topic2,设备2订阅Topic2,即可接收设备1的Topic1消息,实现不同设备间的通信。

在上图中:

  • 数据源Topic1:Topic1支持的Topic类型消息,请参见数据格式

  • SQL表达式:编写SQL表达式来解析和处理设备上报的JSON数据。SQL表达式的语法说明,请参见SQL表达式

    说明

    二进制格式的数据不做解析,直接透传。

  • 数据目的:接收Topic1消息的Topic2,支持以下Topic类型。

    支持自定义Topic和物模型数据下发Topic:/sys/${productKey}/${deviceName}/thing/service/property/set

应用场景

  • 数据转发目的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表达式,具体操作,请参见设置数据流转规则

添加数据转发目的

  1. 登录物联网平台控制台

  2. 实例概览页签的全部环境下,找到对应的实例,单击实例卡片。

  3. 在左侧导航栏,选择消息转发 > 云产品流转

  4. 单击规则对应的查看,进入数据流转规则页面。

    重要

    若当前页面为云产品流转新版页面,需先单击右上角返回旧版,再单击目标规则对应的查看

  5. 单击转发数据一栏对应的添加操作

  6. 添加操作对话框中,选择操作为发布到另一个Topic。按照界面提示,设置其他信息,单击确认

    发布到另一个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说明

  7. 回到云产品流转页,单击规则对应的启动按钮启动规则。

相关文档

常见问题