一、实验背景
随着城市化进程的加速和人们对居住安全需求的不断提高,传统小区安防措施面临着诸多挑战。小区内需要更智能化、精准化的安防手段来保障居民的生命财产安全。
在智慧小区的概念兴起后,对能够实时、准确监测小区内各种潜在威胁的技术需求愈发迫切。距离探测系统可以有效弥补传统监控手段的不足,能够及时发现异常接近的物体或人员,无论是对于入侵行为的早期预警,还是对小区内特定区域的安全管控,都具有重要意义。例如,对小区边界、重要设施周边、停车场等关键区域进行距离监测,以便在危险临近时迅速采取应对措施,减少安全事故的发生几率。同时,先进的距离探测技术也能更好地与其他安防系统集成,形成全方位、立体化的安防体系,适应现代小区复杂多样的安全需求和环境。
二、实验目的
- 搭建硬件,建立软件系统,在接入 OneNET 云平台后实现设备属性上报;
- 借助云平台的“设备调试”来达成设备属性的下发操作;
- 利用云平台的“API 调试”来进行设备属性的下发工作;
- 直接运用 API 途径来实现设备属性的下发任务;
- 学会OneNET 平台数据可视化编辑器的使用;
- 对智慧小区安全防护系统进行可视化展现。
三、实验步骤
任务一
3.1 创建基于 MQTT 协议的产品
3.1.1 通过中移物联网首页的“全部产品服务”菜单进入 “物联网开放平台”功能页
3.1.2 创建产品,展开左侧菜单“产品开发”功能,点击“创建产品”按钮,进行产品添加。
设置属性添加必要的产品信息。选择产品品类(不一定必须一致,符合项目任务背景即可),智能化方式为“设备接入”方式,其中“节点类型”选择“直连设备”,“接入协议”选择“MQTT”,“数据协议”选择“OneJson”,“联网方式”选“Wi-Fi”,“开发方案”选择“自定义方案”。
3.2 根据项目场景创建产品物模型步骤
3.2.1 进入产品开发详情页面
3.2.2 点击页面右侧的“设置物模型”按钮,进入物模型管理页面,按下述步骤添加系统功能点和自定义功能点。
3.2.3 在弹出的添加页面中,选择如下图所示的系统功能点,点击右下角的“添加”按钮完成添加。
3.2.4 点击“添加自定义功能点”
在弹出的添加页面中,添加项目场景所需的功能点信息。多个自定义功能点,需每次新增后,再次点击添加。【标识符字段输入内容要保持内容一致】
3.2.5 检查并保存创建的物模型
3.3 创建基于 MQTT 的设备
3.3.1进入设备管理页面
在刚建立产品列表的操作项中点击“设备管理”,点击左侧菜单的“设备接入管理”,进入下一级菜单“设备管理”,进入该管理页面。
3.3.2 添加一个设备的信息,用于真实设备接入
在添加设备页面中,添加单个设备,所属产品则选择刚建立的产品名称,设备名称输入Controller
3.3.3 再添加一个设备的信息,用于模拟工具接入
再次点击“添加设备”,该设备名称输入Simulator
3.4 设备状态及信息查看
3.4.1 查看设备运行状态
点击左侧菜单“设备管理”,显示设备列表页面,其中“设备状态”列展示了对应设备的运行状态。
3.4.2 查看设备详细信息
3.5 设备分组管理
3.5.1 创建设备分组支持设备分组功能,可以将不同产品下的不同设备组合在一起,即增加一个跨产品的自定义设备组合
3.5.2 点击左侧“设备分组”子菜单进入分组管理页面,点击右侧“添加分组”,在弹出的页面中填写分组名称,点击“新建”完成分组创建。
3.5.3 点击创建好的分组信息列表操作列中的“详情”,进入当前设备分组信息页面。
3.5.4 为分组添加设备初始时没有设备存在于该分组中,列表显示为空白。注意分组信息展示的内容,分组也有自己的key,这个 key 可用于按分组方式接入 OneNET 平台的方式时,计算 Token 的授权凭据
3.5.5 点击页面右侧“添加设备”按钮,弹出的页面展示了左右两栏设备列表。左侧列出了所有产品下的待添加设备,已加入到某个分组的设备则不会显示。选择左侧之前创建好的设备,右侧会自动出现该设备信息,表示已被选择加入到当前分组中。点击下面的“确定”按钮完成将设备加入到分组的操作。
任务二
3.1 模拟设备接入OneNET 平台
3.1.1 获取产品、设备的必要信息
3.1.2 使用Token 计算工具,获得token 信息
res:products/产品ID/devices/设备名称
et:用时间戳工具,计算生成一个未来时间点,得到的一串数字。
key:设备密匙
3.1.3 安装并配置 MQTT.fx 工具模拟设备信息
(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”选项页,继续设置:
(1) 设置 User Name:{产品 ID}(前一个步骤中确定的产品 ID)
(2) 设置 Password:{token} (前一个步骤中计算得到的 token)
点击OK 保存连接配置。
3.1.4 使用 MQTT.fx 工具模拟设备接入
运行 MQTT.fx 工具,点击选择刚刚保存的连接配置列表项,点击“Connect”,工具将很快登陆接入OneNET 平台,此时 Connect 按钮变灰,右侧 Disconnect 按钮处于激活状态。
同时,在工具显示连接后,在云平台刷新界面,查看平台中当前模拟的设备在页面显示为在线状态
3.2 模拟设备接入OneNET 平台实现属性上报
3.2.1 订阅属性上报结果通知消息
点击模拟工具的“Subscribe”选项页表头,在其中的输入框填写属性上报结果通知topic。
$sys/产品 ID/设备名称/thing/property/post/reply
其中产品 ID、设备名称内容,要根据创建的产品和设备信息替换,将替换后完整的 topic,填入模拟工具“Subscribe”选项页中的输入框
点击“Subscribe”按钮向平台订阅该主题,平台返回成功后,工具左侧中的已订阅主题列表会有一条记录,且该主题下当前消息数为 0。
3.2.2 发送属性上报消息
点击“Publish”选项页表头,切换到消息发送页,在输入框中填入属性上报 topic 主题,该 topic为:
$sys/产品 ID/设备名称/thing/property/post
在下空白编辑区中输入
"id": "123",
"version": "1.0",
"params": {
"distance": {
"value": 28.88,//上报的属性值,填入一个合适的数字即可,如 28.88
"time": 1599534283111//属性值上报时间,该参数可删除不填,如果填写,需用时间戳计算工具获得当前时刻的时间戳(单位ms)
}
}
}
检查无误后,点击“Publish”按钮
3.2.3 查看属性上报结果
点击“Subscribe”选项页表头,查看之前订阅的属性上报结果通知消息 topic ,收到的消息如下:
可以看到最新的一条消息,标识了消息的 id 和 code,其中 id 的值为发送时的 id 值,code 值为 200表示该条消息成功送达 OneNET 平台。
3.2.4 OneNET 平台中查看设备的属性最新值
回到 OneNET 平台中设备管理页面,进入“Simulator”设备详情,查看当前设备各个属性的最新数据,确认显示出通过模拟工具上报来的 value 值:
3.3 OneNET 平台下发属性值到模拟工具
3.3.1 订阅接收平台下发属性数据的 topic
设备侧如需要收到平台下发的数据,需要订阅接收平台下发数据的 topic,该 topic 为:
$sys/产品 ID/设备名称/thing/property/set
点击模拟工具的“Subscribe”选项页表头,在其中的输入框填写平台下发属性数据的 topic。点击“Subcribe”按钮完成订阅,如下所示,成功后订阅列表会多一个新的订阅频道,当前消息数为 0。
3.3.2 OneNET 平台下发属性数据
在“设备管理”中选择要下发属性的设备(本任务中选择前面任务中创建的产品和Simulator 设备),点击详情进入设备信息页面,切换功能为“设备调试”
选择“应用模拟器”,勾中属性功能点距离 distance,并填写一个具体数值,点击页面下方的 “属性设置”按钮,完成发送。可以在页面右侧的调试日志中看到下发的日志信息.
3.3.3 模拟设备中查看收到的属性数据值
点击模拟工具的“Subscribe”选项页表头,可以看到已订阅列表中,关于平台下发属性数据的topic, 当前消息数是 1。点击右侧消息列表最下方一条消息,可以看到其中的内容信息,收到的值与前一步骤中下发的值相同。
3.4 仿真设备信息上传
3.4.1 进入设备调试功能
在“设备管理”中选择要下发上报信息的设备(本任务中选择前面任务中创建的产品和 Simulator 设备),点击详情进入设备信息页面,切换功能为“设备调试”。
3.4.2 启动设备模拟器
【如果此时页面提示设备已经登陆,需要先检查,之前模拟工具是否还处于连接状态中,如是则点击模拟工具中的“Disconnect”按钮,并等待一定时间再次刷新页面,直到页面显示可以启动调试。】
点击“启动调试”按钮。启动后,属性上报 Tab 页展示了当前设备可以上报的数据点
3.4.3 输入当前设备的WiFi定位信息上报
向下浏览或通过输入关键字搜索定位到“WiFi定位”属性数据点,勾中前面的选框,并点击右侧下拉展开箭头,在该数据点下的“热点mac信息”输入框中输入某个WiFi热点的mac地址信息,如F4-6A-DD-E9-2C-0F。点击下方的“属性上报”。
观察页面右侧显示的数据上报及平台回应信息,确认数据成功上报。
3.4.4 在设备详情页面查看设备上报的热点位置信息数据
返回设备详情页面,切换“属性”页面,查看设备属性点的数据信息,已经有数据记录。
任务三
3.1真实设备接入 OneNET 平台实现属性上报
3.1.1设备硬件搭建
3.1.1.1所需模块
核心模块:
WIFI模块:
超声波模块:
LoRa蜂鸣器模块:
3.1.1.2硬件搭建
3.1.2网络接入配置参数
热点名称及密码:
工程相对路径\device\src\net_device.c 约 677 行处,将{wifi}、{password}替换为设备所在 Wifi 网络用户名和密码(将{}括号一起替换)产品、设备相关信息:
工程相对路径\onenet\src\onenet.c 约 56 行处,依次修改{设备密钥}、{产品 id}、{设备名称}(将{}括号一起替换)设备数据变量:
工程相对路径\applications\application.c 约 132 行处,根据之前步骤中在 OneNET 平台中所创建的物模型信息,依次增加属性点标识符以及对应需上报的设备数据变量{"beep", &beep_info.beep_status[0], TYPE_BOOL, 1},
{"distance",&Sonic_Info.sonic_distance,TYPE_FLOAT,1},
具体函数代码:
工程相对路径\onenet\src\cmd_callback.c 的 51 行处函数的声明:
命令执行回调函数:
3.1.3编译,连接下载器烧写程序到设备中
3.1.4平台状态
设备在线:
设备上报数据信息:
3.2下发属性在终端设备上执行生效(设备调试)
3.3下发属性在终端设备上执行生效(API 调试)
设置蜂鸣器状态为true
设置蜂鸣器状态为false
3.4 基于 API 方式实现设备属性下发
获取密钥:
res:【userid/用户id】
et: 【填入时间戳】
key:【用户Accesskey】
Header 信息字段:
下发的属性值为true返回值:
更改下发的属性值为 false及返回值:
3.5基于 OneNET 云平台的场景联动
创建场景联动规则:
编辑场景联动【智能安防距离靠近警报】规则:
编辑场景联动【距离安全取消告警】规则:
【距离探测告警】联动日志:
任务四
3.1 可视化实现
3.1.1 物联网云平台可视化组件配置运用
创建可视化项目
从平台全部产品服务的菜单列表中,点击”数据可视化 view“菜单后,点击“立即试用”按钮进入.
3.1.2 进入界面后点击“新建项目”,选择一个 2D 项目模板下的“模版-智慧园区”模板作为基础模版,填写位于右侧的项目名称、项目描述后,点击“确定”完成可视化项目创建。
点击左侧菜单“数据管理”下“数据源模板”子菜单,右侧页面中,点击“创建数据源模板”.
先设定第一项的“数据类 ”型为“物联网平台”,
- 设置数据源的名称:“distance3”,【注意不能是中文】
- userId:填写用户ID;
- accessKey:填写用户的accessKey 【访问权限”页面查看获取】
- 产品ID:任务中创建的产品ID;
- 设备名称:“Controller”,
- 数据流:选择“距离”
-
点击“创建”按钮,完成创建。
3.1.3 回到可视化项目列表展示页面,点击已创建好可视化项目缩略图下方的“编辑”按钮,进入页面编辑状态
选择常规图表中的平滑折线图或使用模版中已有的折线图
双击折线图的控件,右侧出现对应控件的“数据”属性页,点击管理数据源
在弹窗中点击“数据源模板”Tab 页,可以看到一条在之前步骤中已经创建好的记录(名称为 distance3)点击该记录操作列中最右图标:“以此模板创建数据源”。
此时“数据源”下拉列表会出现一条可选的记录,形如“distance3_XXXX”,代表以“distance3” 模板生成的记录,平台自动追加后缀加以命名。选择该条记录作为折线图的数据源。点击最右侧图标:“保存为模板”
回到数据属性页,点击“数据处理结果”,弹出的窗口中展示的数据,这些数据就是设备定时上报的属性点形成的.同时取消勾选“使用数据过滤器”
在数据源选择下选择“distance3_XXXX”
切换回“样式”属性 Tab 页。展开“数据系列”的节点,修改列字段名为“value”,保持与数据源中提供的数值字段“value”相一致,系列名改为“厘米”。
3.1.4 点击右上角“预览”按钮,在全页面状态下查看整个可视化视图的效果。
如需要修改视图,可以点击顶部右侧出现的“继续编辑”按钮,回到可编辑状态继续修改。 完成视图编辑后,点击顶部的“保存”按钮,完成项目保存。
四、总结
物联网平台的可视化页面属于一种用户界面,它能让用户以图形化的手段去查看与分析连接在物联网平台上的数据。其利用一个简便易用的界面来呈现出各种设备和传感器的实时数据,从而使用户能够对他们的物联网设备及系统进行监控和管理。这些页面往往是由图表、地图、控制面板之类的组件所组成,它们能够呈现设备状态、历史数据、实时警报以及其他关键信息。
其操作步骤大概是先创建可视化项目,接着编辑页面,调用预先创建好的数据源,完成编辑后可以先进行预览,确认没有问题后再保存。
可视化项目借助图形化的编辑器,即使用户不具备编程技能,也能够设计并实现复杂的应用逻辑和用户界面,还提供了众多预先定义好的页面模板以及可视化组件,比如柱状图、饼图、地图等,并且支持与多种数据源相连接,涵盖云数据库、第三方 APIs 等,以此来实现数据的实时更新与展示。