场景简介

煤气检测器发现煤气浓度超标时,自动关联无线推窗器把窗户打开,起到通风的作用。

该场景主要描述的是设备可以通过LWM2M协议与物联网平台进行交互,用户可以在控制台或通过应用侧接口创建设备联动规则,把设备上报的属性转发,通过物联网平台规则引擎转变成命令下发给其他指定设备。

核心知识点:产品模型、编解码插件、属性上报、命令下发、MQTT协议、设备联动规则。

场景流程

流程解释:

  1. 创建防煤气泄漏产品:物联网平台是以产品为粒度管理批量设备,产品的创建与管理,可以通过平台提供的API接口控制台
  2. 上传产品模型和编解码插件:因为NB设备是用LWM2M协议传输二进制码流通信,而平台需要做对应的编解码转换才能与之通信。产品模型是定义一种设备的基本属性和命令。产品模型和编解码插件开发可以通过控制台,也可以通过模板离线开发再上传,也可以导入公共产品库的模型。
  3. 注册煤气检测器和推窗器设备:平台提供了应用侧API接口可以注册设备,也可以通过控制台批量注册。注册的设备ID,是设备侧与平台交互的唯一标识。这里可以分别注册两种设备,一种是用于煤气检测的设备,一种是可以推窗的设备。
  4. 创建设备联动规则:用户可以通过控制台创建规则,指定设备联动规则,设置触发条件和执行动作,给指定的设备做定向转发。
  5. 煤气检测值属性上报:NB设备是指集成了NB模组的设备,模组集成了华为IoT Tiny SDK,把指令用二进制码流传输给平台,平台会用编解码插件解码
  6. 按规则设备联动:IoTDA平台会根据煤气检测器上报的属性值,进行规则过滤,把属性值转成命令下发给无线推窗器设备。
  7. 命令下发推开窗户:平台把命令下发给无线推窗器,通知推开窗户进行通风。

最佳实践

场景说明

煤气安全关系到千家万户的生命财产安全。本示例基于华为物联网平台提供的设备接入服务,通过触发设备联动规则,自动打开推窗器。具体场景是煤气监测器将煤气浓度数值上报到物联网平台,当煤气浓度超标时,会触发设置好的设备联动规则,物联网平台会下发打开窗户的命令到无线推窗器,无线推窗器收到命令后,自动把窗户打开。

创建煤气监测产品

  1. 登录华为云官方网站,访问设备接入服务
  2. 单击“立即使用”进入设备接入控制台。
  3. 单击左侧导航栏的“产品”,单击右下角下拉框,选择新建产品所属的资源空间。
  4. 单击右上角的“创建产品”,创建煤气浓度监测产品,填写参数后,点击“立即创建”。

基本信息

产品名称

自定义,如gasdevice

协议类型

选择“MQTT”

数据格式

选择“JSON”

厂商名称

自定义

功能定义

选择模型

按照步骤5自定义产品模型

所属行业

自定义

设备类型

5.在功能定义页面,选择“自定义功能”,参考下表,完成产品模型配置。

服务数据

服务

 

服务名称:gaslevel

 

属性

属性名称:gaslevel

是否必选:是

数据类型:int

访问权限:可读

取值范围:0~100

 

命令

命令名称:switch

下发参数名称:switch,是否必选:是,数据类型:string,长度:1,枚举值:on,off

注册设备

1.进入“设备 > 设备注册”页面,单击“注册设备”,参考下表填写参数。注册煤气浓度监测设备,并记录设备ID和密钥。

参数名称

说明

所属产品

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

设备标识码

自定义,英文字母和数字的组合字符串。通过注册成功后生成的“设备ID”(与设备标识码一一对应)和“设备密钥”接入平台。

设备名称

自定义。

设备认证类型

选择“密钥”。

密钥

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

2.进入“设备 > 设备注册”页面,单击“注册设备”,参考下表填写参数。注册推窗器设备,并记录设备ID和密钥。

参数名称

说明

所属产品

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

设备标识码

自定义,英文字母和数字的组合字符串。通过注册成功后生成的“设备ID”(与设备标识码一一对应)和“设备密钥”接入平台。

设备名称

自定义。

设备认证类型

选择“密钥”。

密钥

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

配置设备联动规则

  1. 单击左侧导航栏的“规则”。在左上角的下拉框,选择资源空间(与步骤3同一个资源空间),单击右上角“创建规则”。
  2. 在弹出的页面选择“设备联动”。
  3. 参考下表配置设备联动规则。

参数名称

说明

规则名称

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

立即触发

勾选“立即触发”

生效时间

选择“一直生效”。

描述

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

触发条件

  1. 单击“添加条件”;
  2. 选择1中添加的设备;
  3. “服务类型”选择“gaslevel”,“属性名字”选择“gaslevel”,“操作”选择“>”,“值”填写“6”,单击“触发机制”,“无效触发抑制选择”选择“需要”,数据时效”填写“300”,然后单击“确认”。

执行动作

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

验证操作

