智慧小区安全防护
1.实验背景
随着人类社会的不断发展的同时,环境与人口等问题日益凸显。为解决城市发展难题,实现城市的可持续发展,建设智慧城市已成为当今城市发展不可逆转的历史潮流。智慧城市一经出现就成为人们关注的焦点。在智慧城市中,环境保护的问题尤为重要。而目前尚无一套完善的智慧城市环境监控系统。
2.实验目的
1、基于真实设备,搭建软硬件环境,接入 OneNET 平台并实现设备属性上报;
2、通过 OneNET 平台的“设备调试”实现设备属性下发;
3、通过 OneNET 平台的“API 调试”实现设备属性下发;
4、直接基于 API 方式实现设备属性下发;
3.实验步骤
真实设备接入 OneNET 平台实现属性上报
修改设备程序的 OneNET 平台网络接入配置参数
net_device.c 约 677 行处,将{wifi}、{password}替换为设备所在 Wifi 网络用户名和密码(将{}括号一起替换)
\src\onenet.c 约 56 行处,依次修改{设备密钥}、{产品 id}、{设备名称}为之前步骤中在 OneNET Studio 中所创建的产品、设备相关信息,本例中设备名称就是前步骤中创建的“Controller”设备,并对应填入其设备密钥
\application.c 约 132 行处,根据之前步骤中在 OneNET Studio中所创建的物模型信息,依次增加属性点标识符以及对应需上报的设备数据变量
\cmd_callback.c 约 51 行处,根据之前步骤中在 OneNET Studio中所创建的物模型信息,增改此处的属性点标识符,对应设置需写入生效的设备数据处理函数名,并同时实现该函数的声明以及具体函数代码,完成写入信息在本地设备上的实际生效逻辑
以蜂鸣器写入为例,对应修改该变量定义段内某行形如“{“beep”,CALLBACK_Beep},”的信息,逗号前面的字符串标识符为"beep",逗号后的处理方名为 CALLBACK_Beep。同时在该文件头部,增加 void CALLBACK_Beep(int value);这样的方法声明
编译工程,连接下载器烧写程序到设备中
下载器的连接以及烧写过程略。下载成功后设备重新加电,等待一定时间,进入下一步
OneNET 平台侧查看设备状态
登录 OneNET Studio,查看“Controller”设备运行状态为在线
OneNET 平台侧查看设备上报数据信息
下发属性在终端设备上执行生效(设备调试)
通过 OneNETStudio 的设备调试方式进行属性下发点击运维监控菜单下“设备调试”子菜单,进入 OneNET Studio 的设备调试功能页面。选择需要调试的产品、设备信息。本任务中,需要选择之前步骤中创建的产品,及归属其下的“Controller”设备。
下发属性在终端设备上执行生效(API 调试)
进入“API 调试”功能页面点击“运维监控”菜单下“API 调试”子菜单,并将工作页面左列显示的两大类调试类别中“应用开发类”下拉列表展开在中间一列展示的必填参数中,填写页面中输入必要的参数,如下图所示,本次任务中,填入真实接入的设备“Controller”所对应的相关信息,同时其中的 params 内容填写要设置的属性标识符以及对应设置值,本次任务中设置蜂鸣器状态为 true
基于 API 方式实现设备属性下发
发起请求前确认当前真实设备已在线,以蜂鸣器属性值(beep)下发为例,通过 postman 发起请求,通过平台鉴权后,该请求会下发到对应的真实设备,打开蜂鸣器开关,蜂鸣器会按照程序里预置的逻辑进行鸣响。
基于 OneNET 云平台的场景联动
进入 OneNET Studio 场景联动管理功能
创建场景联动规则
编辑场景联动【距离安全取消告警】规则
4.实验总结
通过此次项目的实施,能够实现对距离和蜂鸣器的实时检测并控制蜂鸣器自动开关。虽然在这过程中无法通过属性下发出有效的数据,但是通过老师的帮助,可以在实况中看到数据的改变
在创建产品时,要注意距离float数据类型,步长应当选择小数不能为整数,否则没有有效的距离出现
代码与设备中的物理模型要一致,否则无有效数据
通过此次项目,对哦呢那天平台更熟悉,也对创建产品等注意事项更细心