项目四-智慧小区安全防护系统实训报告

一、实训背景

智慧小区安全防护系统项目的背景主要源于居民安全需求的提升、信息技术的发展、居民生活品质的追求以及政策支持与引导等多方面因素。通过建设智慧小区安全防护系统,可以有效提升小区的安全防护能力,为居民提供更加安全、便捷、舒适的居住环境。

二、实训目标

1.创建智慧小区安全防护系统产品设备

1.1 实训目的

1、通过中移OneNET物联网开放平台新建产品(MQTT);
2、根据项目场景创建产品物模型;
3、创建基于MQTT 的云平台设备;
4、查看设备运行状态及数据。

1.2 实训步骤

1.2.1 创建基于 MQTT 协议的产品

1.通过中移物联网首页的“全部产品服务”菜单进入 “物联网开放平台”功能页
image.png

2.创建产品

展开左侧菜单“产品开发”功能,点击“创建产品”按钮,进行产品添加。(如已创建了产品,则展示有产品列表,可继续点击按钮创建)
image.png

在弹出的页面中第一步,参考下图信息,选择产品品类(不一定必须一致,符合项目任务背景即可)。第二步选择智能化方式为“设备接入”方式。
image.png

在第三步填写信息中,添加必要的产品信息(标记*号的项)。其中“节点类型”选择“直连设备”,“接入协议”选择“MQTT”,“数据协议”选择“OneJson”,“联网方式”选“Wi-Fi”,“开发方案”选择“自定义方案”。
image.png

最后点击确定,保存各项信息,稍等页面提示产品创建成功。
image.png

1.2.2 根据项目场景创建产品物模型
1.进入产品开发详情页面
2.进入物模型管理页面
3.添加系统功能点
4.添加自定义功能点
5.检查并保存创建的物模型


image.png

添加完成如图所示
image.png

1.2.3创建基于MQTT的设备
1.进入设备管理页面
image.png

2.添加一个设备的信息,用于真实设备接入
image.png

image.png

3.再添加一个设备的信息,用于模拟工具接入
image.png

1.2.4设备状态及信息查看
1.查看设备运行状态
image.png

image.png

2.查看设备详细信息
image.png

image.png

3.查看设备日志
image.png

image.png

2.智慧小区安全防护系统模拟设备接入

2.1 实训目的

1、通过模拟工具调试设备接入
2、通过模拟设备,实现属性上报
3、OneNET 平台下发属性值(命令)到模拟设备

2.1实训步骤

2.1.1模拟设备接入OneNET 平台
1.获取产品、设备的必要信息(产品 ID、设备名称、设备密钥)

2.使用官方 Token 计算工具,获得验证 token 信息
image.png

3.安装并配置 MQTT.fx 工具模拟设备信息(下载并安装“实训资料包\工具包\MQTT 客户端”路径下的“mqttfx-1.7.1-windows-x64.exe”应用程序。安装完毕后,双击桌面建立的MQTT.fx 快捷方式,运行MQTT.fx 客户端:)
点击界面齿轮图标,进入客户端配置页面:
image.png

(1) 设置 Profile Name:可设置一个便于记忆的名字,如“某某产品某某设备接入模拟”
(2) 设置 Broker Address:mqtts.heclouds.com (MQTT 设备接入平台网址)
(3) 设置 Broker 端口:1883 (本次实训任务采用非 TLS 加密的 MQTT 连接)
(4) 设置 Client ID:{设备名称}(前一个步骤中确定的设备名称填入此处)在下方
的第一个选项页“General”中设置。
(5)MQTT 协议版本号:取消默认勾中,确保下方版本选择下拉框可选,并选择为 3.1.1点击 “User Credentials”选项页,继续设置。
(6) 设置 User Name:{产品 ID}(前一个步骤中确定的产品 ID)
(7) 设置 Password:{token} (前一个步骤中计算得到的 token)
(8)点击OK 保存连接配置。

4.使用 MQTT.fx 工具模拟设备接入(运行 MQTT.fx 工具,点击选择刚刚保存的连接配置列表项,点击“Connect”,如果一切正常,工具将很快登陆接入OneNET 平台,此时 Connect 按钮变灰,右侧 Disconnect 按钮处于激活状态。)
image.png