方法一:

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

  1. 使用MQTT.fx分别模拟煤气探测器设备和推窗器,并连接到物联网平台。操作方法请参考通过MQTT.fx体验设备接入
  2. 打开模拟推窗器的MQTT.fx,订阅平台下发的命令。
    1. 选择“Subscribe”页签。
    2. 输入订阅平台下发命令的Topic=$oc/devices/{device_id}/sys/commands/#(其中与步骤2获取的设备ID保持一致。)。
    3. 点击“Subscribe”按钮,完成平台命令下发订阅。

  1. 切换到模拟煤气探测的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}}]
}
  1. 点击“Publish”按钮上报属性值。

  1. 切换到模拟推窗器的MQTT.fx,选择“Subscribe”页签。可以看到收到平台下发的“switch”取值为“on”的命令。

方法二:

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

点击这里→了解更多精彩内容

干货分享丨玩转物联网IoTDA服务系列五-智能家居煤气检测联动相关推荐

  1. 干货分享丨玩转物联网IoTDA服务系列四-智能网关

    场景简介 已对接存量设备的网关,不用迁移就可以实现对既有设备和新设备的兼容控制. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧 ...

  2. 【华为云技术分享】玩转华为物联网IoTDA服务系列三-自动售货机销售分析场景示例

    [摘要] 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 场景简介 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进 ...

  3. 【华为云技术分享】玩转华为物联网IoTDA服务系列六-恒温空调

    摘要:本文主要讲述空调接入到物联网平台后,通过恒温空调控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节. 场景简介 通过恒温控制系统,不论空调是否开机,都可以调 ...

  4. 【华为云技术分享】解析:物联网数据分析服务如何做?

    [摘要] 物联网设备正在产生大量的数据,如何为开发者提供简单有效的数据分析服务,简化开发过程,提升开发效率,让IoT数据快速变现是一个摆在我们面前的问题. 没有疑问,我们已经身处物联网时代了,每天都有 ...

  5. android分享文件分享结果_干货分享丨DM删除归档日志文件的多种方法

    上一期我们讲解了DM数据库归档日志的切换,本期我们讲解DM数据库归档日志文件的删除. 本章内容已在如下环境上测试: ①操作系统:中标麒麟7: ②数据库版本:达梦8: 相关关键字:DM数据库.归档日志文 ...

  6. dts数据库迁移工具_干货分享丨DM8 DTS工具使用小技巧

    DTS工具的介绍 DM数据库为迁移提供了图形化工具--DTS.DTS可以从主流大型数据库迁移到DM.DM到DM.文件迁移到DM以及DM迁移到文件的功能,极大的简化了迁移操作,让数据迁移变得简单. DT ...

  7. 达梦数据库删除用户_干货分享丨DM8用户管理

    原标题:干货分享丨DM8用户管理 用户介绍 安装创建达梦企业版数据库后,系统会默认创建四类数据库账号,分别是: SYS:达梦数据库内置管理用户,不能登录,数据库使用的大部分的数据字典和动态性能视图. ...

  8. 【Linux服务器开发系列】详解多线程网络编程丨百分百干货分享丨学到就是赚到

    90分钟搞懂多线程网络编程模型 1. 网络编程关注的问题 2. 网络编程的几种模型reactor,one loop per thread及其变种 3. skynet,redis,nginx,memca ...

  9. 国内物联网平台(5):机智云IoT物联网云服务平台及智能硬件自助开发平台

    国内物联网平台(5) --机智云IoT物联网云服务平台及智能硬件自助开发平台 马智 平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测. ...

最新文章

  1. 《基于张量网络的机器学习入门》学习笔记7
  2. ios 调用c语言函数指针,第09天C语言(08):指向函数的指针的应用场景
  3. 对话框绘制完成消息_Word小技巧-一分钟教会你快速绘制组织架构图
  4. OScached页面缓存的入门使用
  5. Linux命令之 mount -- 文件系统挂载
  6. 黄文俊:Serverless小程序后端技术分享
  7. linux java 部署 生产环境
  8. ccs 移植创建新工程_3D生物打印器官新突破,模拟肺与肝脏,未来可能实现定制人类器官...
  9. Linux 变量和结构体
  10. python审计运用_用Python来分析审计行业的这10年
  11. Ajax:前台利器—Ajax
  12. 图像数据流识别圆形_python opencv :使用Hough变换检测圆形,数钱。
  13. 最简单DIY的51蓝牙遥控小车设计方案
  14. python模拟键盘操作_Python 模拟键盘鼠标操作详细教程
  15. screentogif能录制声音吗_一款免费且强大的gif动画录制工具,再也不愁录动画!...
  16. AWSome Day 2019 线上云技术课堂(1)
  17. nginx新增conf文件
  18. vue-3d-model vue 实现3D 图像显示
  19. html border线条重叠,关于border边框重叠颜色设置问题
  20. 什么叫同步,什么叫异步?

热门文章

  1. 深度学习笔记(30) Inception网络
  2. 北京理工大学计算机学院研究生培养方案,北京理工大学2018版学术型研究生培养方案.PDF...
  3. c语言如何打印unicode字符,如何在C ++中打印Unicode字符?
  4. php接收get参数false是字符串,php怎么接收url参数
  5. deepnude | 福利
  6. Spring Security(四) —— 核心过滤器源码分析
  7. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)
  8. ASP.NET页面之间传值的方式之Cookie(个人整理)
  9. Linq学习(零)-错误汇总
  10. Android 支付宝 移动支付接口 快速配置