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

2022-05-30 15:59夏青石明钧金文婷陈亚琦
电脑知识与技术 2022年21期
关键词:供水管网客户端数据库

夏青 石明钧 金文婷 陈亚琦

摘要:随着物联网技术的蓬勃发展,加速了城市现代化的进程。而城市供水智能化监测系统还处于发展阶段,因此如何把物联网技术运用到城市供水管网监测系统上成为一个新的研究方向。基于这个研究方向文章提出以窄带物联网通信技术为传输媒介,结合性价比较高的ARM主控芯片,来控制传感器采集信息,并上传数据库进行保存,最后从数据库中提取数据到Android客户端,并通过软件进行管理与展示。测试表明该监测系统能够完成对供水管网数据的远程接收、控制、预测等功能。

关键词:供水管网;窄带物联网;ARM;传感器;数据库;客户端

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

文章编号:1009-3044(2022)21-0099-03

开放科学(资源服务)标识码(OSID):

1 引言

城市供水管网[1]监测的发展分为两个阶段。第一个发展阶段就是传统的人工监测,在这一阶段人工成本高,工作效率低,不能及时地对供水管网突发事件做出反应。

随着通信技术与传感器的结合,远程监测得到了飞速的发展,加速了数据的采集,降低了人工成本。城市供水监测也随之来到了第二个阶段。目前对供水管网的远程数据采集一般采用GPRS网络或者是ZigBee技术。而GPRS网络存在可接入设备量少,地下信号传播能力差,功耗较高等缺点。张一凡,崔建国[2]等使用ZigBee技术来实现城市管网漏损控制系统的网络层设计。然而由于ZigBee有效传输距离短,因此需要架设更多的基站,当城市大面积使用时往往成本过高。通过综合考虑决定采用信号穿透能力强、覆盖区域更加广大,低功耗运行、可连接设备多的窄带物联网技术。NB-IOT能够较好地解决了监测设备的信号弱,网络端口接入量少,电池容量有限等问题。

2 系统的物联网体系

本文采用物联网的三层结构体系来设计供水管网[3]监测系统。

2.1 感知层

感知层设备由三部分构成。

(1) 传感器是属于感知层的信息采集设备,负责把环境信息转换成MCU可以识别的数据。供水监测系统的感知层[4]是流量传感器。通过监测系统中的流量计进行数据采集,这样就可以实时地掌握水务系统中各节点的运行状态。管理人员通过对采集的数据进行分析处理,就可以知晓供水系统的实际运行状态。

(2) 主控芯片它是整个感知层的大脑,负责协调感知层各个组件间的数据交互与处理。常用的芯片一般基于MIPS、ARM、RISC-V等架构设计,本文所有的主控芯片就是基于ARM的STM32F103芯片。

(3) 通信模组是MCU对外数据传输接口设备,也是物与物相连的重要组件。通信模块的主要功能是实现设备接入网络,让感知层中断与云端实现数据通信。常见的通信模组种类有很多,如3G、4G、窄带物联网等,本文的通信模组用的就是窄带物联网。

2.2 网络层

网络层是物联网体系[5]的中间层。它可分为三种传输方式,分别是局域网、无线网络、有线网络。

(1) 有线网络可以通过双绞线,光纤等传输介质与国家通信网络相互连接,从而进行数据的交互。

(2) 无线网络的种类有很多,现在常见的主要是4G网络、5G网络、NB-IOT等。在当前的物联网环境中应用较多的网络是NB-IOT、增强机械类通信。NB-IOT适用于低速率上报类场景中,如环境监测、市政物联(路灯,井盖等)、智慧停车等。增强机械类通信适用于中低速、实时控制类应用场景中,如移动支付,物流追踪等。

(3) 局域网络是我们比较常用的,比如说Wi-Fi,蓝牙。它们是由我们自己搭建的短距离通信网络。其本身不能够直接和因特网相连接进行数据转发,需要特定的路由器或者网关来对数据进行分组转发。从而和因特网进行数据交互。

本文系统所采用的通信网络就是窄带物联网,它的优势可以很好地满足城市供水管网监测系统数据传输的需要。

2.3 应用层

应用层的首要功能是满足用户界面和平台之间的交互需求。平台实现对物联网终端设备的管理和维护以及数据的存储与转发。平台具有场景化,可视化的用户界面,便于用户管理及查看设备,帮助实现设备与云端的连接。平台一般可以分成三个类别:负责设备管理操作的设备管理平台、负责通信管理的连接管理平台、应用使能平台。

3系统硬件设计

供水管网监测系统的硬件部分有STM32F控制芯片、电源模块、串口模块、NB-IOT模块、采集设备(流量计)。系统硬件的工作流程为:系统把采集到的信息通过窄带物联网发送到物联网平台上进行数据的分析与处理。系统硬件结构图如图1所示。

3.1主控芯片设计

