智慧小区安全防护系统——真实设备接入实验报告

一、实验背景

随着国民经济的不断进展,人民生活水平在不断地提高;科学的进展和技术的进步,也让人民的生活观念发生了前所未有的改变。现如今,人们需要的不仅仅是生活便利的住宅,更需要的是一个能够给人安全感的生活空间,可以让人们的生命和财产得到更可靠的保障。因此,在现代化的智能小区和家庭中,家居安防监控系统作为其重要组成部分,其研究意义就不言而喻了。在如今这样一个电子化时代,各种家用电器不断地应用在家庭中的同时,随之而来的是,各种不安全因素也伴随着这些产品进入了家庭。

二、实验目标

1、 基于真实设备,搭建软硬件环境,接入 OneNET 平台并实现设备属性上报;
2、 通过 OneNET 平台的“设备调试”实现设备属性下发;
3、 通过 OneNET 平台的“API 调试”实现设备属性下发;
4、 直接基于 API 方式实现设备属性下发;

三、实验步骤

3.1真实设备接入 OneNET 平台实现属性上报

步骤 1 选取 OneNET 物联网实验箱“核心模块”以及“Wifi 模块”、“蜂鸣器模块”、 “超声波模块”进行搭建

6D15F471C7BC87523E0905D37FE8FCBC.jpg

(1)运行 Keil uVision5 应用程序,编译后查看编译结果,错误为0(如下图所示)


image.png

步骤 2 修改设备程序的 OneNET 平台网络接入配置参数

(1)修改net_device.c文件中约 677 行处,将{wifi}、{password}替换为设备所在 Wifi 网络用户名和密码(将{}括号一起替换,下同)


image.png

(2)修改onenet.c文件中约 56 行处,依次修改{设备密钥}、{产品 id}、{设备名称}为之前步骤中在 OneNET Studio 中所创建的产品、设备相关信息,本例中设备名称就是之前步骤中创建的“Controller”设备,并对应填入其设备密钥


image.png

步骤 3 修改设备程序的上报属性值映射关系以及 OneNET 平台下发属性生效命令处理代码

(3)修改application.c文件中约132 行处,根据之前步骤中在 OneNET Studio中所创建的物模型信息,依次增加属性点标识符以及对应需上报的设备数据变量,如下所示:


image.png

(4)修改cmd_callback.c文件中约51行处,根据之前步骤中在 OneNET Studio中所创建的物模型信息,增改此处的属性点标识符,对应设置需写入生效的设备数据处理函数名


image.png

(5)同时在该文件头部,增加 void CALLBACK_Beep(int value)函数声明
image.png

(6)在该文件适当位置增加该方法的具体实现逻辑代码:


image.png

步骤 4 OneNET 平台侧查看设备状态

登录 OneNET Studio,查看“Controller”设备运行状态为在线,若此时设备显示为不在线,则排查前面关于网络接入、OneNET 鉴权等代码修改处是否有误。重复步骤 3、4、5,再次检查并修改,直到本步骤查看状态为上线。


image.png

步骤 5 OneNET 平台侧查看设备上报数据信息

进入设备详情页面,查看属性表格页展示的各个数据点显示的信息


图1

3.2下发属性在终端设备上执行生效(设备调试)

步骤 1 通过 OneNETStudio 的设备调试方式进行属性下发

点击运维菜单--设备调试,选择调试产品、设备信息,本任务需选择之前步骤创建的产品,及归属其下的”Controller“设备。切换调试方式为“应用模拟器”。先勾选一个功能点,然后设置下发的数值。(以蜂鸣器为例,这是一个 bool 型功能点,勾选后,可设置值为 true、false 两个,本次任务选择 true 作为下发数值)


image.png

点击页面下方的“属性设置”按钮,右侧调试日志展示了下发的报文,设备端也同时将该数值执行生效。


图2

3.3下发属性在终端设备上执行生效(API 调试)

步骤 1 进入“API 调试”功能页面

点击“运维菜单”下的“API调试”,再点击“应用开发类”,选择“设备属性设置”,后填入所需信息。其中的 params 内容填写要设置的属性标识符以及对应设置值,本次任务中设置蜂鸣器状态为 true

图3

点击执行后,右侧会显示出调用结果:


%C6VY(@4V05_001R_FW_RHI.png

3.4 基于 API 方式实现设备属性下发

步骤 1 使用 API 接口调试工具 Postman,并填入相关参数

(1)设备属性设置的请求方式为 post,请求 url 为http://openapi.heclouds.com/application?action=SetDeviceProperty&version=1
(2)在Postman 工具的 Body 选项中填入project_id、product_id、device_name 等关键参数:(如下所示)

{
"project_id": "beXsvw",
"product_id": "vhg2bOJfUT",
"device_name": "Controller",
"params": {
"beep": false
}
}


image.png

(3)确定Header参数:
A:authorization(Token生产)
B: Content-Type:application/json


image.png

步骤 4 发起 API 请求,查看结果:

蜂鸣器开:


image.png

蜂鸣器关:


image.png

3.5基于 OneNET 云平台的场景联动

步骤 1 进入 OneNET Studio 场景联动管理功能 ,创建场景联动规则

项目管理--进入项目管理--场景联动--创建场景联动规则

1.添加第一个规则

(1)添加规则:距离探测告警


image.png

(2)编辑距离探测告警的联动规则 :
首先编辑触发条件:
A:执行限制:满足全部条件执行
B:触发方式:“设备数据触发”
C:产品:之前实训任务中创建的产品
D:设备:之前加入到项目里的“Controller”
E:功能:之前物模型中的“间隔距离”属性点
F:数值判断条件:逻辑判断选“<”,数值填入“5”
其次编辑执行动作:
A:动作类型:选择“设备执行”
B:产品:之前实训任务中创建的产品
C:设备:之前加入到项目里的“Controller”
D:功能:之前物模型中的“蜂鸣器”属性点
E:布尔:选择“true - 1”
最后点击“完成”按钮,确认本次编辑内容。


image.png

2.添加第二个规则

(1)添加规则:距离安全取消告警


image.png

(2)编辑距离探测告警的联动规则 :
首先编辑触发条件:
A:执行限制:满足全部条件执行
B:触发方式:“设备数据触发”
C:产品:之前实训任务中创建的产品
D:设备:之前加入到项目里的“Controller”
E:功能:之前物模型中的“间隔距离”属性点
F:数值判断条件:逻辑判断选“>”,数值填入“10”
其次编辑执行动作:
A:动作类型:选择“设备执行”
B:产品:之前实训任务中创建的产品
C:设备:之前加入到项目里的“Controller”
D:功能:之前物模型中的“蜂鸣器”属性点
E:布尔:选择“false - 0”
最后点击“完成”按钮,确认本次编辑内容。

步骤 2 设备上线,观察场景实现效果

近距离遮挡超声波模块的距离探测器探头,稍等一定时间后,蜂鸣器模块鸣叫,移开超声波模块遮挡,约 15 秒钟后,蜂鸣器模块停止鸣叫。

四、总结

在此次项目中,基于设备工程,实现了 OneNET 平台下发属性在终端设备上执行生效且基于 API 方式实现了设备属性下发。通过实验使得对OneNET云平台更为了解,对实验实施的流程思路更清晰。不足为对一些专业知识了解还不够清楚。

你可能感兴趣的:(智慧小区安全防护系统——真实设备接入实验报告)