设备间消息通信使用说明
使用流程
以下流程主要以设备间一对一为例:
- 创建流转规则,设置转发Topic:在控制台界面创建M2M流转规则并设置转发Topic。
- 策略配置:在控制台界面进行策略配置。通过策略配置允许发送、接收数据的设备进行发布及订阅。
- 设备A、B鉴权:设备发起连接鉴权(MQTT设备),鉴权参数填写请参考:设备连接鉴权。
- 设备B订阅Topic:设备对云服务端进行主题订阅。设备B订阅的Topic为创建流转规则中设置的Topic。若订阅成功,平台返回订阅成功ACK。
- 设备A数据上报:设备对云服务端进行主题发布。若发布成功,平台返回发布成功ACK。
- 设备B收到数据:若转发成功,设备B将收到设备A发送的数据。
操作步骤
以下示例主要针对平台中创建流转规则配置。通过修改流转规则可以实现不同场景的应用。
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。在左侧导航栏“规则”中点击“数据转发”,可到数据转发界面。
图2 数据转发页面
- 点击“创建规则”按照业务具体填写需要转发的数据参数,填写完成后点击“创建规则”。参数值可参考下图。
图3 创建数据转发规则
表1 创建数据转发规则-参数说明 参数说明
规则名称
自定义,如test。长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。
规则描述
自定义,对该规则的描述。
数据来源
转发规则的数据来源,下拉可选择多种数据来源。在使用M2M时,请选择“设备消息”。
触发事件
不同的数据来源有不同的触发事件,若使用M2M,请选择“设备消息上报”。
资源空间
下拉选择所属的资源空间。可以选择所有资源空间,如无对应的资源空间,请先创建资源空间。
数据过滤语句
使用SQL语句可以进行数据筛选,详情可见:SQL语句。图片中在WHERE中填入notify_data.body.topic IN ('/test/M2M'),代表只有Topic为“/test/M2M”的数据进行数据转发。
- 在创建数据转发规则的第二步,可以添加转发到的目标,包括设置转发后的Topic、缓存时间等。若使用M2M,请将转发目标设置为“设备”,按照业务具体填写参数后点击“确定”。
图4 设置转发目标
表2 设置转发目标-参数说明 参数说明
转发目标
下拉选择转发目标,在设备间消息通信中,请选择为“设备”。
Topic
自定义,代表转发后的Topic,当设置为“$topic()”时表示Topic为传入时的Topic。长度不超过128;不允许以$oc开头、以$或/结尾。
ttl
数据缓存时间。当设备不在线时,数据会进行缓存(当ttl为0时不缓存),当设备上线时在进行下发。输入值范围在0~1440(一天)分钟,且值为5的倍数。
- 启动规则。在创建数据转发规则的第三步,点击启动规则,完成规则设置。
图5 启动规则