基于窄带物联网的水务管网参数监测系统设计

2021-05-29 15:50周世年龚元明
软件工程 2021年5期

周世年 龚元明

摘  要:近几年随着城市供水管道的日益复杂化,城市供水系统的监测变得难以管理。为了更好地监测城市供水系统的运行状态,借助窄带物联网(Narrow Band Internet of Things, NB-IoT)的低功耗优势,设计了一个基于NB-IoT的水务管网参数监测系统。该系统以低功耗STM32L4芯片为控制核心,实现了供水管网实时数据的采集与NB-IoT数据的传输,水务管网的参数会被上传至服务器并通过浏览器显示。本文重点设计了现场数据采集设备的硬件电路,开发了NB-IoT的网络传输。测试表明,该监测系统实现了水务管网的数据远传和远程控制,具有一定的研究和开发价值。

关键词:窄带物联网;水务管网;STM32L4;实时数据采集

中图分类号:TP277     文献标识码:A

Design of Water Pipeline Network Parameter Monitoring System

based on Narrow Band Internet of Things

ZHOU Shinian, GONG Yuanming

(College of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)

zsnzhoushinian@163.com; gongyuanming@tsinghua.org.cn

Abstract: In recent years, increasing complexity of urban water supply pipeline makes it difficult to monitor and manage urban water supply system. In order to better monitor the operating status of the urban water supply system, this paper proposes to design a water pipeline network parameter monitoring system based on NB-IoT (Narrow Band Internet of Things) with low power consumption. The system uses the low-power STM32L4 (STMicroelectronics) chip as the control core to realize real-time data collection of the water supply pipeline network and NB-IoT data transmission. Parameters of the water pipeline network are uploaded to servers and displayed through browsers. This paper focuses on designing the hardware circuit of field data acquisition equipment and developing the network transmission of NB-IoT. Tests show that the proposed monitoring system realizes remote data transmission and remote control of the water pipe network, and has certain research and development value.

Keywords: narrow band internet of things; water pipeline network; STM32L4; real-time data collection

1   引言(Introduction)

对于城市供水系统的监测,传统的人工检测不仅费时耗力,而且不能对水务管网参数异常事件做出及时有效的反应[1-2]。随着社会科学的进步和互联网技术的发展[3],智慧水务的出现使得传统的管道监测在形式和技术上有了一定的改善。唐松泉[4]等使用GPRS无线网络完成了对智能水表数据的采集,但实际测试过程中受到了一些阻碍,如位置较深的地方信号薄弱、功耗过大、接入量小等问题。石家骏、钟俊[5]等使用ZigBee技术完成对抄表系统的网关设计,但ZigBee模块价格贵,传输距离短,需要基站多,大面积现场设备的布置成本过高。目前市场上新出现的NB-IoT技术是第三代合作组织针对物联网应用而制定的协议标准[6],具有深度覆盖、低功耗、低成本、大连接、基站兼容性好等优势[7-8],能够很好地解决供水监测设备电池容量有限、接入量小和信号弱等问题[9-10]。本文基于NB-IoT设计的智能水务管网监测系统通过传感器技术与NB-IoT技术的结合,实现了对水务管网参数实时有效的监管。

2   系统总体设计方案(Overall design of the system)

监测系统主要由现场设备(包括数据采集模块、NB-IoT通信模块)、数据存储中心(服务器)和数据实时显示(客户端)三个部分组成。监测系统的整体结构如图1所示。

系统的工作过程为:(1)现场数据采集模块根據设定的工作参数,采集供水管网的压力/温度和振动数据;(2)NB-IoT通信模块将采集的数据连同设备ID、系统时间、网络状态和电池电压等数据传输至服务器;(3)服务器存储通信模块发送的信息数据存入数据库中,同时转发数据给客户端;(4)客户端实时/历史显示现场设备相关工作参数。一旦供水管网的运行状态参数出现异常,监测系统界面会发出告警提示,帮助调度人员更高效地发现并排查问题,完成设备的调度。

