2024-03-11

一、实验背景

1. 智慧小区工作需求:

小区的管理复杂,安防压力大,需要借助外力技防手段实现高效、便捷、智能的管理目标。

2. 智慧小区工作现状:

不同小区环境各异,监管盲点多,安全隐患大,内部结构松散,单靠人防难以实现全面有效的防范和管理,利用智慧小区安全防护系统是有效措施。

3. 可视化管理形象直观,有利于提高工作效率。

二、实验目的

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

三、实验步骤

模拟设备接入平台

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

点击界面齿轮图标,进入客户端配置页面:

配置 MQTT.fxg

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


配置 MQTT.fx

点击 “User Credentials”选项页,继续设置:
(6) 设置 User Name:{产品 ID}(前一个步骤中确定的产品 ID)
(7) 设置 Password:{token} (前一个步骤中计算得到的 token)

配置 MQTT.fx

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

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

$sys/产品 ID/设备名称/thing/property/post/reply
其中产品 ID、设备名称内容,根据实际创建的产品和设备信息替换,将替换后完整的 topic,填入模拟工具“Subscribe”选项页中的输入框,如下图所示:

配置 MQTT.fx

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

配置 MQTT.fx

点击“Publish”选项页表头,切换到消息发送页,在输入框中填入属性上报 topic 主题,该 topic为:$sys/产品 ID/设备名称/thing/property/post

配置 MQTT.fx

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

"id": "123",
"version": "1.0",
 "params": {
     "distance": {
     "value": 28.88,
     "time": 1599534283111//当前时刻的时间戳,可不写
             }
      }
}
4. 点击“设备调试”,属性设置,进行下发命令;在 MQTT.fx\Subscribe 中查看平台下发的参数。

在“设备管理”中选择要下发属性的设备(本任务中选择前面任务中创建的产品和Simulator 设备),点击详情进入设备信息页面,切换功能为“设备调试”在下方显示页面中选择“应用模拟器”,勾中属性功能点距离 distance,并填写一个具体数值,点击页面下方的 “属性设置”按钮,完成发送。可以在页面右侧的调试日志中看到下发的日志信息。

配置参数.png

点击模拟工具的“Subscribe”选项页表头,可以看到已订阅列表中,关于平台下发属性数据的topic, 当前消息数是 1。点击右侧消息列表最下方一条消息,可以看到其中的内容信息,收到的值与前一步骤中下发的值相同。

配置 MQTT.fx

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

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

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

代码修改

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

代码修改
3. 在 OneNET 平台侧查看设备状态和上报数据信息。
设备属性

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

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

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

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

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

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

API调试

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

{
"beep": true
}

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

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

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

Postman配置
2、确定请求 body 内容及格式

以蜂鸣器属性值(beep)下发为例, product_id为产品ID,device_name为设备名称,params 为需要下发的结构化数据,同时包含了要下发的“beep”属性点的值,示例中为 true 数据。
通过平台鉴权后,该请求会下发到对应的真实设备,打开蜂鸣器开关

Postman配置

代码如下

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

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

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

再次通过 postman 发起请求,通过平台鉴权后,该请求会下发到对应的真实设备,蜂鸣器关闭

Postman配置

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

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

1、触发方式:“设备触发”
2、选择产品分组:“选择产品”
3、选择具体产品:选择之前实训任务中创建的MQTT产品名称
4、选择设备: 选择该产品下的Controller设备
5、选择信息源类型:“设备功能点”
6、选择功能:选择该产品下的“距离”数据点
基于 OneNET 的智慧小区安全防护系统 第 11 页
7、修改关系运算符:“<”
8、数值:填入“5”(双引号不要填)。
其次点击增加“执行动作”,在“动作一”内容中,依次选择:
1、选择动作类型:“设备执行”
2、选择产品分组:“选择产品”
3、选择具体产品:选择之前实训任务中创建的MQTT产品名称
4、选择设备: 选择该产品下的Controller设备
5、选择功能:选择该产品下的“蜂鸣器”
6、数据值选择“1”。


添加场景

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

再新增一个联动规则,名称可以为“距离安全取消告警”。该规则的具体条件及动
作与步骤3大部分相同,除了其中的条件部分,距离逻辑判断修改为“>”,数值为“20”,执行动作部分,蜂鸣器的数值改为“0”。最后点击“确认”按钮

添加场景

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

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

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

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

1.创建一个可视化项目:需要在OneNET平台上创建一个可视化项目。
从平台全部产品服务的菜单列表中,点击”数据可视化 view“菜单后,点击“立即试用”按钮进入。在弹出的模板选择页面中,选择一个2D项目模板下的“空白模板”作为本次项目可视化的基础模板,并填写项目名称和描述。
新建项目

注:也可以选择具有一定页面效果的模板比如“模板-智慧园区“,后续根据需要删减控件。

