主页 > 案例大全 > 论文方法大全-河流水质监测装置

论文方法大全-河流水质监测装置

2021-06-16 10:24:17

  考虑到影响饮用水源地水质关键的环境参数有温度、TDS值、浑浊度、PH值、溶解氧和盐度等多种因素,本文提出设计一种基于无线传感器网络的饮用水源监测系统,本系统以STM32F103C8T6单片机为主控芯片,构建基于无线传感器网络技术的饮用水源环境参数智能监测系统,该系统由终端探测节点、数据汇聚处理节点、web服务器和数据监测处理器等四层组成,其中系统的终端探测节点主要由传感器,控制器和无线通讯模块组成;数据汇聚处理节点和web服务器主要由树莓派搭建Linux系统并运行Django框架和MySQL数据库的程序实现;数据监测处理器由移动便携设备组成,用户可以通过电脑或手机的浏览器可以实时监测、控制以及数据处理分析。无线通讯模块采用芯片型号为NRF24L01的无线通讯模块;所涉及到传感器包括DS18B20温度传感器,TDS水质电导率传感器,PH值传感器和浑浊度传感器;web服务器为一台PC机,连接无线数据汇聚处理节点并接收数据,提供web服务以实现数据查询及分析。Web服务器运行一个采用C++程序接收基于无线传感器的检测设备发回来的温度、TDS值、浑浊度和PH值的数据并存入数据库。

  中国的饮用水资源丰富,全国各地分布的河流、湖泊和海洋,为我国提供了大量的水资源,据相关文献记载,我国水资源总量已经位居世界第四,但中国是一个人口大国,人均占有量很少,而且地区分布不均匀。在中国大约90%的城市遭受着严重的水污染,许多城镇饮用水水质达不到国家标准。在制造业相对发达的今天,工厂排放未经过处理的生产用水至湖泊的现象时有发生,在偏远地区,由于监管不到位,大量的生活废水被排进河流使得饮用水源水质被污染,因而引发了多种疾病,对我们的身体健康造成严重的威胁,加上城市供水系统局部落后,导致水资源严重浪费,加剧了水资源匮乏的境况。在上世纪初,中国的饮用水源水质监测技术相对落后,大部分饮用水源监测设备都是从国外进口,但随着监测技术的不断发展,中国不断地进行技术革新,不断地加大研发力度,如今国产设备的数量正逐渐增加。传统的远端数据采集设备因其处理性能低下、功能简单而不能满足市场需求,我们对水质监测设备的要求也越来越高。基于无线传感器的饮用水源监测系统不仅要对饮用水源地水环境的温度,PH值,TDS值,浑浊度和溶解氧等重要参数进行监测,更要符合我国近年来水质变化的趋势,生成饮用水源地水质报告,在监测参数不符合要求的时候,能够快速响应采取人工干预。

  1.2国内外现状和发展趋势

  我国从八九十年代已经开始对水源环境参数的研究,研制水源环境参数智能监测系统和智能控制系统中的试验应用工作从未间断,但目前我国市场上水源环境参数智能监测系统的智能化程度和科学技术水平比较低,这种监测系统仅能够解决一定的数据处理功能,而且很难实时处理大量数据和对各个饮用水源地站点的环境参数进行集中监测。在科学技术飞速发展的今天,中国越来越越重视无线传感器的研究,也攻克了无线传感器技术一些疑难问题,把无线传感器网络技术、智能控制技术和计算机软件技术同水源环境参数高效监测结合是当前水源环境参数监测的研究热点,无线传感器网络技术和智能控制技术的结合提高了水源环境参数监测的能力,智能化的饮用水源环境参数监测系统也有效地降低了监测成本,提高监测经济效益,同时最大程度上保证了人类饮用水质的安全。

  通过对我国与国外在水源环境参数监测的研究成果相比较,一些水质监测技术发达国家着手研究饮用水源地水质智能监测系统较早,而且取得比较好的经济效益。在整个水源地的水源环境监测中引入无线传感器技术、智能控制技术和计算机软件技术,不仅可以对饮用水源地水质的温度、溶解氧、ph值、tds值和浑浊度等参数监测,还能够根据污染源的污染类型、气象参数、环境参数构建基于智能控制理论的环境参数预测模型,通过历史数据及其特定的边界条件,模拟重点监测的污染指标、扩散速度和可能发生污染的地区及可能引发污染事故的污染源提出预警,预测饮用水源地水环境污染的发展趋势,然后通过人为干预,采取相应的措施,以减少污染的可能性。另外,通过调看各个水源地水环境参数的历史数据和时间,研究人员可以利用时空趋势模型预测各个饮用水源地水环境污染增长和减少规律,预测水环境污染的发展趋势,宏观掌握各个水源地水环境污染的概率分布图,能尽早地给水环境污染源规划提供决策和快速响应进行人工干预。根据参数得到的结果,对不同的水域进行污染源削减,重新获取数据,将削减前后的数据进行动态和静态的对比,以此来判断削减方案的理性。传统的水源地监测设备使用有线方式采集传感器数据,不能够实现数据实时上报,大多设备存在延时上报数据,而且安装和维护困难,基于这种现状,我们设计了一种基于无线传感器网络的水源监测装置,它能对各个水源地的水环境的各项参数进行远程实时监测。

  根据现有水源地水环境监测的特点以及在实际监测过程中存在的一些问题,提出了一种基于无线传感器网络的水源监测系统的设计方案,该方案自提出起,经过反复论证,对软硬件的设计反复斟酌,最终采用自组织的方式搭建无线传感器网络,将装有多种传感器的终端探测节点投放到饮用水源地,由终端探测节点中的各传感器采集饮用水源地水环境的温度,PH值,TDS值和浑浊度等参数的数据,将数据传输给数据汇聚处理节点显示并保存至数据库,数据监测处理中移动便携设备通过无线网访问局域网,读取数据库中的所存 段的终端探测节点各时间段的监测数据。由此可以实现对水源地水环境的各项参数实时远程监测和数据分析,极大地方便了用户对各个站点的终端探测节点监测历史数据查询。我们采用无线监测系统与有线监测系统相比,极大地节约了监测的成本,数据传输更加安全可靠,具有较强的实用性。

  无线传感网络技术因其独特的技术优势而被人们广为使用,该技术的不仅集约程度高,而且成本远比其他技术低。为了能够将无线传感器网络技术引入到水源环境的智能监测中去,国内外科研机构纷纷着手这方面研究,通过查阅相关文献期刊,我们会发现美国军方是全球最先着手研究无线传感器网络技术的,他们通过大量的实验和反复测试后,已经率先掌握无线传感器技术并攻克了该技术领域的一些疑难问题。

  1.3本设计的应解决的问题

  本装置的设计着重监测河流水源地水环境的温度、PH值、TDS值和浑浊度等参数,将各个水源地进行监测数据集中管理和数据分析。本装置的设计是根据现有水源监测设备传输速率差,采集数据延时和多参数监测繁琐的特点进行改进。

  根据实际需要设定水源地中监测设备采集的温度,PH值,TDS值和浑浊度的极限值,若监测设备在现场监测的参数值超出设定值,则发出报警信号,同时对监测设备上传的数据进行保存,可以把任意一周期内的数据导出并生成河流水源地水质报告作为经验参考。

  1.4总体设计思路

  本文河流水源环境监测装置将计算机通信技术、无线传感网络技术和软件技术三者结合起来,构建河流水源地水环境集约化智能监测管理系统。本文数据汇聚处理节点的开发环境为C语言环境,树莓派3代B型的显示屏的设计开发是基于QT环境,web网页的设计采用python语言,以实现终端探测节点监测的数据传输给数据汇聚处理节点并存 段至数据库,用户可以通过访问局域网访问数据库的数据信息的功能。软件和硬件的设计方案反复论证,确定最为优选的设计方案,设计硬件电路图并印制电路板,采购相应的元器件完成硬件的制作,再此基础上进行软件的设计,然后进行软硬件联合调试。根据软硬件联合调试中出现的问题,进一步优化设计方案。最终将设计开发的实物样机投放到河流水源地实际测试。

  1.5论文结构

  第1章:分析了本论文选题的背景和意义,分析了水质检测设备国内外发展的现状,并阐述了设计的最终解决方案。

  第2章:对本设计进行了总体方案的分析,对核心部分进行了方案选择,并对系统整体进行了过程性的分析。

  第3章:对本设计进行了硬件的选型以及介绍,并对重要模块进行了详细说明。

  第4章:对整个系统的软件程序进行说明。

  第5章:对硬件系统主要模块以及软件系统的功能测试。

  2系统方案设计

  系统整体设计通过温度、PH值、TDS值和浑浊度传感器采集河流水质情况,借助无线通信技术,完成对指定河流的数据采集和分析,在数据采集的过程中,将传输的数据回传到上位机中,对数据进行分析,若监测的数据过高或过低时发出警告信息,并且用户可以通过网页随时查看数据变化情况。

  系统的主要参数如下:

  1)检测水质深度大于50CM;

  2)通信传输距离超过10米;

  3)数据检测值精确到小数点后两位。

  2.1系统总体方案分析

  在本装置中,无线通信模块承担着数据的发送和接收的工作,多个传感器模块组成监测设备实现对水质检测数据的收集和发送,用户通过上位机设置水质数值的上下限,接收监测设备的数据并通过数据库进行分析。所有的数据用户可以通过客户端查询各河流水源信息,宏观动态地掌握各个水源地水环境情况。

  图2-1系统总体方案框图

  系统总体方案框图如图2-1所示,图中:客户端、移动设备和PC机。

  该系统方案如下:

  1)用户使用手机、平板、电脑等设备,通过4G、5G、WIFI和上位机组件连接。

  2)使用上位机设置监测数值的上下限、定时监测或者立即监测。

  3)使用上位机软件,进行绘图,绘图完成后在各个监测点生成坐标,若检测设备距离上位机组件比较远,则在中间加入基站。

  4)检测设备监测过程中,会实时传输该点的相关数据,同时用户可以在上位机进行各河流的数据查询.

  2.2系统的方案论证

  2.2.1监测设备方案论证

  方案一:采用STM32嵌入式单片机实现对各个传感器进行数据的处理、传输工作。

  方案二:采用8051单片机实现对各传感器进行数据处理、传输工作。

  经过分析,选择方案一。本装置中采用多个传感器,如温度传感器使用DS18B20传感器,该传感器使用的是1-wire单总线的接口。而TDS传感器采用串口接口。此外,本装置中的浑浊度传感器、PH传感器和电量检测都是用的模拟电压信号传输模式,故主控制器需要有ADC控制器。无线传输模块使用NRF24L01模块进行数据传输,该模块控制是基于SPI接口。该芯片主频72MHz,相对于传统的8051单片机该控制器有着更高的处理速度。而且STM32F103C8T6自带3个ADC模块,2个SPI模块,3个串口模块,35个外设引脚,它的接口足以支持本设计中所需要的要求。故,STM32F103C8T6是最适合作为本设计的主控制器。

  2.2.2数据汇聚处理方案论证

  方案一:采用CC2530射频单片机,通过其构建成自组网模式,将数据发送给Zigbee协调器,最后将整个数据构成数据包通过232通信方式发送至上位机,并通过上位机连接到数据库。

  方案二:树莓派搭建Linux系统并运行Django框架和MySQL数据库的程序和NRF24L01模块,实现对各个模块进行数据的处理和传输。

  经过分析,采用方案二。方案一中ZigBee的传输数据有限且使用比NRF24L01繁琐。树莓派中的web服务器,用户通过3G、4G、WIFI等访问经web服务器处理的水环境各项参数信息,并将数据库中存 段大量的监测设备的数据信息并读取出来实时显示在移动便携设备上。而CC2530射频单片机存取速度较慢且不能存 段超大容量数据。NRF24L01输出功率和通信频道可通过程序进行配置,nRF24L01功耗低,工作频率为2.4GHZ,数据监测处理器访问局域网,读取树莓派数据库中的信息,NRF2401模块和树莓派连接SPI端口,使各个监测设备现场采集到的数据能实时显示在数据监测处理器上。

  2.3本章小结

  本设计的中的监测设备主要用于检测河流水源地水环境的各项参数指标,该监测设备主要由主控制器、传感器模块、电源模块、锂电池充电器、拨码开关和无线传感器模块组成,由于一条河流需要多个监测设备,所以拨码开关用于设定设备地址,每个监测设备均有设备地址,用于区分河流水源地现场不同设备所传输的检测参数,便于对不同的河流水源地中不同的监测设备统一管理。

  本设计中的数据汇聚处理服务器是由树莓派3代B型和无线传输模块构成,无线传输模块和树莓派连接SPI端口,数据汇聚处理节点接收监测设备发送饮用水源地水环境各项参数信息并存 段至数据库。利用同时,web服务器采集监测设备中各检测设备的数据,解析数据包并将各个数据依次分类存入MySQL数据库,再存入数据库时会将所存入数据与设定的阈值进行比较,若所存入数据过大或过小,web服务器会及时通知管理人员并告警;数据监测处理器与MySQL数据库通过UDP通信方式实现,UDP可以在不同平台进行数据交换。

  3系统硬件电路设计

  硬件电路设计是每个系统最基本的工作,如果硬件设计不合理,将会影响到整个系统硬件甚至是系统软件。其中硬件电路的元器件选择则是不可或缺的环节,尤其是关键电路的元器件选择,它的作用决定了整个系统的可靠性与效率性。硬件系统和软件系统是相互依存的,只有硬件电路完好无损,软件系统才可以将硬件系统体现出最大的价值。

  本装置的硬件电路主要负责对河流水源地的水环境参数实时测量并将测量数据上报。检测设备由主控制器、测量传感器、无线传输模块、电源管理系统组成。其中测量传感器包括温度传感器、TDS传感器、浑浊度传感器和PH值传感器。电源管理系统由电池供电部分和电压电量检测部分组成。如图3-1系统硬件总体结构框图所示。

  图3-1系统硬件总体结构框图

  3.1主控制器电路设计

  主控制器主要负责终端探测节点中传感器的控制和测量数据的汇集上报。它是整个硬件部分的核心,它的工作效率决定了整个系统的工作效率,如果主控制电路选型出现错误将会造成整个系统工作不稳定。

  基于本系统的功能,本系统采用STM32F103C8T6芯片作为本系统的核心芯片。此款芯片基于ARM的CortexTM-M3内核,工作频率高达72MHz,内置512K字节的闪存和64K字节SRAM。而且集成丰富的外设,例如3个12位ADC、4个通用的16位定时器和2个PWM定时器,包括CAN通信在内的多个通信接口。主控制器STM32F103C8T6单片机最小系统如图3-2所示。]

  图3-2 STM32F103C8T6最小系统

  单片机3.3V电源输入与GND地线之间并联0.1uf电容,电容用于 段能与滤波。主控制器芯片的PC13口接一个LED,以此确认单片机是否处于工作状态;采用5V的锂电池供电,经过LM1117-3.3V芯片提供3.3V电源。为了区分不同的设备,本装置采用拨码开关设定设备地址来区分不同设备,拨码开关与主控制器的外设引脚直接相连。此外,温度传感器、PH传感器分别接主控制器的PB15和PA4口;TDS传感器接主控制器的PA6口;浑浊度传感器接主控制器PA5口。

  3.2传感器电路设计

  3.2.1温度传感器模块

  本装置采用DS18B20数字式温度传感器作为温度采集模块的传感器,该传感器能适应复杂的温度测量环境。该传感器采用1-wire单总线连接方式过监测,传感器和主控制器只需要一个接口进行双向通信且该传感器不要任何其他外围设备,连接后能直接通信。温度传感器模块电路如图3-3所示,采用3脚封装与STM32F103C8T6芯片的PB15口相连。

  图3-3温度传感器模块电路

  3.2.2 PH值传感器模块

  采用PH-BTA型号作为PH值采集模块的传感器,该传感器采用快速电缆接头,具有防水、使用寿命长、易装配等特点。PH-BTA型PH传感器测量范围是0-14PH,有自动采集数据、作图表、数据分析等功能,也是市面上常见到的PH值传感器。PH传感器模块电路如图3-4所示,与STM32F103C8T6芯片的PA4口相连。

  图3-4 PH传感器模块电路

  3.2.3浊度传感器模块

  浊度传感器采用TS300B型号作为水质浊度采集模块,该传感器将传感器输出的电流信号转换为电压信号,通过单片机进行AD转换数据处理。该款模块具有模拟量和数字量输出接口。模拟量可通过单片机A/D转换器进行采样处理,以获知当前水的污浊度。数字量可通过模块.上的电位器调节触发阈值,当浊度达到设置好的阈值后,D1指示灯会被点亮,传感器模块输出由高电平变成低电平,单片机通过监测电平的变化,判断水的浊度是否超标,从而预警或者联动其他设备。图3-5为浊度传感器电路模块电路图,图3-6浊度传感器实物图所示,与STM32F103C8T6芯片的PA5口相连

  图3-5浊度传感器模块电路图3-6浊度传感器实物图

  3.2.4 TDS传感器模块

  TDS3AAM型号的TDS传感器模块即插即用,使用简单方便。3.3~5.5V的宽电压供电,0~2.3V的模拟信号输出,使得这款产品兼容5V、3.3V控制系统,能非常方便的接到现成的控制系统中使用。测量用的激励源采用交流信号,可有效防止探头极化,延长探头寿命的同时,也增加了输出信号的稳定性。TDS探头为防水探头,可长期浸入水中测量。如图3-7TDS传感器模块电路实物图所示,与STM32F103C8T6芯片的PA5口相连。

  图3-5 TDS传感器模块电路图

  3.3无线通信电路设计

  3.3.1无线节点及外围电路设计

  本设计的无线模块采用NRF24L01模块,该模块无线传输数据时是基于2.4G免费频段进行数据传输。该模块与主控制器采用SPI接口进行通信,各个无线模块中采用原始传输协议进行数据传输,无线通信模块电路如图3-6所示。

  图3-6无线通信模块电路

  3.3.2无线通讯协议的设计

  无线通讯协议是负责站点与服务端的通讯规则。本设计的无线传输协议采用原始的传输协议,协议主要由帧头、设备地址、命令、数据长度、数据正文、CRC校验和帧尾组成如表3-1所示。其中帧头和帧尾为固定格式,以便区分数据帧使用,帧头固定为0xFC 0xFC,帧尾固定为0xFF 0xFF 0xFC 0xFF。设备地址为5字节是为了区分来自不同的设备的数据。命令为1字节,命令主要包括广播命令(0x01)、广播响应命令(0xFE)、数据上报命令(0x02)、数据上报回应命令(0xFD)、设备控制命令(0x03),设备控制回应(0xFC)。数据长度主要描述后面数据正文的字节数。CRC校验一般采用CRC6校验方式,该校验包含除去帧头和帧尾以及本字段的所有数据的CRC值的校验和。

  表3-1命令帧格式

  帧头设备地址命令数据长度数据正文CRC校验帧尾

  3.3.3无线数据的传输

  本装置中终端探测节点设备与服务端数据进行通讯主要分为两部分:寻呼服务器与服务器进行通讯。设备刚开机或刚重启之后需要通过广播的方式寻呼周边是否有服务端设备存在,广播地址默认为0xFF 0xFF 0xFF 0xFF 0xFF,服务器在设备的服务端请求后会将设备的地址以及当前的时间戳值记录,并通过设备的地址与设备建立一个单独的讯道进行数据通讯。当设备端与服务端建立连接成功时,设备会周期性的测量数据并将数据进行上报,每次上报数据后设备会等待服务端的回应或服务端超过3秒未回应时默认设备掉线,设备会停止数据测量并重新开启广播寻呼。为了确保数据传输过程中的完整,本设计在数据传输中采用CRC校验方式,设备和服务器端每发送一个数据帧,都会对每帧的数据进行CRC计算,并将计算值一并和数据发送个给对方(服务端/设备),对方在收到数据时首先进行数据校验,若数据校验失败会发送重发请求,若校验成功会有相应的回应。

  3.4电源电路设计

  电源电路的连接比较简单,由于需要5V的电压作为基准电压,于是采用5V的锂电池供电,经过LM1117芯片提供5V电源,其只需要将其电源和地连接主控制器即可。如图3-7所示

  图3-7 LM1117芯片电路

  4系统软件设计

  4.1子系统监测端软件总体设计

  本装置子系统监测端软件设计是计算机通信技术,无线传感网络技术和软件技术的有机结合,采用pycharm作为饮用监测管理软件系统开发平台,应用C,C++,Python等语言与Mysql数据库搭建水环境集约化智能监测管理系统,该监测与管理软件分为用户登录单元,分析查询单元,设防预警单元,设备管理单元和系统管理单元等五部分。用户登录单元设置的目的是识别登录网页的人员,实行一人一账号访问网站,若登录账号各项信息都与系统初始设定值吻合方可访问,有效地保证监测数据的安全,确保系统的安全可靠;

  分析查询单元分为详细查询子单元、选项查询子单元和图标查询子单元,可供用户调看各站点任一时刻上报的饮用水源地水环境各项参数的数据,用户可以以通过动态曲线或表格的形式直观地观察饮用水源地水环境参数的实时变化;设防预警单元分为监测列表子单元和监测图示子单元,当终端探测节点采集到的各项参数超出用户预设值时,会提示用户异常的河流水源地站点号;设备管理单元分为设备状态子单元和设备升级子单元,用于用户有选择性地控制终端探测节点的开启和关闭,便于用户对各个饮用水源地中各现场设备的站点集中管理和统一调度;系统管理单元分为用户管理子单元、用户设置子单元、硬件状态子单元和系统日志子单元,可供用户查看硬件状态、系统日志和用户设置等,本设计软件子系统监测端功能分布如图4-1所示。

  图4-1软件子系统监测端功能分布图

  本设计系统的数据中心主要包括用户信息数据库、设备信息数据库和采集数据数据库三大部分组成,用于存 段各终端探测节点的设备地址,用户状态,饮用水源地水环境的各项参数,实现河流水源地水环境智能化管理。数据汇聚处理节点数据库框图如图4-2所示。

  图4-2数据汇集处理节点数据库框图

  本设计中MySQL数据库主要记录的数据如下:

  用户表,记录用户名,密码MD5加密值,用户状态,创建时间,上次登录时间,是否为管理员用户等

  设备表,记录设备地址,设备状态,设备上线时间,设备在线时间,是否开启温度监测,温度监测上限值,温度监测下限值;是否开启TDS监测,TDS监测上限值,TDS监测下限值;是否开启浊度监测,浊度上限值,浊度下限值;是否开启PH值监测,PH值上限值,PH值下限值。

  每个检测设备都对应一张设备信息表,记录设备地址,捕获时间,上报时间,当前温度数据,TDS数据,浑浊度数据,PH值数据等。

  4.2子系统监测端程序设计

  河流水源监测装置的软件编程和仿真调试的工具为Keil uvision5,程序设计采用面向对象的封装模块的思想,整个程序分为数据接收模块、数据监测模块、数据显示模块、数据查询和设备管理模块。

  数据接收模块主要将终端探测节点上报的数据进行校验、解析并存入数据库。数据接收模块由C语言基于POSIX C库编写,为支持多个终端探测节点并发数据传输,该程序为多线程程序。数据监测模块主要负责饮用水源地水环境参数的监测,该程序也是由C语言编写。数据显示模块主要能将数据库中的终端探测节点实时上报的水环境各项参数显示在树莓派的显示屏上。由于树莓派的系统本身就是Linux系统的一种,故数据显示模块使用了跨平台高效率的QT语言编写。另外为了支持用户远程设置监测阈值,以及远程的设备操作以及设备上报数据的访问,本装置还提供了web网页访问接口。为了简化程序web后端的开发难度,本装置使用了给予python语言的Django后端框架,python语言是近年来较为简单的开发语言,这样大大降低了整个系统的开发难度。后端服务器使用nginx+uwsgi框架软件,该框架简单而且支持大数据高并发的访问。下文主要对各个模块的设计过程和思路展开简单的描述。

  4.2.1监测设备数据采集软件设计

  当监测设备的硬件上电启动时,系统需要对河流水源地现场监测设备所存 段的数据进行初始化,完成初始化之后等待被主程序所调用,在被主程序调用之后进行中断判断,如果主程序判断中断,则下一步进入传感器检测模块,再次命令传感器检测模块对河流水源地的各个参数进行检测,并在规定的时间点内进行数据采样。图4-3为监测设备程序执行流程图。

  图4-3监测设备程序执行流程图

  监测设备中部分核心程序代码如下:

  }

  4.2.2数据接收发送模块软件设计

  本装置设计的上位机采用的树莓派3代,树莓派上主要运行三个模块的程序:设备数据接收处理、数据实时显示和web请求响应。设备数据接收处理主要通过NRF24L01这一无线传输模块实现。树莓派上电后首先初始化NRF24L01模块,然后连接到数据库,接着循环监听NRF24L01模块是否接收到数据,当接收到数据时将数据进行解析并存入到数据库中,并继续监听。数据实时显示是将数据库中的数据实时更新显示到树莓派触摸屏上。树莓派上电后初始化显示屏显示并连接数据库并将数据库中最新的数据显示到显示屏上,显示屏更新数据显示以3s为一个周期定时读取数据库显示数据。web请求程序主要负责用户网页数据请求并将数据返回给用户。树莓派上电程序执行流程图如图4-3所示,树莓派各部分关系图如图4-4所示。

  图4-3树莓派上电程序执行流程图

  图4-4树莓派各部分关系图

  无线模块中部分程序代码如下:

  *

  4.2.3数据监测模块软件设计

  本装置中的数据采集由STM32F103C8T6单片机控制传感器模块动作,传感器检测的各项数据的上报是通过NRF24L01无线模块进行传输的。本装置中的终端探测节点每上报的一条数据都会由树莓派上的water prober程序将数据存 段到数据库中。因此本装置中数据监测是和数据接收存 段是伴随进行的。终端探测节点每上报一次数据,监测程序会将上报数据与用户设定的监测值进行比较,若上报数据超过设定的阈值,则监测程序会向用户发出报警信息。用户监测的阈值是由用户在网页端设置,这些设置的数据实际上也是存 段在数据库中。每次监测程序启动时,监测程序都会将数据库中将每个监测的阈值取出到内存中,用于后面的数据监测使用,部分程序如下:

  4.2.4数据显示模块软件设计

  为了方便用户能实时查看设备当前上报的数据,本装置提供显示屏显示实时数据。数据显示模块由C++语言使用QT库开发而来。模块上电后数据会请求连接数据库,由于终端探测节点上报数据是周期性的,默认数据上报周期为3秒,因此显示模块会每3秒获取每个在线设备(终端探测节点开启)的最新数据并将其显示到显示屏上。使用QT开发数据显示模块的优势在于,QT有强大的显示控件库,并且支持跨平台开发,部分程序如下:

  4.2.5数据查询模块及其程序

  数据查询和设备管理都是用户通过web页面访问树莓派的后端,由树莓派的后端进行数据查询或者设备命令下发。数据查询支持查询设备的历史温度、TDS、浑浊度以及PH值数据,使用页面查询数据还可以根据这些数据绘制相应的动态曲线图,以直观的看出数据的变化。对于多设备的数据查询有时会有很多用户在不同的地点需要数据查询,使用网页作为数据查询支持多用户并发访问的需求,部分程序如下:

  4.2.6设备管理模块

  设备管理模块也是通过用户在网页进行相关操作。本装置支持用户远程对监测设备进行重启和升级的设定。当用户发在页面上对设备进行重启或器件升级时,树莓派B的后端服务器会将这些命令通过UDP转发到相应的设备上。使用UDP作为通讯的优势在于,UDP传输数据的速度较快,此外本设计的监测设备使用C语言进行编程,而web网页端使用python语言,两种语言进行数据通讯交互,使用套接字(包含UDP,TCP)是最简单的方式。

  5系统调试

  5.1无线模块收发程序调试

  基于无线传感网络的河流水源监测装置的设计是否成功,关键在于NRF24L01无线模块能否正常发送和接收数据信息,因此无线模块收发程序的调试工作显得尤为重要。在硬件完成设计的基础上,我们使用Keil 5软件在C语言环境下进行编程,将编写好的程序烧录进硬件,将硬件通电开关开启,观察现象。如果终端探测节点上的指示灯闪烁,则表明终端探测节点的无线模块和数据汇聚处理节点上的无线模块没有匹配上,在无干扰的情况下,该型号无线模块传输数据的有效距离在200米左右。若终端探测节点上的指示灯长亮,则表明终端探测节点和数据汇聚处理节点已经匹配上,可以正常传输数据。经过软硬件联合调试,我们验证了硬件设计合理,软件设计符合要求,终端探测节点和数据汇聚处理节点中的无线通讯模块设计完整可行,实物功能达到预期效果。图5-1为河流水源监测系统软件程序图,图5-2为监测设备和数据汇聚处理中无线模块匹配成功效果图。

  图5-1河流水源监测系统软件程序图

  图5-2无线模块匹配成功效果图

  当终端探测节点开启后发送检测数据,终端汇集处理节点接收数据并存 段至数据库,图5-3为数据汇聚处理监测端调试图,数据汇聚处理节点能实时接收数据,此调试足以证明软硬件设计合理,硬件检测电路设计和各传感器选型均符合实际使用要求。

  图5-3数据汇聚处理监测端调试图

  5.2河流水源监测系统总调试

  本装置在软硬件联合联合成功地基础上,把河流水源监测系统实物部署到某河流水源地进行实际测试,在100m2的河流水源地放置了2个终端探测节点和1个数据汇聚处理节点组成无线传感网络,经实际测试可知,数据汇聚处理节点能正常接收终端探测节点发送的当前河流水源地水环境的各项参数。我们对当前河流水源地现场的温度、PH值、TDS值和浑浊度参数值进行了采样分析,从web网页首页中可以看出我们当前的在线设备数为两台,总上报量为528次,当两台在线设备预设的温度下限值0°,上限值为30°;TDS的下限值0 mg/L,上限值为50 mg/L;浑浊度的下限值为0 NTU,上限值为1 NTU的时,我们可以看到报警量为223条。

  该装置支持多个终端探测节点同时采集数据,数据汇聚处理节点同时接收各个终端探测节点发送的数据,并将数据解析保存至数据库,当河流水源地水环境各项参数预设值不符合预设值时,系统会告警,进而通过人工干预的方法来调节饮用水源地水环境,使其达到最佳状态。本装置采用无线传输的传输方式组网灵活方便,开通迅速且维护成本较低。河流水源基地现场试验如图5-3所示;在上位机的设计当中,登录界面如图5-4所示,在刚开始打开上位机监测端时,我们在系统中设置了需要进行用户注册的步骤;图5-5为饮用水源监测系统的登录界面,图5-6为河流水源地水环境参数设定的极限值,图5-7为水源监测系统首页。

  图5-4某河流水源基地现场试验图

  图5-5用户登录页面

  图5-6为河流水源地水环境参数设定的极值

  图5-7为河流水源监测系统首页图

  5.3调试结果

  通过对本装置每个部分进行全面的测试后,测试结果表明该系统各部分工作正常,基本功能均能够正常实现,下位机和上位机之间能正常通过NRF24L01无线模块进行通讯,各终端探测节点中检测模块通过无线传感器模块能与上位机完成数据传输,用户连接树莓派发射的WIFI信号访问网页,能正常读取树莓派中数据库存 段的各终端探测节点监测的各项参数信息。在河流水源地现场的各终端探测节点中的各个检测电路也能够实时和连续的向主控单片机传输数据,同时各终端探测节点监测的饮用水环境参数每3秒钟向数据库发送一次,数据库接收并保存。用户可以根据实际需要在网页的页面上查询任一时间段任一站点的检测数据,可以查看各站点历史参数数据的报告及大数据分析。通过在河流水源基地现场反复测试,发现系统检测数据和存 段数据能力基本符合实际使用要求。

  下图为2019年5月15日在河流水源基地现场监测水环境各项参数的实时曲线。图5-8为河流水源基地水环境的温度变化曲线,图5-9为河流水源基地水环境的TDS电导率变化曲线,图5-10为河流水源基地水环境的浑浊度变化曲线,图5-11为河流水源基地某时间段传感器数据曲线,图5-12为设定各终端探测节点监测参数的极限值。