3   系统硬件设计(Hardware design of the system)

水务管网参数监测系统的硬件主要由电源模块、数据采集模块(包括压力传感器、温度传感器和加速度传感器)和NB-IoT通信模块组成。系统硬件总体结构如图2所示。系统硬件的工作流程为:现场数据采集模块将采集的数据通过NB-IoT通信模块传输到服务器进行数据分析。

3.1   数据采集模块硬件电路设计

3.1.1   主控制芯片选型

在综合考虑水务管网数据采集低功耗的需求和主控芯片的外设、内存及成本后,决定选择STM32L4微控制器作为主控制芯片来完成数据的采集以及通信模块的收发。该芯片是一款基于Cortex-M4内核的32位微控制器[11-12],集成多个不同的串口通信,具有低功耗选择模式,符合水务管网低功耗的设计要求。

3.1.2   压力/温度传感器信号处理电路

考虑到水务管网现场设备的供电不便,所以本文选用了一款可恒流供电的MPM281VC型压力传感器来测量水务管网的压力。且考虑到水务管网的数据量小、低功耗,故选用了一款适合小信号测量的ADS1120芯片。该芯片内部集成了一个精密的温度传感器,可用作压力传感器的宽温补偿,压力测量的精密程度达到16位,支持高速的SPI通信,供电电压为2.3—5.5 V,在禁用增益放大器后的占空比模式下运行功耗可低至120 ?A。

为配合MPM281VC型压力传感器的四线桥式接口,设计了与之对应的电阻桥式测量电路。本文设计将AIN0通道作为恒流电压输入端口;AIN1通道处飞线引出,用来测试ADS1120是否正常工作;AIN2通道和AIN3通道分别作为负信号端口和正信号端口。在压力传感器将监测到的压力物理量转换成传感器输出的模拟量后,信号处理电路将模拟量A/D转换,并增益放大,最后通过SPI通信接口与STM32L4进行数据交互。压力/温度传感器信号处理电路如图3所示。

3.1.3   三轴加速度传感器硬件电路

水务管网的突然爆裂会导致管道振动急剧上升,此时水务管网的压力数据就已经失效了,本文通过监测水务管网的波动情况来判断水务管网的运行状态。本文选用的MMA8453三轴加速度传感器,其供电电压为1.95—3.6 V,精密程度达到10位,可选择加速度三量程输出(±2 g/±4 g/±8 g),在睡眠模式下可低功耗运行,符合水务管网低功耗的设计要求。

MMA8453三轴加速度传感器通过测试X、Y、Z轴的加速度数据,直接以数字量形式通过IIC通信接口传给STM32L4IIC通信规定IIC总线的SCL和SDA两条信号线必须同时处于高电平,所以需要硬件设置两个上拉电阻拉高SCL、SDA的电平。三轴加速度传感器信号采集电路如图4所示。

3.2   通信模块硬件电路设计

NB-IoT通信模块的主芯片选用的是高性能、全网通的BC35-G模块,支持UDP/TCP/MQTT/LWM2M等多种协议。通信模块硬件设计以BC35-G为核心,外接供电电路、电源监测电路和SIM卡电路三个部分。

3.2.1   供电电路

供电电路使各模块获得能工作的电源。该电路有两种控制方式:硬件控制和软件控制。硬件控制即通过跳线帽将JP-BATT连接起来,软件控制需要将STM32L4上的NB-SWITCH引脚拉低即可。NB-IoT通信模块的供电电路如图5所示。

电源控制电路主要由一个PMOS管组成,通过将PMOS管栅极G拉低,使PMOS管导通,给NB-IoT模块供电。VDD-OUT和VDD2-BAT都是使用3.6 V的电池直接供电。在电源和地之间接C40和C41两个电容,滤除杂波的同时能够储存电能,让NB-IoT模块在需要大电流时不会将电源电压拉低至工作电平以下。

3.2.2   电源监测电路