提示:可以点击”Log“ 选项页,查看工具连接服务端的情况,正常连接成功则提示类似如下图红框所示信息。
image.png

image.png

当工具显示正常连接后,查看OneNET 平台中当前模拟的设备在页面显示为在线状态
image.png

5.断开 MQTT.fx 工具模拟,查看 OneNET 平台中设备的状态变化(点击 MQTT 工具窗口中的 “Disconnect”按钮,断开工具的 MQTT 连接,等待一会儿后,刷新OneNET平台中设备列表页面,查看显示的设备状态信息:可以看到其状态都变为离线。)
image.png

2.2.2 模拟设备接入OneNET 平台实现属性上报

1.订阅属性上报结果通知消息
image.png
image.png

2.发送属性上报消息
image.png

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

输入并检查无误后,点击“Publish”按钮。
image.png

3.查看属性上报结果
image.png

4.OneNET 平台中查看设备的属性最新值
image.png

2.2.3 OneNET 平台下发属性值到模拟工具
1.订阅接收平台下发属性数据的 topic
image.png

2.OneNET 平台下发属性数据
image.png
image.png

3.模拟设备中查看收到的属性数据值
image.png

3.基于真实设备接入 OneNET 平台

3.1 实训目的

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

3.1实训步骤

3.2.1 真实设备接入OneNET 平台实现属性上报
1.基于 OneNET 物联网实验箱搭建实训项目终端硬件平台

  1. 终端设备软件系统搭建
    (1) 运行 Keil uVision5 应用程序
    (2) 载入项目三终端设备侧代码工程
    3.修改设备程序的 OneNET 平台网络接入配置参数

    修改如下几处代码,让工程具备正确的网络访问以及 OneNET 平台接入验证和适配本次实训任务所需的物模型数据属性上报、写入能力。具体代码文件在工程中的位置如下图所示:
    image.png

    (1)工程相对路径\device\src\net_device.c 约 677 行处,将{wifi}、{password}替换为设备所在 Wifi 网络用户名和密码(将{}括号一起替换,下同)
    image.png

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

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

    (1)工程相对路径\applications\application.c 约 132 行处,根据之前步骤中在 OneNET 平台中所创建的物模型信息,依次增加属性点标识符以及对应需上报的设备数据变量,如下所示:
    image.png

    (2)工程相对路径\onenet\src\cmd_callback.c 约 51 行处,根据之前步骤中在OneNET 平台 中所创建的物模型信息,增改此处的属性点标识符,对应设置需写入生效的设备数据处理函数名,并同时实现该函数的声明以及具体函数代码,完成写入信息在本地设备上的实际生效逻辑
    image.png

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

    5.编译工程,连接下载器烧写程序到设备中
    6.OneNET 平台侧查看设备状态
    image.png

    7.OneNET 平台侧查看设备上报数据信息
    image.png

    3.2.2基于真实设备接入 OneNET 平台
    1.下发属性在终端设备上执行生效(设备调试)
    (1)设备端软硬件环境准备

    沿用上一个实训任务中搭建的设备硬件系统,以及继续使用 Keil5 开发工具载入的项目三终端设备侧代码工程(该工程代码在完成上一实训任务后,已经能够接入 OneNET 平台并上报属性点数据)。
    将设备上电,等待OneNET 平台 中显示该设备处于上线状态,进入下一实训步骤。
    (2)通过 OneNET平台 的设备调试方式进行属性下发
    打开设备管理列表页面,选择之前步骤中创建的MQTT产品下的“Controller”设备,点击“详情”进入设备详情页面,并点击 “设备调试”选项,进入 OneNET 平台 的设备调试功能页面。本任务中,需要切换调试方式为“应用模拟器”,下方页面展示了可以设置的属性(物模型中可写的属性功能点)。


    image.png
    image.png

    先勾选一个功能点,然后设置下发的数值。(以蜂鸣器为例,这是一个 bool 型功能点,勾选后,可设置值为 true、false 两个之一,本次任务选择 true 作为下发数值)点击页面下方的“属性设置”按钮,右侧调试日志展示了下发的报文,设备端也同时将该数值执行生效。
    image.png

    2.下发属性在终端设备上执行生效(API 调试)
    (1)设备端软硬件环境准备(同上)
    (2)进入“API 调试”功能页面
    点击“运维监控”菜单下“API 调试”子菜单,并展开工作页面左列显示的大类调试类别中的“物模型使用”下拉列表,选择“设置设备属性”API项,如下图所示:
    image.png

    在中间页面展示的必填参数中,填写页面中输入必要的参数,如下图所示,本次任务中,填入真实接入的设备“Controller”所对应的相关信息:
    image.png

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

    3.基于API 方式实现设备属性下发
    (1)准备 API 接口调试工具 Postman
    (2)查阅接口文档,了解有关属性下发的 API 调用方式
    点击前面任务中API“设置设备属性”参数填写页面左上角的“查看API文档”链接,查看右侧显示的API文档,了解“设置设备属性”这个API的调用方式及对应的请求、响应相关参数信息。
    image.png

    (3)填入必要参数
    ①.根据API文档的信息,确定设备属性设置的请求方式、请求 url ,填入到 Postman 工具url填写栏,将 Postman工具url填写栏前面的下拉选项改为“POST”。
    ②.确定请求 body 内容及格式,以蜂鸣器属性值(beep)下发为例, product_id为产品ID,device_name为设备名称,params 为需要下发的结构化数据,同时包含了要下发的“beep”属性点的值,示例中为 true 数据。以键值对形式将上述需要设置的具体参数组装为 body 报文内容,最终填入 Postman 工具的 Body 选项页内。
    {
    "product_id": "84qVvid4b5",
    "device_name": "Controller",

    "params":
    {
    "beep": true
    }

    ③.确定请求的 Header 内容,这里需要一个向 OneNET 平台鉴权所需的必要信息字段,就
    是“authorization ”信息,下面是该信息的一个生成示例,具体生成方式可参考其他实训任务
    环节中的操作步骤指导,应用侧请求鉴权,res 参数须以“userid/ 用户 ID”的格式填入,版本
    号须为“2022-05-01”,字段具体内容根据实际情况进行填入。
    (4)发起 API 请求,查看结果

    发起请求前确认当前真实设备已在线,以蜂鸣器属性值(beep)下发为例,通过 postman 发起请求, 通过平台鉴权后,该请求会下发到对应的真实设备,打开蜂鸣器开关,蜂鸣器会按照程序里预置的逻辑进行鸣响。
    image.png

    (5)更改 api 报文,对同样属性点,设置新的属性值,并下发
    以蜂鸣器属性值(beep)下发为例,更改下发的属性值为 false,报文如下:
    {
    "product_id": "***********",
    "device_name": "Controller",
    "params": {
    "beep": false
    }
    }
    再次通过 postman 发起请求,通过平台鉴权后,该请求会下发到对应的真实设备,蜂鸣器关闭。
    image.png

    4.基于OneNET 云平台的场景联动
    (1)进入 OneNET 平台 场景联动管理功能
    检查实验箱目前搭建的硬件系统是“核心模块”以及“Wifi 模块”、“蜂鸣器模块”、 “超声波模块”等模块,烧写程序上电运行。
    确保用户已登录 OneNET 云平台,进入 OneNET 平台 控制台页面,点击“数据流转”菜单下“场景联动”子菜单,进入场景联动管理功能页面。
    (2)创建场景联动规则
    场景联动是一种开发自动化业务逻辑的编程方式,目前支持设备、时间、第三方数据源等多维度的条件触发,这些触发条件以及执行动作组合起来,形成一套规则。点击页面右上角“新建场景”,填写场景名称,这里我们需要一个“距离太近告警”的场景,点击添加进入下一步。
    image.png

    (3)编辑距离探测告警的联动规则
    如果是初次创建,这里直接展示的触发条件以及执行动作编辑页面。
    首先选择触发条件为:满足全部条件执行,其次在“条件一”内容中,依次选择:
    ①.触发方式:“设备触发”
    ②.选择产品分组:“选择产品”
    ③.选择具体产品:选择之前实训任务中创建的MQTT产品名称
    ④.选择设备: 选择该产品下的Controller设备
    ⑤.选择信息源类型:“设备功能点”
    ⑥.选择功能:选择该产品下的“距离”数据点
    ⑦.修改关系运算符:“<”
    ⑧.数值:填入“5”(双引号不要填)
    image.png

    其次点击增加“执行动作”,在“动作一”内容中,依次选择:
    ①.选择动作类型:“设备执行”
    ②.选择产品分组:“选择产品”
    ③.选择具体产品:选择之前实训任务中创建的MQTT产品名称
    ④.选择设备: 选择该产品下的Controller设备
    ⑤.选择功能:选择该产品下的“蜂鸣器”
    ⑥.数据值选择“1”。
    image.png

    点击“确定”创建好改场景信息,并修改其启用状态为“开”。
    image.png

    (4)再新增一个联动规则,实现距离安全时取消告警
    参考步骤 3 描述,再新增一个联动规则,名称可以为“距离安全取消告警”。该规则的具体条件及动作与步骤3大部分相同,除了其中的条件部分,距离逻辑判断修改为“>”,数值为“20”,执行动作部分,蜂鸣器的数值改为“0”。最后点击“确认”按钮,并同样将该条场景规则的启用状态修改为“开”,完成本次编辑内容。
    image.png

    (5)设备上线,观察场景实现效果
    image.png

4.安全防护系统的可视化实现

4.1 实训目的

1、学会OneNET 平台数据可视化编辑器的使用
2、能够进行可视化数据源的配置
3、对智慧小区安全防护系统进行可视化展现

4.2实训步骤

4.2.1物联网云平台可视化组件配置运用
1.创建一个可视化项目

点击”数据可视化 view“菜单后,点击“立即试用”按钮进入。新增一个可视化项目,在弹出的模板选择页面,选择一个 2D 项目模板下的“空白模板”作为本次项目可视化的基础模板,填写位于右侧的项目名称、项目描述后,点击“确定”完成可视化项目创建。
image.png

2.增加数据源模板
image.png

(1) 名称,设置数据源的名称,注意不能是中文,该名称将作为关键字与数据一起传递到可视化组件页面中解析。比如下图所示,设为“distance”。
(2) userId:填写用户ID;
(3) accessKey:填写用户的accessKey;该项与上一项均需进入用户中心、“访问权限”页面查看获取。
(4) 产品ID:为之前任务中创建的产品ID;
(5) 设备名称:点选输入框,等待平台将上述已经填写的3项内容作为条件匹配查找设备,并将符合的设备以下拉的方式展示,以本次任务为例,显示了之前实训环节的设备“Controller”,选中该设备。
(6) 数据流:选择一个设备中可以用于读取的属性功能名作为数据产生点。本例中选择“距离”。点击“创建”按钮,耐心等待平台返回创建结果。


image.png

3.选择一个模板自定义页面和组件
image.png

4.设置图表的数据来源
image.png

image.png

image.png

注:设置不使用数据过滤器

5.点击“数据处理结果”按钮,查看弹出的窗口中展示的数据,这些数据就是设备定时上报的属性点形成的(图例中的 value对应的值,就是上报的间隔距离值)。关闭弹出窗口继续下一步。
image.png

6.设置图表的横轴列展示字段名与数据提供字段相匹配
现在切换回“样式”属性 Tab 页。展开“数据系列”的节点,修改列字段名为“value”,保持与数据源中提供的数值字段“value”相一致。
7.预览可视化视图并回到编辑状态迭代优化视图效果
编辑视图界面,可以看到折线图已显示出实际的折线数据图表,可以点击右上角“预览”按钮,在全页面状态下查看整个可视化视图的效果。
8.保存视图,完成可视化项目
image.png

三、实训总结

1.通过中移OneNET物联网开放平台 新建产品(MQTT);
2.根据项目场景创建产品物模型;
3创建基于MQTT 的云平台设备;
4.查看设备运行状态及数据。
5.通过模拟工具调试设备接入;
6.通过模拟设备,实现属性上报;
7.OneNET 平台下发属性值(命令)到模拟设备;
8.基于设备工程,实现 OneNET 平台下发属性在终端设备上执行生效;
9.基于API 方式实现设备属性下发;
10.学会OneNET 平台数据可视化编辑器的使用;
11.能够进行可视化数据源的配置;
12.对智慧小区安全防护系统进行可视化展现。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容