选择模板
2.增加数据源模板:
点击左侧菜单“数据管理”下的“数据源模板”子菜单,在右侧页面中点击“创建数据源模板”,为界面展示距离的变化图表建立一个数据来源模板。在展开的配置项中,先设定第一项的“数据类型”为“物联网平台”,然后依次填写带“*”的所有项,包括名称、userId、accessKey、产品ID、设备名称和数据流等。点击“创建”按钮,耐心等待平台返回创建结果。
创建数据源模板
创建数据源模板
3.编辑可视化页面及各个组件:
回到可视化项目列表展示页面,点击已创建好可视化项目缩略图下方的“编辑”按钮,进入页面编辑状态。如果是采用已有模板,则需将页面多余的控件加以删除,保留背景等基础效果;如果是空白模板,则直接添加本次实训所需的控件,如常规图表中的平滑折线图。添加后,效果如图所示。
进入编辑
新建图表
4.设置图表的数据来源:
保持折线图处于选择状态(可再次双击折线图,右侧出现属性修改页),现在切换到“数据”属性Tab页。选择“数据绑定方式”为“数据源”,此时“数据源选择”下拉列表为“请选择”状态,点击“管理数据源”按钮,弹出“数据源管理”页面。
数据来源
点击“数据源模板”Tab页,展示目前所有的数据源模板,可以看到一条在之前步骤中已经创建好的记录(名称为distance),点击该记录操作列中最右图标:“以此模板创建数据源”。关闭窗口回到视图编辑页面。
数据来源
此时“数据源选择”下拉列表会出现一条可选的记录,如“distance_XXXX”,代表以“distance” 模板生成的记录,平台自动追加后缀加以命名。选择该条记录作为折线图的数据源。
数据来源
5.设置不使用数据过滤器:
点击“使用数据过滤器”前面的勾选框,去掉勾选,即不使用数据过滤器。点击“数据处理结果”按钮,查看弹出的窗口中展示的数据,这些数据就是设备定时上报的属性点形成的(图例中的value对应的值,就是上报的间隔距离值)。关闭弹出窗口继续下一步。
数据处理结果
6.设置图表的横轴列展示字段名与数据提供字段相匹配:
现在切换回“样式”属性Tab页。展开“数据系列”的节点,修改列字段名为“value”,保持与数据源中提供的数值字段“value”相一致。
数据系列
7.预览可视化视图并回到编辑状态迭代优化视图效果:
编辑视图界面,可以看到折线图已显示出实际的折线数据图表,可以点击右上角“预览”按钮,在全页面状态下查看整个可视化视图的效果。如需要修改视图,可以点击顶部右侧出现的“继续编辑”按钮,回到可编辑状态继续修改。
效果预览
8.保存视图,完成可视化项目:
完成视图编辑后,点击顶部的“保存”按钮(编辑状态和预览状态均可),完成项目保存。
效果图
效果图

四、总结

  1. 设备接入与属性交互:通过创建产品与设备、配置MQTT客户端和构建Topic类,实现了模拟设备接入OneNET平台,并完成了设备属性的上报与平台下发属性的调试。
  2. 平台功能应用:利用OneNET平台的“设备调试”功能实现了属性下发,并通过MQTT客户端接收了平台下发的数据。同时,使用“API调试”功能通过填写关键参数,实现了基于API的设备属性下发。
  3. 场景联动与实时监控:建立了基于距离阈值的场景联动规则,当距离小于设定阈值时触发蜂鸣器告警,展示了OneNET平台设备数据联动的应用。并通过OneNET可视化组件创建项目,绑定了数据源,实现了设备上报距离数据的实时展示。
  4. 系统集成与实训成果:完成了智慧小区安全防护系统的综合实训,整合了设备接入、属性上报、平台下发、API控制、场景联动和可视化展示等功能,提升了小区的安全管理水平和智能化程度。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 一、实验背景 1. 智慧小区工作需求: 小区管理复杂,道路多,安防压力大而且人数较少,需要借助技术手段实现高效、便...
    d_403d阅读 30评论 0 0
  • 项目三智能园区节能减排监控系统实训报告 3.1 项目背景 智慧城市建设需求:随着智慧城市建设的推进,智慧能源作为其...
    85577210b55e阅读 57评论 1 0
  • 一.项目背景 1.社会发展和科技进步的需求: 随着科技的不断发展和人们生活水平的提高,对居住环境的安全性和智能化要...
    ec39e96e6c1a阅读 13评论 0 0
  • 一.项目背景 1.智慧小区安全防护系统的项目背景主要围绕提升居民的安全感和生活质量,通过集成现代科技手段如物联网、...
    金兆阅读 24评论 0 0
  • 1.项目目标 1、通过中移OneNET物联网开放平台新建产品(MQTT);根据项目场景创建产品物模型;创建基于MQ...
    a463814dea54阅读 33评论 0 3