为更好地排查现场设备因耗尽电量而停止工作的情况,本文设计了带有双色灯的电源监测电路来显示电池供电不足的情况。如图6所示,选用3.6 V供电的NCP303电压检测芯片。当电压检测芯片监测到电源电量过低时,一方面会将此数据发送到服务器;另一方面则由NCP303电压检测芯片的RESET脚控制,通过拉低电平来使DLED1变色,有助于维修人员定位问题的所在。

3.2.3   SIM卡电路

NB-IoT模块需要插入物联网卡才可以获得运营商网络的支持,所以硬件上有SIM-CLK、SIM-DATA、SIM-RST及SIM-VDD等实现与SIM卡进行数据交互的接口。NB-IoT模块的SIM卡电路如图7所示。其中,外部SIM卡通过模块内部的电源供电,仅支持3.0 V供电。

4   系统软件设计(System software design)

软件开发时,需要先对主控芯片、传感器模块和NB-IoT模块等进行初始化。现场设备由主控制器控制,通过各传感器模块进行现场设备数据的采集,并通过NB-IoT通信模块实现数据上传至服务器端,由网页端显示。软件设计流程如图8所示。

4.1   通信协议设计

本文水務管网参数监测系统的设计要求是现场设备的数据远程传输和监测平台的命令下发控制。

为保证现场设备和监测平台之间数据交互的可靠性和稳定性,采用了HTTP协议[13-14]。HTTP协议是一种运行在TCP之上的协议,广泛应用于Web端。协议的通信过程为:协议对话由现场设备发起请求给服务器,服务器根据其发来的数据进行相应的应答。HTTP请求报文格式如表1所示。

其中通道类型是上传的传感器参数类型,0表示无效,1表示压力(单位Mpa),2表示温度(单位℃),3表示振动(单位mm/s2)。

HTTP的应答报文格式相应如表2所示。

4.2   数据采集模块软件设计

数据采集模块主要是采集水务管网的压力数据、温度数据和振动数据。在主控芯片、压力/温度采集模块和加速度采集模块初始化完成以后,主控芯片每隔1 s通过SPI通信和IIC通信发出一次数据采集命令,传感器会根据主控芯片的内部定时器TIM2来完成数据上传任务。

壓力/温度采集芯片的SPI传输:首先配置SPI为Motorola模式,8 bit的数据大小,MSB传输,时钟极性为Low,时钟相位为1 Edge。加速度采集芯片的I2C传输:首先配置I2C为标准模式、100 kHz的传输速率,从地址的初始长度为7 bit。

定时器TIM2的时钟由APB1提供,本文设置的APB1提供的时钟为20 MHz,预分频为2,000,计数周期为10,000,得到1 s的定时时间。公式如下:

定时器时间=1/(时钟频率/预分频/计数周期)      (1)

然后调用HAL_TIM_Base_Start_IT(&htim2)函数触发TIM2中断定时器,再调用周期函数完成数据的上传。

4.3   NB-IoT通信模块软件设计

NB-IoT通信模块与主控芯片通过串口相连,主控芯片采用AT指令集对BC35-G模组进行命令控制。主控芯片和NB-IoT通信模块的USART接口初始化后,主控芯片通过AT指令获取模块当前的信号强度、通信模块ID和SIM唯一识别码等信息[15]。当NB-IoT模块成功入网后,与服务器建立TCP连接,通过Socket上传数据包。在NB-IoT入网通信的整个过程中,如果发现信号强度、模块入网和数据上传中某个指令出现问题,会将此指令重新执行,直到三次还未成功就会给出错误标识。在数据成功发送到服务器后,如果NB-IoT模块长时间没有收到数据,就会进入待机模式,以节省电量。NB-IoT的入网通信流程如图9所示。

NB-IoT模块入网通信涉及的主要AT指令及其描述如表3所示。

4.4   服务器网页端软件设计

