设备触发告警并邮件或短信通知
概述
很多物联网设备24小时运行,设备管理者并不需要知道设备每一刻的状态,只需要设备在上报某些特定状态时能通知到管理者。
设备接入服务提供规则引擎功能可以满足该诉求,您可以通过设置规则简单实现当设备上报的数据满足某个条件时,物联网平台触发指定动作进行通知。
示例场景
本示例为设备上报的电池电量小于20%时,物联网平台会上报告警并发送邮件或短信通知给指定的手机号码。
操作步骤如下:
1.配置消息通知服务(SMN):订阅通知渠道。
2.配置设备接入服务(IoTDA):定义物模型、创建产品设备和联动规则引擎配置。
3.进行验证操作。
配置消息通知服务
在消息通知服务中创建主题并添加订阅,供设备接入服务调用以发送邮件或短信。
- 登录华为云官方网站,访问消息通知服务。
- 单击“立即使用”进入消息通知服务控制台。若您未开通消息通知服务,请先开通服务。
- 进入 页面,单击“创建主题”。
- 输入主题名称,如“Test_1”,单击“确定”。
图2 创建主题-SMN
- 进入 页面,单击“添加订阅”。
- 填写订阅信息,填写完成后单击“确定”。
图3 添加订阅-SMN
表1 添加订阅参数填写说明 参数名称
说明
主题名称
选择步骤4创建的主题。
协议
- 若需要发送邮件通知,选择“邮件”。
- 若需要发送短信通知,选择“短信”。
订阅终端
- 若协议为“邮件”,填写接收通知邮件的邮箱地址;
- 若协议为“短信”,输入接收短信通知的手机号码。
需要添加多个终端时,每个终端地址占1行,最多填写10行。
配置设备接入服务
在设备接入服务中创建产品模型、注册设备并设置设备联动规则,实现当设备上报特定数据时触发告警并发送邮件或短信。
- 访问设备接入服务,单击“立即使用”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 选择左侧导航栏的“产品”。
- 单击左侧的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确定”。
表2 创建产品参数示例 基本信息
产品名称
自定义,如MQTT_Device
协议类型
选择“MQTT”
数据格式
选择“JSON”
所属行业
根据实际情况进行填写。
设备类型
- 单击文件,获取产品模型文件样例。
- 找到新增的产品,单击“产品”进入产品详情界面。
- 在基本信息页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确定”。
图4 产品-上传模型文件
- 选择左侧导航栏的 ,单击“注册设备”,填写设备注册参数。填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。
图5 单设备注册-MQTT
表3 注册设备参数填写说明 参数名称
说明
所属产品
选择在步骤3中创建的产品。
设备标识码
即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。
设备名称
自定义。
设备认证类型
选择“密钥”。
密钥
设备密钥,可自定义,不填写物联网平台会自动生成。
- 选择左侧导航栏的“规则>设备联动”,单击“创建规则”按钮。(创建规则前需选择所属资源空间。)
- 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”。
图6 新建联动规则-BatteryProperty
表4 创建联动规则参数填写说明 参数名称
说明
规则名称
自定义,例如“Battery_Low_Mail”或“Battery_Low_SMS”。
激活规则
勾选“激活规则”
生效时间
选择“一直生效”。
描述
自定义对该规则的描述,如“设备上报电量低于20%时上报告警并发送通知”。
触发条件
执行动作
首先添加告警:
- 单击“添加动作;
- 动作类型选择“上报告警”;
- “告警等级”选择“次要”,“告警隔离级别”选择“设备”,“告警名称”输入“设备电量低”,“告警内容”输入“设备电量低于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的数据。
期望结果:
- 在左侧导航栏选择 ,单击“前往AOM”,跳转至应用运维管理服务,有一条名称为“设备电量低”的一般告警。
- 若订阅了邮件通知,接受订阅的邮箱会收到一封通知设备电量低的邮件。
- 若订阅了短信通知,接受订阅的手机会收到一条通知设备电量低的短信。