场景说明
物联网平台 支持设备数据上报和设备命令下发,但若要将两者联动起来,一般需要由应用服务器实现对应逻辑。
设备接入服务 提供规则引擎功能,平台上简单几步操作即可实现数据上报特定数据时平台自动下发指定命令,减少应用服务器开发工作量。
本示例为设备自带的温度传感器上报的温度大于80度时,平台自动下发命令关闭设备。
配置设备接入服务
在设备接入服务中创建产品模型、注册设备并设置设备联动规则,实现当设备上报特定数据时平台自动下发命令。
- 访问设备接入服务,单击“立即使用”进入设备接入控制台。
- 选择左侧导航栏的“产品”。
注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。
- 单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”。
基本信息
产品名称
自定义,如MQTT_Device
协议类型
选择“MQTT”
数据格式
选择“JSON”
厂商名称
自定义
所属行业
根据实际情况进行填写。
设备类型
- 单击Profile_tempSensor.zip,获取产品模型文件样例。
- 在模型定义页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确认”。
图1 上传模型文件
- 选择左侧导航栏的图2 注册设备
参数名称
说明
所属产品
选择前面创建的产品。
设备标识码
即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。
设备名称
自定义。
设备认证类型
选择“密钥”。
密钥
设备密钥,可自定义,不填写物联网平台会自动生成。
填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。
,单击右上角的“注册设备”,填写设备注册参数。
- 选择左侧导航栏的“规则>设备联动”,单击右上角的“创建规则”按钮。(创建规则前需选择所属资源空间。)
- 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”。
图3 创建规则
参数名称
说明
规则名称
创建的规则名称,例如“Overheated”。
立即触发
勾选“激活规则”
生效时间
选择“一直生效”。
描述
对该规则的描述,如“设备温度高于80度时自动关闭设备”。
触发条件
- 单击“添加条件”;
- 选择“指定设备触发”;
- 选择已添加的设备;
- 服务选择“tempSensor”,属性选择“temperature”,操作选择“>”,值填写“80”,单击“触发机制”,“触发策略”选择“重复抑制”,数据时效”填写“300”,然后单击“确定”。
执行动作
- 单击“添加动作;
- “动作类型”选择“下发命令”,下发设备选择已创建的设备;
- 服务选择“deviceSwitch”,命令选择“ON_OFF”,单击“参数配置”,“power”的值选择“OFF”,然后单击“确定”。
验证操作
- 您可以使用配置设备接入服务时注册的真实设备接入平台,上报“temperature”大于80的数据。
- 您也可以使用模拟器模拟设备订阅Topic: “$oc/devices/{device_id}/sys/properties/report”(其中{deviceId}需要替换成实际设备ID)后,上报“temperature”大于80的数据,操作方法请参考在线开发MQTT协议的智慧路灯。
- 您还可以使用虚拟设备进行在线调试,上报“temperature”大于80的数据。
期望结果:
- 若您使用真实设备上报数据,设备会收到一条“power”取值为“OFF”的“ON_OFF”命令。
- 若您使用模拟器上报数据,可在“Subscribe”页签查看到平台下发的“power”取值为“OFF”的“ON_OFF”命令。