文档首页/ 设备接入 IoTDA/ 最佳实践/ 设备联动/ 设备触发告警并邮件或短信通知
更新时间:2024-10-22 GMT+08:00

设备触发告警并邮件或短信通知

概述

很多物联网设备24小时运行,设备管理者并不需要知道设备每一刻的状态,只需要设备在上报某些特定状态时能通知到管理者。

设备接入服务提供规则引擎功能可以满足该诉求,您可以通过设置规则简单实现当设备上报的数据满足某个条件时,物联网平台触发指定动作进行通知。

示例场景

本示例为设备上报的电池电量小于20%时,物联网平台会上报告警并发送邮件或短信通知给指定的手机号码。

操作步骤如下:

1.配置消息通知服务(SMN):订阅通知渠道。

2.配置设备接入服务(IoTDA):定义物模型、创建产品设备和联动规则引擎配置。

3.进行验证操作

图1 示例说明

配置消息通知服务

在消息通知服务中创建主题并添加订阅,供设备接入服务调用以发送邮件或短信。

  1. 登录华为云官方网站,访问消息通知服务
  2. 单击“立即使用”进入消息通知服务控制台。若您未开通消息通知服务,请先开通服务。
  3. 进入主题管理 > 主题页面,单击“创建主题”。
  4. 输入主题名称,如“Test_1”,单击“确定”。
    图2 创建主题-SMN
  5. 进入主题管理 > 订阅页面,单击“添加订阅”。
  6. 填写订阅信息,填写完成后单击“确定”。
    图3 添加订阅-SMN
    表1 添加订阅参数填写说明

    参数名称

    说明

    主题名称

    选择步骤4创建的主题。

    协议

    • 若需要发送邮件通知,选择“邮件”。
    • 若需要发送短信通知,选择“短信”。

    订阅终端

    • 若协议为“邮件”,填写接收通知邮件的邮箱地址;
    • 若协议为“短信”,输入接收短信通知的手机号码。

    需要添加多个终端时,每个终端地址占1行,最多填写10行。

配置设备接入服务

在设备接入服务中创建产品模型、注册设备并设置设备联动规则,实现当设备上报特定数据时触发告警并发送邮件或短信。

  1. 访问设备接入服务,单击“立即使用”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 选择左侧导航栏的“产品”。

    注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。

  3. 单击左侧的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确定”
    表2 创建产品参数示例

    基本信息

    产品名称

    自定义,如MQTT_Device

    协议类型

    选择“MQTT”

    数据格式

    选择“JSON”

    所属行业

    根据实际情况进行填写。

    设备类型

  4. 单击文件,获取产品模型文件样例。
  5. 找到新增的产品,单击“产品”进入产品详情界面。
  6. 在基本信息页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确定”。
    图4 产品-上传模型文件
  7. 选择左侧导航栏的设备 > 所有设备,单击“注册设备”,填写设备注册参数。填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。
    图5 单设备注册-MQTT
    表3 注册设备参数填写说明

    参数名称

    说明

    所属产品

    选择在步骤3中创建的产品。

    设备标识码

    即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。

    设备名称

    自定义。

    设备认证类型

    选择“密钥”。

    密钥

    设备密钥,可自定义,不填写物联网平台会自动生成。

  8. 选择左侧导航栏的“规则>设备联动”,单击“创建规则”按钮。(创建规则前需选择所属资源空间。)
  9. 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”
    图6 新建联动规则-BatteryProperty
    表4 创建联动规则参数填写说明

    参数名称

    说明

    规则名称

    自定义,例如“Battery_Low_Mail”或“Battery_Low_SMS”。

    激活规则

    勾选“激活规则”

    生效时间

    选择“一直生效”。

    描述

    自定义对该规则的描述,如“设备上报电量低于20%时上报告警并发送通知”。

    触发条件

    1. 单击“添加条件”;
    2. 选择“设备属性触发”;
    3. 选择3中添加的产品,选择“指定设备”,再选择7中添加的设备;
    4. “服务类型”选择“Battery”,“属性”选择“batteryLevel”,“操作”选择“<”,“值”填写“20”,单击“触发机制”,“触发策略”选择“重复抑制”,数据时效”填写“3600”,然后单击“确认”。

    执行动作

    首先添加告警:

    1. 单击“添加动作;
    2. 动作类型选择“上报告警”;
    3. “告警等级”选择“次要”,“告警隔离级别”选择“设备”,“告警名称”输入“设备电量低”,“告警内容”输入“设备电量低于20%,请及时确认并更换电池。”,然后单击“确认”。

    再添加通知:

    1. 单击“添加动作”。
    2. 动作类型”选择“发送通知”。
    3. 选择您开通的SMN服务区域,如“cn-north-4”。首次创建对接到SMN服务的规则时,平台会根据对接的云服务和区域弹出对应的云服务访问授权窗口,请根据界面提示,配置云服务访问授权。(可登录SMN服务控制台后在左上角查看)。
    4. 主题名称选择配置消息通知服务时创建的主题;
      • 若主题对应的订阅协议是邮件,消息标题填写为邮件标题,如“[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”,跳转至应用运维管理服务,有一条名称为“设备电量低”的一般告警。
  • 若订阅了邮件通知,接受订阅的邮箱会收到一封通知设备电量低的邮件。
  • 若订阅了短信通知,接受订阅的手机会收到一条通知设备电量低的短信。