王丽萍,刘 磊,曾 聪,肖思维
(1.郑州轻工业大学 计算机与通信工程学院,河南 郑州 450002;2.中国轻工业长沙工程有限公司,湖南 长沙 410114)
随着窄带物联网(NB-IoT)应用的蓬勃发展,其逐渐成为了5G时代物联网的核心技术。利用NB-IoT技术将感知层获取到的状态信息接入云平台,推动着人与物之间和物与物之间的相互连接和通信[1-2]。本系统构建了一个基于NBIoT技术且可接入云平台的智慧城市窨井盖安全监测系统。传统井盖无法分辨出每个井盖所处的具体位置,与传统井盖不同的是,本系统每个井盖都有自己单独的ID,能够便捷地确定井盖的实时位置。系统利用NB-IoT模组、采集控制器信息服务器和相关应用程序,通过传感器感知井盖的振动移位信息以及井下的甲烷浓度情况。通过感知节点,将收集到的数据发送到云平台,工作人员可以随时随地通过云平台查询井盖的状态,从而做出判断。
图1所示为智慧城市窨井盖系统接入云平台的网络架构设计思路。系统可分为4层:
图1 系统设计思路
(1)井盖状态感知层由主控芯片、传感器组成;
(2)通信层基于窄带物联网技术,信息经由通信模块和数据中心上传至基站和服务器;
(3)应用服务层通过物联网云平台将采集的数据进行分析、处理和存储;
(4)用户层通过电脑端或手机端显示相应的状态数据。
窨井盖状态感知终端节点包括主控制模块、通信模块以及感知模块。如图2所示,采用STM32单片机作为整个硬件部分的主控制器。STM32主要用于完成与传感器模块和通信模块之间的数据接收和传输。传感器模块选用两类传感器,分别是倾斜角度传感器和可燃气体(甲烷)传感器。通信模块用于感知模块信息的无线上传与定位。
图2 窨井盖状态感知节点硬件组成
1.2.1 主控制模块电路设计
感知终端节点主控制系统需要一个低功耗、低成本、较高性能的芯片作为主控制器[3]。结合本设计场景,最终采用了以ARM Cortex-M为内核的STM32系列中的STM32F103C8T6芯片作为本系统的微控制器。该芯片程序储存器容量为64 KB,工作电压为2~3.6 V,可在-40~85 ℃的环境下工作;具有低耗电、低电压的特点,对工作环境要求低,适用于智慧城市的复杂道路环境。
1.2.2 倾斜角度传感器模块的设计
倾斜角度传感器模块采用的是GY-25和MPU6050,该模块尺寸小、性价比高,是串口输出格式;同时测量范围大,能适应复杂的环境。
该模块命令字节有5种由外部控制器发送至模块(十六进制)的模式,分别是:查询模式、自动模式、输出模式、校正模式、结束模式。在模块保持水平时能校正;在倾斜时,能够返回其角度值,还可以清零[4]。
1.2.3 可燃气体传感器模块的设计
由于井下可燃气体主成分是甲烷,本系统采用的是甲烷传感器MQ-4。传感器的电导率随周围环境中可燃气体浓度的变化而变化,浓度越高电压越高,具有信号输出指示,TTL输出有效信号为低电平[5]。该传感器需要搭配ADC0809芯片使用,它的内部具有转换起停控制端、一个5 V供电电源和8位分辨率模数转换器。
为了能够及时获取井盖的相关信息,便于管理者及时到达井盖的所处位置进行排障处理,需要对其进行追踪。系统选择SIM7000C模块,该模块自带电源,基于高通MDM9206平台,支持NB-IoT,功耗超低,采用小型化封装。支持自弹式Micro SIM卡座及SIM卡,无需增加转换电路,模块自带网络状态指示灯。SIM7000C的配套天线是有源GPS天线,使用USB接口,用于测试AT和获取定位信息。
选择由中国移动打造的PaaS物联网开放平台OneNET作为本系统的云平台。OneNET 平台能快速完成产品的注册,实现设备接入;开发模板丰富,案例充足;支持多种协议,能够接入各类物联网设备,满足各种跨平台服务需求[6-8]。
获取数据、存储获取的数据、处理和传输数据是节点终端需要实现的主要软件需求[9]。具体软件要求如下:
(1)数据收集:需要收集井盖倾斜程度以及井下的甲烷浓度信息。
(2)数据存储:先将数据存储一段时间,简单分析处理后直接上传到云平台,减少传输的数据量,有利于提高数据传输的速度。
(3)数据处理:根据不同传感器传输的不同数据,分别进行处理。
(4)数据传输:节点终端中主控芯片STM32F103C8T6通过串口对通信模块进行配置,当它连接到网络时,按照EDP协议连接到OneNET云平台服务器。
(5)数据显示:每一个终端节点也就是井盖的相关信息都会在云平台和手机APP中显示,包括每一个井盖历史状态数据和实时数据信息。
将模组接入OneNET平台时,需要完成如下平台侧和模组侧的对接配置工作:
(1)平台侧流程—产品创建与设备注册。首先创建EDP(Embedded,嵌入式DisplayPort)产品,然后创建EDP设备,最后进行设备管理。
(2)模组侧流程—初始化模组及实体配置模组侧设备。首先初始化模组驻网,创建实体设备,进行对象和资源设置,之后请求登录,从而上报结果,实现平台数据收发。
平台利用数据流与数据点来组织设备上行数据,设备须以Key-Value的格式上传数据;用户可以将相关性较高的数据归类为一个数据流,并自定义其数据范围,数据流中的数据在存储的同时可以“流向”后续服务[10-11]。平台会默认以时序存储数据流中的数据,从而可以查询不同时间的数据点的值。用户通过采用MIPLNOTIFY指令进行数据上报。数据上报流程如图3所示。
图3 数据上报流程
数据下发流程:平台下发操作指令,模组接收到指令后发给 MCU,MCU执行响应和实现相关操作流程。本流程需要传感器、MCU、模组、平台相互配合进行操作。如果下发数据后,规定时间内平台没有收到数据回复,将会反馈操作超时,须及时响应反馈操作。
在设备管理流程中可以使用的几种操作分别是:Discover操 作、Read操 作、Write操 作、Execute操 作、Write-Attributes操作以及Observe操作。如图4所示,操作设备发送请求到平台侧,平台侧接收信息并做出回应,发送对应操作请求,设备收到指令后,执行操作,用户检查执行结果。
图4 设备管理流程
本系统的节点终端通电之后,甲烷传感器模块、通信模块和主控制模块的报警指示灯会亮;NB-IoT模块通过报警指示,可观测数据传输的速率。同时在登录OneNET云平台之后,通过开发者中心可以看到联网设备上线,图5为设备状态云平台查询界面。
图5 云平台查询界面
可燃气体测试系统如图6所示,在手机APP端可以看到关于气体指示的图标由绿色变成了红色。最终,在电磁干扰和模拟恶劣天气条件下,系统经过测试,性能稳定,可以适应日常智慧城市应用场景。
图6 可燃气体测试
根据当前智慧城市窨井盖安全检测的需求,本设计尽可能实现终端节点的低功耗优化。根据系统要求,从低成本、高能效等方面考虑,选择主控芯片并进行外围接口电路设计。在功能上,系统通过NB-IoT模组接入OneNET云平台,进行窨井盖危险状态监控,便于用户查看;遇到异常情况,及时通知路政管理人员排除危险,促进智慧城市重要设施的安全管理。