在综合考虑系统的低功耗、外设端口及成本之后,本系统决定采用STM32F103VET6芯片作为主控芯片来对采集数据进行处理以及对通信部分的收发管理。芯片使用ARM? Cortex?-M3内核, 高达80个I/O口,多种低功耗工作方式。基本满足水务监测系统的性能需求。我们通过在单片机外接两个晶振分别是32.768kHz、8MHz。为了能够在用户闪存启动程序,一般的操作方法是在BOOT0引脚这里加一个100kΩ电阻。

3.2 流量传感器

流量计选用的是涡轮流量传感器[6]。它的工作原理是当水流流过涡轮时,会冲击涡轮扇片,从而带动涡轮扇片的转动。扇片的转动速度与水流的流度是成正相关,于是通过测量一定时间内涡轮扇片的转动速度,来计算得出水的流动速度,从而得出一定时间内供水管网的流量。使用集成传感器芯片AH183对涡轮扇片的转动速度进行测量。在扇片上添加磁性物质,当扇片转动到AH183时,AH183的输出就会变成低电平,当扇片偏离AH183时,AH183的输出信号就会变成高电平。重复操作,随着扇片的转动,输出信号就形成了脉冲信号。传感器的输出信号通过电压跟随器输出,在电压跟随器的输出端并联一个50pF的电容进行滤波,可以有效防止其他信號的干扰。而使用电压跟随器的作用是为了提高对脉冲信号的驱动能力,最后对输出的脉冲信号进行计数。

3.3电源模块

电源模块如图2所示,这里选用TLV6265,它是一款高效率降压型DC/DC转换器。输出电压为2.7~5.5v,输出电压可调范围为0.6v~vin,输出电流可以达到1.5A。

3.4串口转换电路

由于STM32的数据接口协议与计算机的数据接口协议不能够匹配,因此二者之间不能够直接进行数据传递。对于这个问题我们可以使用一个电平转换器,来解决二者之间通信问题。我们选用CH340CG芯片来作为电平转换器。CH340CG内部集成了晶振的功能,它可以轻松实现 USB 电平与TTL 电平之间的转换。串口转换电路如图3所示。

3.5 NB-IoT 模块电路

本文使用的窄带物联网模块是移远的BC35-G模块,支持UDP/TCP/MQTT等多种协议,满足系统对于通信的设计要求。

4嵌入式软件设计

4.1软件设计

在设备进行通电之后首先要去使MCU初始化,让其达到一个确定的初始状态。然后再去对通信模块即对BC35-G进行参数配置,只有先保证BC35-G模块能够正常工作之后才能与互联网进行相连。最后我们还需要在程序中新建立四个任务,分别是看门狗,数据采集,实时通信,掉线检测。

4.1.1 看门狗

添加看门狗的主要目的就是为了保证程序可以正常地去运行,如果发生异常的警报比如说死机或者一直没有去喂狗(即按时清除计时器)。就会导致计时器溢出,产生一个RESET电信号。于是微控制器的程序重新启动,系统也就不会一直处于死机状态。

4.1.2 掉线监测

由于实时通信功能的需要,当要执行实时通信任务时,必须要先保证服务器与网关之间能够建立了长连接。所以我们可以采取向服务器发送心跳包的方式来确定是否已经建立连接。例如当服务器收到网关发出的心跳包之后,会给网关发送确认信息。如果网关收到的是正确信息就证明了此时服务器与网关是建立了连接;反之它们此刻就没有完成通信连接的建立,于是需要重新建立起二者之间的通信连接。这样就可以完成客户端对采集设备的实时监测的功能。

4.1.3 数据采集

对于数据的采集,本系统利用STM32自带的定时器去预先设置一个采集时间周期。本实验的采集周期定为每隔一小时通过 RS485 接口发送相应的指令采集数据,待所有数据采集完成。经过MCU处理之后发送给数据库并存储在数据库里面。系统本着低功耗的要求,当数据上传到数据库之后就会断开连接,其他硬件设施处于休眠状态,直到下一个采集时间到来之前提前数分钟进行唤醒操作,留下足够的时间好让硬件部分的程序充分启动,整个硬件电路系统达到一个确定的运行状态。

4.1.4 实时通信

此部分的功能是STM32F103单片机通过 BC35-G传输模块保持与通信服务器的连接,Android客户端通过服务器来发送相应的指令给网关,然后MCU执行相关的指令。执行完任务之后MCU把执行的结果返回给Android客户端,这样便实现了实时通信的功能。

5 系统应用层设计

系统应用层主要实现人机交互[7]功能。供水管网监测系统应用层可以划分成三个部分分别是数据库模块、服务器模块、Android 客户端模块。其中 Android 客户端是面向用户的,需要向管理人员展示出系统的应用界面,以便操作人员监测系统运行状况,实现环境数据查询、历史环境数据查询等功能。数据库服务器[8]和通信服务器都分别搭在阿里云服务器端。使用云服务器的好处就是数据不再随着存储硬盘的损坏而丢失数据,保证了数据库存储的水流量数据安全;同时也方便了用户在安装客户端的情况下随时查看历史数据、分析数据。

