华为云计算 云知识 华为云物联网平台实现设备触发告警并邮件或短信通知
华为云物联网平台实现设备触发告警并邮件或短信通知

场景说明

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

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

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

配置 消息通知 服务

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

  1. 登录华为云官方网站,访问消息通知服务
  2. 单击“立即使用”进入消息通知服务控制台。若您未开通消息通知服务,请先开通服务。
  3. 进入主题管理 > 主题页面,单击“创建主题”。
  4. 输入主题名称,如“Battery_Low_Notify”,单击“确定”。

  5. 进入主题管理 > 订阅页面,单击“添加订阅”。
  6. 填写订阅信息。
    图1 添加订阅

    参数名称

    说明

    主题名称

    选择上文创建的主题。

    协议

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

    订阅终端

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

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

    填写完成后单击“确定”。

配置设备接入服务

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

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

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

  3. 单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”

    基本信息

    产品名称

    自定义,如MQTT_Device

    协议类型

    选择“MQTT”

    数据格式

    选择“JSON”

    厂商名称

    自定义

    所属行业

    根据实际情况进行填写。

    设备类型

  4. 单击Profile.zip,获取产品模型文件样例。
  5. 在模型定义页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确认”。
    图2 上传模型文件
  6. 选择左侧导航栏的设备 > 设备注册,单击右上角的“注册设备”,填写设备注册参数。

    参数名称

    说明

    所属产品

    选择在前面中创建的产品。

    设备标识码

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

    设备名称

    自定义。

    设备认证类型

    选择“密钥”。

    密钥

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

    填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。

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

    参数名称

    说明

    规则名称

    自定义,例如“Battery_Low_Mail”或“Battery_Low_ SMS ”。

    激活规则

    勾选“激活规则”

    生效时间

    选择“一直生效”。

    描述

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

    触发条件

    1. 单击“添加条件”;
    2. 选择“指定设备触发”;
    3. 选择添加的设备;
    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 ”,跳转至 应用运维管理 服务,有一条名称为“设备电量低”的一般告警。
  • 若订阅了邮件通知,接受订阅的邮箱会收到一封通知设备电量低的邮件。
  • 若订阅了短信通知,接受订阅的手机会收到一条通知设备电量低的短信。

上一篇:云备份存储库 下一篇:如何配置PHP镜像

华为云

面向未来的智能世界,数字化是企业发展的必由之路。数字化成功的关键是以云原生的思维践行云原生,全数字化、全云化、AI驱动,一切皆服务。

华为云将持续创新,携手客户、合作伙伴和开发者,致力于让云无处不在,让智能无所不及,共建智能世界云底座。