基于ZigBee技术的巢湖水质监测系统设计
2019-09-13乔欣孔兵
乔 欣 孔 兵
(巢湖学院 电子工程学院,安徽 巢湖 238000)
近年来,“绿水青山就是金山银山”的理念不断深入人心,然而针对大面积、复杂环境因素等问题的水源监测成为了当前改善生态环境的难题[1-3]。
2017年11月的巢湖水质分析报告显示,东半湖、西半湖及全湖的水质均呈中度污染,全湖主要污染物为总氮、总磷,其中总氮浓度为0.74~2.16 mg/L,均值为1.27 mg/L,总磷浓度为0.05~0.16 mg/L,均值为0.12 mg/L,虽然这些数据并不能表征全湖,但是对比上一年来看是有所恶化的。作为中国五大淡水湖之一的巢湖,水质恶化监测难、缺少先进的监测手段、无法实时反映当前水质情况等问题是当今面临的主要问题[4]。巢湖水质的严重污染已经成为巢湖流域经济、社会发展的瓶颈,使该地区既不能形成良好的人居环境,又不能形成健康、安全的投资环境,严重影响和制约了流域内经济、社会的可持续发展,最为直观的是影响到依靠湖水进行的水产养殖业及居民的生活健康。因此,基于当前的无线传感器网络技术,设计一套实时监测系统解决巢湖水质监测系统存在的问题显得尤为重要[5-7]。
水质监测可以分为环境水体监测和水污染源监测,两种监测互补,不仅要监控当前水体情况,还需要及时发现新的污染源或者排放口,改善水质[8]。传统水质水域检测方法主要是以人工采样然后进行实验室分析为主,这种方法缺少连续性、时效性差、效率低下且数据样本少等问题,对于实现水污染源监测较为困难,阻碍了后续工作者对巢湖水资源进行科学有效治理的研究[9-11]。而有线网络监测能够解决时效性问题且能够保证数据的有效传输,常被用于巢湖的环湖河流流入时监测,针对大面积的湖水检测因其成本高、范围受限、施工复杂等因素,不适用于巢湖水质监测[12-13]。
无线传感器网络是一种可大规模部署形成以数据为中心的自组网络,具有成本低、可扩展性好,智能化程度高,不受范围影响等特点,在智能监测、监控领域具有广泛的应用前景[14-15]。如果部署大量的传感器节点,根据大数据分析技术找出水质污染指标的变化特征不仅能够实现环境水体监测而且能够实现水污染源监测[16]。
针对水质监测和水域污染等问题,学者已经做了大量的相关研究工作,如文献[17]提出了基于无线传感器网络进行传输及采用模糊算法进行测评的方法对水质进行监测,设计了水质状态通过手机APP展示方式。文献[18]提出了基于无线传感器网络的水质在线监测系统,通过GPRS将数据传输给数据中心,文中主要阐述了软硬件设计的过程。然而针对基于无线传感器网络传输的水域水质监测系统,不仅要有详细的软硬件设计,同时也需采集数据、传输数据、结果评估等分析。
基于此,研究提出了一种基于ZigBee技术的巢湖水质监测系统,以温度、pH值、溶解氧为采集特征,设计了相应特征的传感器节点,解决了传统水质监测的不足,实现了巢湖水质的无线监测、远程实时监控、数据传输的功能。
1 系统总体结构及原理图
巢湖水质监测系统由传感器节点(Sensor node)、路由节点(Routenode)、汇聚节点(Sinknode)、监控中心(Monitoring center)等部分组成[19]。
其中,传感器节点:是无线传感器网络的基本功能单元。其基本组成模块有:传感单元(由传感器和模数转换功能模块组成)、处理单元(由嵌入式系统构成,包括CPU、存储器、嵌入式操作系统等)、通信单元(由无线通信模块组成)、以及电源部分(如图1所示),需要完成监测数据的采集和转换、数据的管理和处理、应答路由节点的任务请求和节点控制等多种工作[20]。
路由节点:与传感器节点组成模块类似,与传感器节点相比缺少传感单元,可以参与路由发现、信息转发、通过连接的节点来扩展网络的覆盖范围等。
汇聚节点:是连接传感器网络与互联网等外部网络的节点,一方面收集来自路由节点的采集信息,另一方面负责与外部网络互通,具备下发指令、转发数据等功能。
监控中心:是集历史数据存储、指标展示、预警、传感器网络管理、水质参数采集任务管理等一体的监控中心。
图1 系统整体结构图
整体结构如图1所示。监测区域由传感器节点与路由节点组成,通过ZigBee协议自组网进行数据采集与传输,各个节点以多跳的方式协同作用,实现基于ZigBee技术的水质监测系统。定时监测过程:传感器节点定时采集到数据后将信息广播到周围邻近的路由节点,路由节点收集周围节点的信息后通过无线的方式传给汇聚节点,汇聚节点包括ZigBee与GPRS两个模块,ZigBee负责接收节点的数据,GPRS模块负责通过GPRS与Internet网络将信息传递给监控中心,指令监测即监控中心发出监测指令经过无线传感器网络下达至传感器节点,使其激活并执行采集活动达到指令监测的目的。
ZigBee网络主要有三种网络拓扑结构:星形、簇树形、网状型网络拓扑结构,如图2所示。由于星形拓扑结构实现起来功能简单,容易受中心节点的影响。簇树型拓扑结构网络结构复杂,一旦中间节点失效,整个网络也会瘫痪。网状型拓扑结构伸缩性较好,具有动态组网和自动连接路由的功能能,传输性能很高,因此,采用网状型的拓扑结构。
图2 ZigBee网络拓扑结构图
传感器节点是巢湖水质监测系统的重要组成部分,由传感器探头、信号调理电路、处理器模块、无线通信模块以及电源管理模块[6]、浮标、固定装置组成,结构如图3所示。研究采集三类特征参数进行监测,并设计了浮标节点即将除了三类传感器探头外的其他模块安置在浮标上,并采用固定装置将浮标固定,防止由于暗流、风速等因素导致浮标位置漂移,同时记录浮标的经纬度。传感器节点的工作原理:首先传感器探头采集温度、pH值、溶解氧三类特征的弱电信号,接着经信号调理电路对信号进行放大、滤波处理后,传送给CC2530的A/D转换模块,将模拟信号转化为数字信号进行后续的数据传输,最后信息由CC2530的ZigBee通信模块广播给其他协作节点。电源管理模块为整个传感器节点供电,包括3.3 V、5 V等电源转换。路由节点硬件原理结构图与传感器节点相似。
图3 传感器节点结构图
汇聚节点由CC2530控制器、GPRS模块、存储器、电源管理模块组成,本文将GPRS模块引入汇聚节点旨在解决远距离通信问题。
2 无线传感器网络节点硬件设计
由于巢湖水质环境监测复杂,因此在本设计中传感器节点采用电池供电以降低功耗。下面分别介绍各个传感器模块的电路设计。
2.1 温度调理电路设计
温度调理电路采用+5 V与-5 V供电的电桥与运放组成,通过控制电桥平衡来控制输出电压值。调节滑动变阻器Rp的阻值使电桥平衡,此时放大器输出为0 V,当温度发生变化时电桥失去平衡状态,此时放大器输出电压为Vt,利用CC2530芯片的AD转换功能,根据电压值和热敏电阻的函数关系计算出温度值。温度调理电路如图4所示。推导出放大器的输出电压计算公式为:
其中,R1∶R6分别为固定电阻,RP为可调电阻,Rt为热敏电阻。
图4 温度调理电路
2.2 pH值信号调理电路设计
pH值是表示水质在6~9正常范围的酸碱程度,pH电极将被测溶液的pH值转化为电压信号[7],通过电极之间压差的变化测量出水质pH值的大小。实际测量发现pH值复合电极输出的电压较小,无法直接算出pH值的大小,因此采用双运放差分放大器将电压的输出范围放大至0~3.3 V,pH值信号调理电路如图5所示。
推导出pH值信号调理电路的输出电压为:
式中,Vin是 pH 电极输出电压,R9,R10,R12∶R15分别为固定电阻,R11,R16为可调电阻。
图5 pH值信号调理电路
2.3 溶解氧信号调理电路设计
溶解氧电极输出的溶氧度与电极输出的电流成线性关系,而实际测量中发现电极输出的电流信号非常小,只有几十微安,因此,在调理电路中采用5 V供电的运算放大器构成2级放大,第一级放大经运算放大器将电流信号转化为电压信号,第二级放大通过A/D转换电路放大滤波输出电压值。
3 水质监测系统的软件实现
巢湖水质监测采用自组网的方式将传感器节点、路由节点、汇聚节点组成无线网络,各节点按照硬件与软件的设计分工明确。
信息管理平台能够让用户及时地获取无线传感器网络采集的水质数据,同时也可以实现对相关参数(报警阔值、采样间隔)的重新配置。在进行系统功能划分时以数据为主线,采用模块化设计方法,整个系统主要划分为:通信管理模块、人机交互界面模块、配置管理、数据库模块和其他功能模块等5个功能模块,如图6所示。
图6 信息管理平台功能模块划分
开发的远程信息管理平台针对水质监测,传感器网络需要采集的水质参数种类多,监测密集,单位时间内交易的数据量大,因此需要稳定的操作系统和数据库软件来支持具体功能,分层体系架构如图7所示。
图7 信息管理平台软件架构图
传感器节点主要起到数据的定时采集数据与转发、自动组网、无线网络维护、接收与执行路由节点的控制消息等作用。因此,基于ZigBee协议栈的传感器节点软件设计过程如图8所示。传感器节点周期的采集数据,考虑到能耗问题,实际采集频率设置为1次/小时。启用CC2530的定时器模块,每次采集完成后,传感器节点自动进入休眠状态,直至下一个采集时间点,再次循环进行新一轮的采集任务。
图8 传感器节点软件流程图
汇聚节点负责网络的启动和配置,其负责接收路由节点发送过来的信息,并将信息传至监控中心,也可将监控中心下达的命令发送给路由节点,进而传至传感器节点,完成信息的接收和发送[8]。汇聚节点程序设计流程图如图9所示。
图9 汇聚节点软件流程图
4 系统测试
本部分进行了两部分测试:丢包率测试与巢湖水体特征数据测试,其中测试水质监测系统的丢包率是为了检验可靠性与稳定性,水体特征数据测试是验证文中设计的传感器网络的数据采集、数据传输能力、数据准确性。
丢包率测试:首先基于文献[15]中的研究,无线传感器网络的节点RSSI与传输距离有关,经过多次实验发现,RSSI与丢包率为强关联,在通信半径R小于固定值K时RSSI对丢包率的影响不大,当R>K时,RSSI越大,丢包率越低,因此本次实验通信半径设置为40 m。将节点固定在浮标上,部署5个传感器节点,5个路由节点,1个汇聚节点在300 m×300 m的水域范围内,测试采集频率设置为30 min/次,连续采集21 d,得到如表1所示数据。从表中看出,该系统具备较好的稳定性与可靠性,平均丢包率为0.8%。此外,通过实验发现,环境噪声、软件设计接收机制等都可以影响无线传感器网络的可靠性传输。
水质特征数据测试:在25℃条件下,在实验室使用邻苯二甲酸氢钾与盐酸配置不同的pH溶液供实验测试。如表2所示,使用pHscan 20测量计测量的pH值与本系统测量巢湖水质参数的pH值接近,误差在1.17%。在选择传感器节点与温度计同时测量同一水杯中的水温,大量测试数据中,同时使用YSI550A测出溶液的溶解氧,选择了5个对比值。如表3所示,从表3中可以看出,温度测量精度在0.4℃以内,溶解氧测量精度在0.2 mg.L-1以内,平均相对误差分别为0.56%、1.59%,本文设计的水质监测系统测量精确,可以满足巢湖水质监测应用的要求。图10是本系统与标准测量仪器连续监测20 h的数据,从图10中可以看出,本文设计的系统与标准仪器监测数据差别不大,系统运行稳定,满足正常监测的需求。
表1 无线传感器网丢包率统计
表2 25℃时pH值测试结果
表3 水温与溶解氧测试结果
图10 水质参数实时监测曲线图
5 结论
针对巢湖水质水域情况,研究设计了基于ZigBee技术的巢湖水质在线监测系统。该系统通过传感器节点采集温度、pH值、溶解氧三种参数评估水质现状,路由节点把采集到的水质参数传至汇聚节点,汇聚节点将收集到的水质参数通过GPRS网络传给上位机,满足水质数据实时监测应用的需求。经实验表明,该系统测量精确,稳定可靠,能够大范围的监测巢湖水资源环境,为保护生态巢湖提供技术支持。然而,虽然系统可以解决实时监测的问题,但是面对海量实时监测数据的应用、水质预警、污染源快速定位等问题仍需进一步研究,同时基于救援、旅游、水上作业、灾害预警等高精度定位研究也是关键技术,未来结合大数据技术建立合适的分析模型同时优化定位技术是重点的研究方向。