5.1 Android 客户端设计

当今社会使用最多的电子产品应该就是手机了。从一开始只能够打电话发信息的小灵通,到演变成拥有拍照、打游戏等等复杂的智能机。究竟是什么给手机带来了这么大的进步,我认为操作系统应该是手机进化的巨大推力之一。正是因为有IOS、Android等手机操作系统才给我们带来了智能机。所以我们如果想要在手机上开发App就应该基于IOS、Android这两个操作系统其中之一进行开发。从实际出发综合考虑之后决定使用 Android 系统来设计客户端。它主要的优点在于用户基数更大,代码是开源的。这些都会极大地方便了我们后期对App的维护和使用。

系统的软件开发使用MVP (Model View Presenter)架构[9]。在MVP架构中:View 是一种视图层,相当于Android 模块中的 Activity,主要功能为展示动态的页面,对模型进行演示,提供一个与供水管网监测系统项目管理人员交互的界面。Model 是一种数据模型,它可以跟数据库直接相连,主要功能包括数據库的读和写,网络数据的请求等。Presenter 相当于一座桥梁,把View和Model 连接起来。与传统的 MVC 架构相比较, View 与Model这两个模块层是分离开的,它们两个之间是不直接进行数据传输。所以当View想要获得数据时,首先要让Presenter 从 Model这里获得数据然后经过加工处理后再交给 View。这样就完成了两层之间的信息交互。

5.2 客户端通信实现

供水管网监测系统客户端的通信功能由实时通信和历史数据查询两部分组成。实时通信主要是查看环境数据,查看设备实时的运行状态,如果发生爆管等突发状况可以及时通知管理人员进行人工的干预。进而挽回突发状况所引发的经济损失和减少水资源的浪费,这对于构建节约型社会至关重要。科技的发展就是为了造福社会,技术的广泛使用就是为了方便所有人。客户端在与通信服务器建立连接之后,由通信服务器访问窄带物联网网关,从而实现与网关的实时通信。用户人员还可以通过移动客户端去访问数据库,查询数据库里面关于供水管网的历史数据,并对数据进行适当的处理和操作。

5.3 云服务器设计

依照供水管网的设计需求来看,可以把系统的服务端划分为两个部分第一部分是数据库。数据库使用MySQL,之所以选择使用它主要有以下几个原因:第一就是它本身是开源的这样极大地方便了我们对它进行操作。第二就是它支持多种操作系统可移植性强,操作简单。第三就是它可以多线程运行,这样更好地利用CPU资源。最后一条是最重要的就是它可以独自应用在客户端服务器,这样我们就可以在服务器中很便捷地使用它。用戶只要通过 HTTP 协议就可以轻松对数据库存储的数据进行查询等合理操作。第二部分是通信服务器:本系统所采用的是Openfire 通信系统,为了实现移动端与网关的通信,本文选择将它与在阿里云服务器相结合。

6结论

管理人员通过城市供水监测系统可以随时访问采集的数据,实时观测现场设备的运行情况。通过对历史数据的分析与处理得到水资源调度[10]的规律。这样极大地方便了供水公司人员去管理整个供水管网,把相关的供水管理人员从繁劳的工作中解放出来。本系统还存在一些不足之处就是可以多加一些采集装置,如压力传感器、定位装置。希望在以后可以对系统进行升级,做出更加功能全面的监测系统。

参考文献:

[1] 李开源.住宅小区供水管网管理的地理信息系统研究与开发[D].成都:西南交通大学,2004.

[2] 张一凡,崔建国,张峰,等.物联网和云计算下的城市供水管网漏损控制系统设计[J].华侨大学学报(自然科学版),2019,40(1):34-40.

[3] 吴培金,张瑞林,赖思恩.基于B/S模式的供水管网压力监测系统的设计与实现[J].工业控制计算机,2013,26(4):84-85.

[4] 俞文杰,童英华,田立勤.物联网监测系统的可靠性保障机制与量化分析[J].物联网技术,2018,8(7):42-47.

[5] 杨剩金.浅谈物联网中移动通信技术的应用[J].中国新通信,2017,19(18):30.

[6] 杨亚枫,王国涛.流量自动控制的设计与实现[J].石油仪器,2002(3):9-11,61.

[7] 王东华,孙扩,白羽.基于工作研究的信息系统人机交互设计研究[J].软件工程师,2010,13(9):57-59.

[8] 徐锦志.基于物联网的海绵城市水雨情测控系统的设计与实现[D].镇江:江苏大学,2018.

[9] 李玉.基于SIP的Android视频问诊客户端的设计与实现[J].医疗卫生装备,2019,40(7):31-34.

[10] 方勇,王艳娇,刘忠华,等.不确定性用水情景下的黄骅港水资源调度优化[J].给水排水,2020,56(9):133-136.

【通联编辑:梁书】

猜你喜欢
供水管网客户端数据库
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
分区计量(DMA)在实际工程的应用
城镇供水管网多措并举漏损控制措施探析
客户端空间数据缓存策略