(四川信息职业技术学院,四川 广元 628040)
井盖是城市的公共基础设施,马路井盖是对地下管网设施进行维护、检修的重要窗口,也是关乎城市路面环境的一部分[1]。目前,中国许多城市的路面都存在井盖缺失、破损之类的问题。这些“问题井盖”不仅影响市容,还存在安全隐患,容易造成行人跌落、车辆损坏等交通事故,同时井盖下的废水经过发酵容易产生有害气体,不利于井盖周围的环境健康。井盖需要得到有效的管理,但城市中的井盖数量繁多、种类多样、布局分散,为本来已经非常冗杂的城市管理工作增添了不小的负担。为了解决这些问题,本文将物联网技术与井盖相结合,利用带有芯片的智能井盖将监测到的井盖姿态状态、井内气体等信息,通过物联网技术上传到云平台,方便管理人员对井盖的监测与维修[2]。
本文选择基于NB-IoT技术的井盖管理方法。NB-IoT技术是一种获得国际认可的新兴物联网技术,利用NB-IoT技术可以大大简化网络结构,减少部署和维护难度。同时该技术具有低成本、低功耗、覆盖范围广和连接多的特点,非常适合低频、通信延迟不敏感及数据量小的物联网业务[3]。单片机由NB-IoT将每个井盖的信息通过通信网络传递到监控平台,为加强城市的智慧管理,解决安全隐患提供有力的保证。
系统通过传感器采集井盖的环境信息,利用STM32L151C8芯片通过窄带物联网(NB-IoT)模块实现数据的上传。云平台收到上传数据或下发命令后立即保存数据,实时进行数据解析和协议包的发送。本系统可以实时监控井盖状态,并通过IoT平台将相关数据发送到个人计算机和远程客户端。
系统由感知层、传输层、平台层和应用程序层等四层组成[4],各级分工明确,主要通过将数据从感知层报告到应用层来实现对数据的远程监控。系统架构如图1所示。
图1 系统架构
第一层是感知层,部署在井盖中,负责有害气体、井盖状态的数据收集,主要包括电源模块、传感器模块(多轴传感器、有害气体传感器等)、微控制器单元(MCU)和NB模块。
第二层是传输层,主要包括核心网络和基站通信,负责业务数据的传输。在接收到从第一层收集的井盖数据后,将数据通过传输层的核心网络发送到附近的通信基站,在硬件终端上建立用户界面并传输业务数据。
第三层是平台层,其功能是用户在接入云平台后,获得收集到的相关数据。同时,系统将获得的数据根据不同类型分别转发至监控应用系统,进行具体的分类处理。
最后一层是应用程序层。在该平台的基础上,部署了城市井盖监测系统,它不仅可以调用查询接口来监视平台上的数据,而且可以完成数据的预处理和存储。
系统的感知层设计包含五个部分:主控板模块设计、通信模块设计、数据通信格式设计、电源模块设计、嵌入式开发。其中,NB-IoT通信模块设计、主控板模块设计是系统感知层设计的核心。主控板模块主要负责对井盖数据的收集,通信模块负责与基站数据交互。
主控板设计框图如图2所示。多轴传感器MPU6050模块用于获得井盖的姿态,甲烷传感器TGS2611用于监测井内气体的甲烷含量。整个主控板的核心是STM32L151C8,其具有数据采集、分析、处理,以及通信模块之间的通信连接等功能。选择STM32L151C8为主控芯片,是因为其内核采用超低功耗ARM的Cortex-M4架构,可以最大程度地减少功耗。其内置计时器、直接存储器访问(DMA)、通用异步接收器/发送器(UART)、快速存储技术(RST)、模数转换器(ADC)、通用输入/输出(GPIO)等模块,可以满足NB-IoT硬件功能运行要求[5]。
图2 主控板设计框图
STM32芯片收集井盖姿态、有害气体浓度,将数据转换为CoAP协议格式的数据编码,然后通过NB-IoT模块发送到指定的云平台,可以利用单片机内部计时器控制数据每30 min发送一次。
采集终端包括传感器模块、单片机、NB-IoT通信模块。终端收集到的模拟信号需要转换为数字信号,单片机可以通过模数转换(ADC)模块对其进行处理,并通过串口将信息发送到NB-IoT模块。系统通过AT指令完成工作参数的设置,例如,AT+NBAND?查询频段号,AT+NMSTATUS确定模块与平台之间的连接状态,AT+NCDP=180.101.147.115,5683是配置电信平台的CDP服务器地址,AT+NMGS指令可以发送根据CoAP协议设计的代码,获取相应的井盖相关数据。NB-IoT模块接收到AT命令后,模块自动将有效载荷封装为所需的消息,并通过基站将其发送到IoT电信云平台[6]。
该系统由电源电压为3.3 V的电池供电。MCU发送数据后,NB通信模块在NB与基站之间建立传输通道,以接收数据并监控命令。当从基站接收到请求信号时,NB通信模块能够及时响应。
STM32将检测到的数据进行编码,通过串口利用AT指令对NB-IoT模块控制,NB-IoT模块负责接收并转发井盖的监控数据。
NB-IoT模块采用的是BC95-B5无线通信模块。该模块特点是尺寸小、低功耗,最小电流[7]仅为5 μA。BC95-B5模块上搭载的物联网用户身份模块SIM卡为中国电信提供的4G NB-IoT卡,用来存储用户信息、加密密钥及时间信息等。该卡还满足Internet的智能硬件和智能农业管理要求。NBIoT模块通过无线通信协议与网络运营商设备建立连接,电信NB-IoT卡主要工作在850 MHz频段内。
通信模块如图3所示。通信模块BC95-B5为射频模块,与电信的NB-IoT卡进行数据交互,射频天线将井盖获取的相关数据发送到NB-IoT基站。
图3 通信模块原理图
系统感知层设计的最终目的是完成数据报告,系统设计时将SEGGER J-Link仿真器和MCU连接,使用Keil集成开发工具对STM32 MCU进行编程,经过编译下载和仿真后,程序烧写到MCU。程序可实现数据采集、信号A/D转换、数据发送及命令接收等功能,工作流程如图4所示。
图4 主流程
采集终端的多轴传感器通过I2C协议将姿态解算后的数据输出至MCU,同时测量井内沼气含量的甲烷传感器也从串口向MCU传送数据。系统初始化后,获取井盖姿态、甲烷含量,并通过A/D转换将模拟量的信息转化为数字量,同时将获取的数据通过CoAP协议发送出去。
为了保证不同井盖获得的数据监控唯一性,将姿态及其他数据准确地传输到云平台,在不同井盖的感知节点和云平台之间建立一一对应的映射关系。传输协议包括两部分:第一部分包含设备的属性信息,例如井盖ID号、制造商信息、设备型号及协议,以确保绑定NB-IoT模块的一一对应;第二部分包含设备服务信息及定义设备要报告的井盖的相关数据字段。
部分业务数据的代码如下:
propertyName中的attitude表示当前设备是状态传感器;dataType中的int表示收集到的数据为整数型[8];当dataType为true时,表示该数据需要上传;min和max表示数据范围为0~90;step表示步长,该数据等于1.0;method为数据的访问方式;RE为可以读取,可以更改并保存。在上传设备进行文件配置后,就能绑定设备进行接收数据和发送命令。
系统的井盖状态测试如下:
首先搭建系统测试环境,将智能网关与井盖监测单元点对点传输,井盖的控制芯片MCU发送数据包,网关收到后显示在电脑上[9]。对收发系统进行测试,最终在电脑终端上显示井盖状态信息,如图5所示。
图5 测试结果
对3个井盖状态进行测试,移动其中一个井盖,发出告警信息。1号井盖三维坐标ROLL为-0.15,PITCH为0.0,YAW为-0.2,如图5(a)所示;2号井盖三维坐标ROLL为0.0,PITCH为0.02,YAW为-0.2,如图5(c)所示,井盖状态均为正常;3号井盖三维坐标ROLL为-1.26,PITCH为-18.44,YAW为13.12,如图5(b)所示,由于移动了井盖,平台显示告警信息。
本文以NB-IoT为基础设计智能的城市井盖,解决了数量繁多、种类多样、布局分散的城市井盖的管理问题。通过传感器和MCU实现了对井盖情况信息的采集,通过NB-IoT模块将所得数据上传到云平台,实现了智能井盖的数字化、智能化、可控化[10]。整个系统的集成化程度高,实现了对井盖可视化管理,与世界智能化的发展趋势相吻合,对城市管理升级有着正面的意义。此外,本系统节约了大量的人力、物力,一定程度上节省了井盖管理的经济成本,使城市管理变得更加轻松。