服务器网页端软件主要完成来自现场设备上传数据的接收、数据解析和存储,并转发给网页端显示数据。具体流程是:开启MySQL服务器监听的所有端口,收到现场设备通过相应端口发来的数据包,按照通信协议将数据包解析出来存入数据库,并将相应数据在网页上进行显示。

在PC或者手机的网页端填写账号和密码进入监测系统的主界面,如图10所示。主界面集成了地图显示、数据查询和设备管理等功能。用户可以通过地图显示功能查看自己管理的设备的地理位置和当前设备的状态信息,其中设备的地址是设备安装时记录下来的。通过数据查询功能对设备进行实时数据查询和历史数据查询,通过设备号、查询的起始时间、查询的结束时间三个查询条件,可实现一段时间内设备数据的变化曲线视图,通过变化曲线可以很好地预测设备未来的运行状态。通过设备管理功能对设备信息进行添加、编辑和删除分组,方便用户灵活地操作设备信息。

5   结论(Conclusion)

本文基于无线传感网络和窄带物联网的技术优势,设计了一套从底层硬件到上层平台端的监测系统方案,很好地解决了城市供水系统难以管理的问题。通过网页端访问服务器,实现了水务管网压力、温度和振动情况的实时数据监测,并通过变化曲线的形式,可以帮助调度人员快速缩小故障范围,大大降低了检修成本,提高了城市供水系统的效率。

参考文献(References)

[1] 肖扬.基于NB-IoT的云平台管道漏水检测系统设计与实现[D].厦门:厦门大学,2018.

[2] 范毅华,王璐.嵌入式油井供水压力流量监控系统[J].计算机技术与发展,2012,22(09):193-196,200.

[3] 郝志慧.基于物联网的城市智慧水务系统研究[J].中国高新技术企业,2017(2):114-115.

[4] 唐松泉,赵祚喜,吕永清,等.基于嵌入式的无线智能家居近远程监控系统[J].电子设计工程,2015(24):166-169.

[5] 石家骏,钟俊,易平.基于ZigBee的无线抄表系统网关的设计与实现[J].计算机工程与设计,2011,32(03):875-878.

[6] MATZ A P, FERNANDEZ-PRIETO J A, Ca?ada-Bago J,

et al. A systematic analysis of narrowband IoT quality of service[J]. Sensors, 2020, 20(6):1636-1661.

[7] 韩倩茹,田锦.基于海思芯片的NB-IoT通信模块设计与实现[J].金陵科技学院学报,2019,35(03):16-20.

[8] 李忠伟.基于物联网的远程低功耗水表抄表系统设计与实现[D].杭州:杭州电子科技大学,2019.

[9] 吴正平,张兆蒙.基于NB-IoT智能水表抄表系统设计与实现[J].传感器与微系统,2019,38(11):93-95.

[10] 王文庆,王毓晨.基于NB-IoT的智能水表采集器设计[J].现代电子技术,2019,42(22):39-43.

[11] 李倩,傅强,徐林.基于STM32的SF_6气体泄漏监控报警系统[J].计算机与数字工程,2019,47(02):304-307,416.

[12] 温宗周,刘超,袁妮妮,等.基于STM32的泥石流监测预警系统设计[J].计算机与数字工程,2017,45(01):92-96,141.

[13] 孙玉.HTTP协议及WEB开发技术在科技信息管理系统开发中的应用[J].电子元器件与信息技术,2019,3(11):43-44,47.

[14] 谷峰,解凯,姜祖详,等.基于QT的Http协议在高压电缆在线监测中的应用[J].工业控制计算机,2020,33(04):105-107.

[15] 于滢,谢涛,矫鲁平,等.基于NB-IoT的智能网关设计[J].计算机测量与控制,2019,27(01):176-180.

作者简介:

周世年(1996-),男,硕士生.研究领域:汽车电子控制技术,嵌入式单片机开发技术.

龚元明(1964-),男,博士,教授.研究领域:汽车电子控制技术,检测技术与自动化装置.