场景说明
很多物联网设备24小时运行,设备管理者并不需要知道设备每一刻的状态,只需要设备在上报某些特定状态时能通知到管理者。
设备接入服务 提供规则引擎功能可以满足该诉求,您可以通过设置规则简单实现当设备上报的数据满足某个条件时, 物联网平台 触发指定动作进行通知。
本示例为设备上报的电池电量小于20%时,物联网平台会上报告警并发送邮件或短信通知给指定的手机号码。
配置 消息通知 服务
在消息通知服务中创建主题并添加订阅,供设备接入服务调用以发送邮件或短信。
- 登录华为云官方网站,访问消息通知服务。
- 单击“立即使用”进入消息通知服务控制台。若您未开通消息通知服务,请先开通服务。
- 进入 页面,单击“创建主题”。
- 输入主题名称,如“Battery_Low_Notify”,单击“确定”。
- 进入 页面,单击“添加订阅”。
- 填写订阅信息。
图1 添加订阅
参数名称
说明
主题名称
选择上文创建的主题。
协议
- 若需要发送邮件通知,选择“邮件”。
- 若需要发送短信通知,选择“短信”。
订阅终端
- 若协议为“邮件”,填写接收通知邮件的邮箱地址;
- 若协议为“短信”,输入接收短信通知的手机号码。
需要添加多个终端时,每个终端地址占1行,最多填写10行。
填写完成后单击“确定”。
配置设备接入服务
在设备接入服务中创建产品模型、注册设备并设置设备联动规则,实现当设备上报特定数据时触发告警并发送邮件或短信。
- 访问设备接入服务,单击“立即使用”进入设备接入控制台。
- 选择左侧导航栏的“产品”。
注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。
- 单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”。
基本信息
产品名称
自定义,如MQTT_Device
协议类型
选择“MQTT”
数据格式
选择“JSON”
厂商名称
自定义
所属行业
根据实际情况进行填写。
设备类型
- 单击Profile.zip,获取产品模型文件样例。
- 在模型定义页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确认”。
图2 上传模型文件
- 选择左侧导航栏的
参数名称
说明
所属产品
选择在前面中创建的产品。
设备标识码
即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。
设备名称
自定义。
设备认证类型
选择“密钥”。
密钥
设备密钥,可自定义,不填写物联网平台会自动生成。
填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。
,单击右上角的“注册设备”,填写设备注册参数。
- 选择左侧导航栏的“规则>设备联动”,单击右上角的“创建规则”按钮。(创建规则前需选择所属资源空间。)
- 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”。
图3 创建规则
参数名称
说明
规则名称
自定义,例如“Battery_Low_Mail”或“Battery_Low_ SMS ”。
激活规则
勾选“激活规则”
生效时间
选择“一直生效”。
描述
对该规则的描述,如“设备上报电量低于20%时上报告警并发送通知”。
触发条件
- 单击“添加条件”;
- 选择“指定设备触发”;
- 选择添加的设备;
- “服务类型”选择“Battery”,“属性”选择“batteryLevel”,“操作”选择“<”,“值”填写“20”,单击“触发机制”,“触发策略”选择“重复抑制”,数据时效”填写“3600”,然后单击“确认”。
执行动作
首先添加告警:
- 单击“添加动作;
- 动作类型选择“上报告警”;
- “告警等级”选择“次要”,“告警名称”输入“设备电量低”,“告警内容”输入“设备电量低于20%,请及时确认并更换电池。”,然后单击“确认”。
再添加通知:
- 单击“添加动作”。
- 动作类型”选择“发送通知”。
- 选择您开通的 SMN 服务区域,如“cn-north-4”。首次创建对接到SMN服务的规则时,平台会根据对接的 云服务 和区域弹出对应的云服务访问授权窗口,请根据界面提示,配置云服务访问授权。(可登录SMN服务控制台后在左上角查看)。
- 主题名称选择配置消息通知服务时创建的主题;
- 若主题对应的订阅协议是邮件,消息标题填写为邮件标题,如“[Huawei IoT Platform] Low Battery Warning”;消息内容填写“You have a device with less than 20% charge, please log in to the Huawei IoT Platform for details.”
- 若主题对应的订阅协议是短信,消息标题无需填写,消息内容填写“[Huawei IoT Platform] You have a device with less than 20% charge, please log in to the Huawei IoT Platform for details.”
验证操作
- 您可以使用配置设备接入服务时注册的真实设备接入平台,上报“batteryLevel”小于20的数据。
- 您也可以使用模拟器模拟设备上报“batteryLevel”小于20的数据,操作方法请参考在线开发MQTT协议的智慧路灯。
- 您还可以使用虚拟设备进行在线调试,上报“batteryLevel”小于20的数据。
期望结果: