项目四:智慧小区安全防护系统

一、实验背景

1. 随着我国经济建设的不断发展,老百姓的生活水平持续提高,对居住环境(社区、小区)的安全系数、舒适度和便利性需求也越来越高。

2.伴随着“数字城市建设、智能化住宅、互联网住宅楼”等概念的普及,智慧小区的建设成为满足居民需求的重要途径。

二、实验目的

1. 基于真实设备接入 OneNET 平台并实现设备属性上报。
2. 通过 OneNET 平台的“设备调试”实现设备属性下发。
3. 通过 OneNET 平台的“API 调试”实现设备属性下发。
4. 直接基于 API 方式实现设备属性下发。

三、实验步骤

模拟设备接入平台

1. 创建新产品,添加“Simulator”和“Controller”两个设备。
image.png
2. 设置物模型参数,添加功能等
image.png
3. 配置 MQTT.fx 软件,连接设备,使其在线。
1.先生成tiken
c3657ec948d715fc416ce08050d0e374.png
2.并配置 MQTT.fx 工具模拟设备信息

点击圈红的,进入客户端配置页面:

image.png

(1) 设置 Profile Name
(2) 设置 Broker Address
(3) 设置 Broker 端口:1883
(4) 设置 Client ID:设备名称
(5) MQTT 协议版本号:取消默认勾


image.png

点击 “User Credentials”选项页,继续设置:
(6) 设置 User Name:产品 ID
(7) 设置 Password:token

image.png

点击OK 保存连接配置,点"Connect"进行连接,使设备在线;

07e6ef484cdd060bb06ae87dab106f24.png
3. 构建 Topic 类,进行模拟设备接入实验,使参数上报到云平台。

填写$sys/产品 ID/设备名称/thing/property/post/reply在指定的栏

image.png

点击“Subscribe”按钮向平台订阅该主题,平台返回成功后,工具左侧中的已订阅主题列表会有一条记录。

869108fec091610cbead6792532e794b.png

点击“Publish”选项页表头,切换到消息发送页,topic:$sys/产品 ID/设备名称/thing/property/post


image.png

在下空白编辑区中,输入如下内容:

"id": "1",
"version": "1.0",
 "params": {
     "distance": {
     "value": 33.3,
     "time": 1599534283111
             }
      }
}
4. 点击“设备调试”,属性设置,进行下发命令;在 MQTT.fx\Subscribe 中查看平台下发的参数。

在“设备管理”中选择要下发属性的设备,点击详情进入设备信息页面,切换功能为“设备调试”在下方显示页面中选择“应用模拟器”,勾中属性功能点距离 distance,并填写一个具体数值,点击页面下方的 “属性设置”按钮,完成发送。可以在页面右侧的调试日志中看到下发的日志信息。点击模拟工具的“Subscribe”选项页表头,可以看到已订阅列表中,关于平台下发属性数据的topic, 当前消息数是 1。


bf6873ea877027efd51d4cd1689f222d.png
98ecd3cd79703396704a693ca261796a.png

四、实物设备接入 OneNET 平台实现属性上报

1. 基于 OneNET 物联网实验箱搭建实训项目终端硬件平台,完成设备搭建。
image.png
2. 修改工程程序,编译工程,烧写程序到设备中。
修改设备程序的 OneNET 平台网络接入配置参数
  1. 工程相对路径\device\src\net_device.c 约 677 行处,将{wifi}、{password}替换为设备所在 Wifi 网络用户名和密码;
image.png
  1. 工程相对路径\onenet\src\onenet.c 约 56 行处,依次修改{设备密钥}、{产品 id}、{设备名称}为之前步骤中在 OneNET 平台 中所创建的产品、设备相关信息,本例中设备名称就是之前步骤中创建的“Controller”设备,并对应填入其设备密钥;
image.png
修改设备程序的上报属性值映射关系以及 OneNET 平台下发属性生效命令处理代码
  1. 工程相对路径\applications\application.c 约 132 行处,根据之前步骤中在 OneNET 平台中所创建的物模型信息,依次增加属性点标识符以及对应需上报的设备数据变量,如下所示;
    {"beep", &beep_info.beep_status[0], TYPE_BOOL, 1}, {"distance",&Sonic_Info.sonic_distance,TYPE_FLOAT,1},
image.png
  1. 工程相对路径\onenet\src\cmd_callback.c 约 51 行处,根据之前步骤中在OneNET 平台 中所创建的物模型信息,增改此处的属性点标识符,对应设置需写入生效的设备数据处理函数名,并同时实现该函数的声明以及具体函数代码,完成写入信息在本地设备上的实际生效逻辑;
image.png

以蜂鸣器写入为例,对应修改该变量定义段内某行形如“{“beep”,CALLBACK_Beep},”的信息,逗号前面的字符串标识符为"beep",逗号后的处理方法名为 CALLBACK_Beep。同时在该文件头部,增加 void CALLBACK_Beep(int value);这样的方法声明:

image.png

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

image.png
3. 在 OneNET 平台侧查看设备状态和上报数据信息。
image.png

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

1. 进入 OneNET 选择产品和设备进入设备调试功能页面,选择应用模拟器可以对设备进行属性配置。
设备调试
2. 勾选功能点,设置下发数值,点击“属性设置”按钮,设备端执行生效。
bf6873ea877027efd51d4cd1689f222d.png

其中的params内容填写要设置的属性标识符以及对应设置值,本次任务中设置蜂鸣器状态为true,文本示例参考如下:

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

1. 点击“运维监控”菜单下“API 调试”子菜单,并展开工作页面左列显示的大类调试类别中的“物模型使用”下拉列表,选择“设置设备属性”API项
image.png
2.在中间页面展示的必填参数中,填入设备“Controller”所对应的相关信息

点击“执行”按钮,设备端执行下发的属性值。

dafddaa3b150a6740d0c3a01c3d3813a.png

其中的params内容填写要设置的属性标识符以及对应设置值,设置蜂鸣器状态为true

{
"beep": true
}

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

1、根据API文档的信息,确定设备属性设置的请求方式、请求 url

将 Postman工具url填写栏前面的下拉选项为“POST”。确定请求的 Header 内容,这里需要一个向 OneNET 平台鉴权所需的必要信息字段,就是“authorization ”信息,将之前token计算器生成的信息填写“authorization ”中

image.png
2、确定请求 body 内容及格式
image.png

代码如下

{
"product_id": "84qVvid4b5",
"device_name": "Controller",
"params":
     {
     "beep": true
     }
}

更改下发的属性值为 false,报文如下

{
"product_id": "84qVvid4b5",
"device_name": "Controller",
"params":
     {
     "beep": false
     }
}

五、基于 OneNET 云平台的场景联动

1. 点击“数据流转”菜单下“场景联动”子菜单,进入场景联动管理功能页面。点击页面右上角“新建场景”,填写场景名称,这里我们需要一个“距离太近告警”的场景,点击添加进入下一步
image.png
2. 新增联动规则:名称为“距离安全取消告警”

添加如图内容


image.png
image.png

图一为关,图二为开。

并同样将该条场景规则的启用状态修改为“开”

image.png
3. 设备上线,观察场景实现效果。

近距离遮挡超声波模块的距离探测器探头,一定时间后,蜂鸣器模块鸣叫,不遮挡, 一定时间后,蜂鸣器模块停止鸣叫。

六、物联网云平台可视化组件配置运用

1.创建一个可视化项目:需要在OneNET平台上创建一个可视化项目。
image.png
image.png
2.增加数据源模板:
点击左侧菜单“数据管理”下的“数据源模板”子菜单,填写带所有项,包括名称、userId、accessKey、产品ID、设备名称和数据流等。点击“创建”按钮。
image.png
3.编辑可视化页面及各个组件:
image.png
image.png
4.设置图表的数据来源:
image.png
点击“数据源模板”Tab页,展示目前所有的数据源模板,可以看到一条在之前步骤中已经创建好的记录(名称为distance),点击该记录操作列中最右图标:“以此模板创建数据源”。关闭窗口回到视图编辑页面。
image.png
此时“数据源选择”下拉列表会出现一条可选的记录,如“distance_XXXX”,代表以“distance” 模板生成的记录,平台自动追加后缀加以命名。选择该条记录作为折线图的数据源,不使用数据过滤器点击数据处理结果
image.png
image.png
6.设置图表的横轴列展示字段名与数据提供字段相匹配:
image.png
7.预览可视化视图并回到编辑状态迭代优化视图效果:
image.png
8.保存视图,完成可视化项目:
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容