文档首页/ 设备接入 IoTDA/ 最佳实践/ 设备联动/ 煤气浓度过高自动打开推窗器
更新时间:2024-07-30 GMT+08:00

煤气浓度过高自动打开推窗器

概述

煤气安全关系到千家万户的生命财产安全。本示例基于华为物联网平台提供的设备接入服务,通过触发设备联动规则,自动打开推窗器。

示例场景

本示例场景是煤气监测器将煤气浓度数值上报到物联网平台,当煤气浓度超标时,会触发设置好的设备联动规则,物联网平台会下发打开窗户的命令到无线推窗器,无线推窗器收到命令后,自动把窗户打开。

操作步骤如下:

1.创建煤气监测产品

2.根据煤气监测产品注册设备

3.配置设备联动规则

4.进行验证操作

图1 示例说明

创建煤气监测产品

  1. 访问设备接入服务,单击“立即使用”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 选择左侧导航栏的“产品”。
  3. 单击左侧的“创建产品”,创建煤气浓度监测产品,填写参数后,单击“确定”。

    表1 创建产品参数示例

    基本信息

    产品名称

    自定义,如gasdevice。

    协议类型

    选择“MQTT”

    数据格式

    选择“JSON”

    所属行业

    自定义

    设备类型

  4. 在基本信息页面,单击“自定义模型”,参考下表,完成产品模型配置。gaslevel服务用于监控煤气浓度,windowswitch服务用于执行开关窗命令。

    表2 煤气浓度监测产品模型参数示例

    服务ID

    参数类型

    添加参数说明内容

    gaslevel

    属性

    属性名称:gaslevel

    数据类型:int

    访问权限:可读

    取值范围:0~100

    windowswitch

    命令

    命令名称:switch

    下发参数名称:switch

    数据类型:enum

    枚举值:on,off

注册设备

  1. 选择左侧导航栏的设备 > 所有设备,单击“注册设备”,填写设备注册参数。注册煤气浓度监测设备,并记录设备ID和密钥。

    图2 单设备注册-gasdevice
    表3 注册设备参数填写说明

    参数名称

    说明

    所属产品

    选择在创建煤气监测产品步骤3中创建的产品。

    设备标识码

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

    设备名称

    自定义。

    设备认证类型

    选择“密钥”。

    密钥

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

  2. 选择左侧导航栏的设备 > 所有设备 > 设备注册,单击“注册设备”,填写设备注册参数。注册推窗器设备,并记录设备ID和密钥。

    图3 单设备注册-windowswitch
    表4 注册设备参数填写说明

    参数名称

    说明

    所属产品

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

    设备标识码

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

    设备名称

    自定义。

    设备认证类型

    选择“密钥”。

    密钥

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

配置设备联动规则

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

    图4 新建联动规则-GasLevel
    表5 创建联动规则参数填写说明

    参数名称

    说明

    规则名称

    创建的规则名称,例如“windowswitch”。

    立即触发

    勾选“激活规则”

    生效时间

    选择“一直生效”。

    描述

    对该规则的描述,如“煤气浓度高于6时自动打开推窗设备”。

    触发条件

    1. 单击“添加条件”;
    2. 选择“设备属性触发”;
    3. 选择3中添加的产品,选择“指定设备”后选择1中添加的设备;
    4. “服务类型”选择“gaslevel”,“属性名字”选择“gaslevel”,“操作”选择“>”,“值”填写“6”,单击“触发机制”,“触发策略”选择“重复抑制”,数据时效”填写“300”,然后单击“确定”。

    执行动作

    1. 单击“添加动作;
    2. “动作类型”选择“下发命令”,下发设备选择步骤2创建的设备;
    3. “服务类型”选择“windowswitch”,“命令名字”选择“on_off”,单击“参数配置”,“switch”的值选择“on”,然后单击“确定”。

验证操作

方法一:

您可以使用MQTT.fx模拟设备验证。

  1. 使用MQTT.fx分别模拟煤气探测器设备和推窗器,并连接到物联网平台。操作方法请参考在线开发MQTT协议的模拟智慧路灯
  2. 打开模拟推窗器的MQTT.fx,订阅平台下发的命令。
    1. 选择“Subscribe”页签。
    2. 输入订阅平台下发命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中与步骤2获取的设备ID保持一致。)。
    3. 单击“Subscribe”按钮,完成平台命令下发订阅。
      图5 创建MQTT订阅
  3. 切换到模拟煤气探测的MQTT.fx,上报属性。
    1. 选择“Publish”页签。
    2. 输入属性上报的Topic:“$oc/devices/{device_id}/sys/properties/report(其中{deviceId}与步骤1获取的设备ID保持一致。)。
    3. 上报1条“gaslevel”大于6的属性。
      样例:
      {
          "services": [{
                  "service_id": "gaslevel",
                  "properties": {
                      "gaslevel": 45
                  }
              }
          ]
      }
    4. 单击“Publish”按钮上报属性值。
      图6 MQTT属性上报
  4. 切换到模拟推窗器的MQTT.fx,选择“Subscribe”页签。可以看到收到平台下发的“switch”取值为“on”的命令。
    图7 查看下发命令

    方法二:

    您可以使用配置设备接入服务时注册的真实设备接入平台,上报“gaslevel”大于6的数据。设备会收到一条“switch”取值为“on”的命令,自动推开窗户。