基于物联网技术的丹江流域水质监测预警系统设计
2022-06-22何建强韩美林
何建强,韩美林
(1.商洛学院 电子信息与电气工程学院,商洛 726000;2.商洛市人工智能研究中心,商洛 726000)
习近平总书记强调:“秦岭的自然生态美景,谁都不能破坏”。 保护好秦岭生态环境,既是贯彻落实新发展理念、建设生态文明、维护国家生态安全的必然要求,也是推进“五新”战略、促进秦岭地区人与自然和谐发展的重大举措, 具有重要的社会、经济、生态、文化价值,功在当代,利在千秋[1]。 丹江发源于陕西省商洛地区西北部的秦岭南麓,流经陕西省、河南省、湖北省,在湖北省丹江口市注入丹江口水库,与汉江交汇[2]。 干流全长390 km,是汉江最长的支流,流域面积17300 km2,占汉江流域总面积的10%[3]。 丹江是“南水北调”中线工程的重要水源地,近年来,商洛市全面实施循环发展战略,保护水源地,建设生态商洛,确保“一江清水供京津”。 但虽随着移民搬迁工程的推进及经济社会的发展,越来越多的生活污水排放至丹江, 直接影响丹江流域水质。 丹江流域的污水监测每年耗费巨大的人力、财力,不具备实时、智能的特点。 本文针对目前丹江流域污水源水质监测方面存在的问题,设计了一种水质监测预警系统,该系统可通过ZigBee 无线传感器网络和4G 网络完成水质参数的采集和传输, 通过ABC-BP 预测模型,实现pH 值、DO(溶解氧)、导电率、水温等水质的实时显示和预警功能[4]。 本系统的设计有助于提升丹江流域水污染的治理和防控能力,提高水质自动化监测的准确性,为政府的水环境监测与治理提供有效的基础信息和有力的技术支撑,促进了智慧城市建设。
1 系统总体方案设计
本系统主要由监测终端部分、4G 网络模块和上位机软件部分组成,系统总体结构如图1 所示。 监测终端部分主要实现pH 值、DO、导电率、水温等水质参数的采集, 该模块主要由PH 传感器、DO 传感器、导电率传感器、温度传感器、CC2530 处理器、电源模块及相应的信号调理电路构成。 采集节点通过ZigBee 无线网络将采集到的水质参数传至处理器上,再通过高速率的4G 网络传输到远程监测中心。为了降低节点消耗的能量,采用光伏板和蓄电池相结合的方式对系统供电[5]。 远程监测中心对数据进行分析存储、处理并建立水质预测模型,预测水质情况。 采用JAVA 语言编写监测中心上位机软件。
图1 丹江流域水质监测系统总体结构图Fig.1 Overall structure of water quality monitoring system in Danjiang river basin
2 系统关键技术设计及实现
2.1 数据采集节点硬件设计
终端节点主要由传感器、ZigBee 网络和电源3部分组成[6]。主要负责采集信息并传至ZigBee 模块,由ZigBee 模块将其传输到网关,其系统框图如图2所示。
图2 数据采集节点框图Fig.2 Block diagram of data acquisition node
2.2 ZigBee 模块电路设计
ZigBee 模块的核心芯片采用CC2530, 该芯片可构建超低功耗、低成本、功能强大的无线传感网络,其各方面性能优于CC2430 芯片[6]。CC2530 的基本电路如图3 所示。L1和C1~C8形成去耦电路,为芯片工作提供稳定的电源。
图3 CC2530 的基本电路Fig.3 Basic circuit of CC2530
2.3 网关节点硬件设计
网关节点是整个ZigBee 无线网络的核心。接收终端数据采集节点发送的pH 值、DO、导电率、水温等数据,经处理器处理后,通过4G 无线网络传输至监测中心[6]。 由于整个监测网络中数据处理量大,网关节点数量比较少,还要执行来自远程监控中心的命令信息。 因此,采用基于ARM11 内核的S3C6410芯片作为本设计的网关节点处理器[7],网关节点系统框图如图4 所示。
图4 网关节点系统框图Fig.4 System block diagram of gateway node
为克服S3C6410 存储和运行程序内存不足的弊端,本系统的程序代码采用AM29LV160D 型号间,将程序存入扩展存储器中执行。扩展电路如图5所示。芯片存储,采用HY57V641620 HG 型号芯片作为扩展存储器。为了降低程序读写过程中的延迟时
图5 存储器扩展电路Fig.5 Memory expansion circuit diagram
nSCS0 是片选网络标号,nOE 是读允许网络标号,nSWE 是写允许网络标号,DATA0-DATA15 是输入与输出的数据网络标号。 它们分别与S3C6410 的XM1CSN0[PINL23],XM0OEN[PINL4],XM1WEN[PINM19],XM0DATA0~XM0DATA15 相连接[6]。
HY57V641620HG 中的BA1 和BA0 分别与S3C-6410的XM1ADDR0[PINH24]和XM1ADDR1[PINJ24]引脚相连接。 行地址选通信号线nSRAS、列地址选通信号线nSCS0、写允许信号nSWE、读允许信号线nOE 分别与S3C6410 的XM1RASN[PINL44],XM1CASN[PINL24],XM1WEN[PINM19]和XM0OEN[PINL42]引脚相连接[6]。
3 软件设计
3.1 数据采集节点软件设计
数据采集节点上电开始工作后,硬件设备初始化并加入网络。 入网成功后,采集pH 值、DO、导电率、水温等数据并将数据传输至下个节点。 无采集命令时,处于休眠工作模式[8]。 程序流程如图6 所示。
图6 终端信息采集节点程序流程图Fig.6 Flow chart of terminal information collection node progr am
3.2 网关节点软件设计
网关节点上电后,设备初始化并建立WSN 网络,在接收到终端节点的入网请求信息后,判断是否允许加入网络。 如果允许加入网络,则为其分配网络地址,接收传输的pH 值、含氧量、导电率、水温等水质参数数据,并向4G 模块发送数据。 网关节点程序流程如图7 所示。
图7 网关节点程序流程Fig.7 Gateway node program flow chart
3.3 预警系统的设计
3.3.1 系统架构
本文采用C/S 架构设计丹江流域水质监测预警系统, 将预测模型转换为计算机可以完成的功能,保障水质预测的高效性、稳定性和安全性。 系统整体架构分为3 层,如图8 所示。 依次为基础数据层、功能服务层和用户层。 每一层之间是相互独立且具有一定的联系。
图8 水质监测预警系统架构图Fig.8 Architecture of water quality monitoring and early warning system
3.3.2 系统功能
采用java 语言实现水质监测预警系统的整体功能,选用关系型数据库MySQL 5.7 作为数据库管理系统。 系统主要包括用户管理模块、核心模块和系统设置模块。 系统整体功能模块如图9 所示。
图9 系统整体功能模块Fig.9 Overall functional modules of system
4 水质预测算法及实现
4.1 ABC-BP 预测模型建立
ABC-BP 预测模型主要是采用人工蜂群算法对BP 神经网络中各层的权值和阈值进行优化,将通过人工蜂群算法求得最优解转换为BP 神经网络各层的权值和阈值,提升BP 神经网络预测的精确度,使其预测输出速度更快、更准确[9]。 ABC-BP 的基本流程如图10 所示。
图10 ABC-BP 算法流程Fig.10 ABC-BP algorithm flow chart
步骤1创建一个BP 神经网络;
步骤2对种群及算法中最大循环搜索次数MCN,limit 和初始种群Ns 进行初始化,Ns 中所有解都为一个D 维向量,该向量Xi(i=1,…,Ns)表示连接权值和阀值,维数D 满足公式(1):
式中:n,i 和o 分别表示隐层神经元、输入神经元和输出神经元的数量。
步骤3雇佣蜂按照公式(2)搜索新解,按照公式(3)求解各个解的适应度值,采用贪婪法选择新解;
式中:i 和fi分别表示第i 个食物源和当前目标函数值,k∈{1,2,…,Ns}和j∈{1,2,…,D}是随机值,且k≠i。
步骤4跟随蜂依据公式(4)计算收益率,按照收益率搜索新解并选择新解:
式中:f(x)为适应度值。
步骤5对解的更新失败次数和limit 值进行比较,若limit 的值小于更新失败次数,产生新解进行替换,并保存最优解;
步骤6判断循环次数(MCN)是否达到最大,若达到最大值则结束,否则返回步骤3;
步骤7将所得最优解转换为BP 神经网络各层的权值和阈值,然后对BP 神经网络进行训练。
4.2 仿真分析
为验证ABC-BP 算法进行水质预测的可靠性和有效性, 以丹江流域商洛市商州区段6 个监测点2019年11月水质实测数据100 组作为研究对象,前80 组作为训练样本,其余数据作为检验样本,进行实验研究。 实测数据水质监测点地理分布和经纬度信息分别如图11 和表1 所示。
表1 站点名称和经纬度信息Tab.1 Site name and latitude and longitude information
图11 水质监测点地理分布图Fig.11 Geographical distribution of water quality monitoring points
ABC-BP 算法参数设置: 为兼顾最优解和算法搜索时间本文选取蜂群的数量为200,Ns=Ne=No=100。 解的维数D 通过公式(1)计算可得D=49,limit设定为100,最大循环次数MCN 为110[10]。
ABC-BP 算法和BP 算法的仿真结果如图12 所示, 从图中可以明显的看出ABC-BP 算法得到的仿真结果更加精确,误差更小。 计算可得,最大误差值为0.05,误差最小值为0,平均误差0.013,总误差量值为0.279。 与BP 神经网络算法相比误差减少了45.8%。 ABC-BP 算法和BP 神经网络算法输出的误差百分比如图13 所示, 从图中可以看出优化后的算法大大降低了预测误差。
图12 ABC-BP 算法和BP 算法的仿真结果对比Fig.12 Comparison of simulation results between ABC-BP algorithm and BP algorithm
图13 ABC-BP 算法和BP 算法输出的误差百分比比较Fig.13 Comparison of error percentage output between ABC-BP algorithm and BP algorithm
5 监测中心软件设计
采用Java 语言来编写监测中心上位机软件系统,可实现水质参数的实时显示、历史数据查询、数据导出,数据分析和参数预警等功能[11]。历史数据查询界面如图14 所示,数据实时显示界面如图15所示。
图14 历史数据查询界面Fig.14 Historical data query interface diagram
图15 数据实时显示界面Fig.15 Data real-time display interface diagram
6 结语
本文利用ZigBee 无线传感网络对各个水源地水质数据进行采集,通过4G 移动网络进行数据传输,监测中心建立了ABCBP 预测模型,实现了对数据的显示、分析、处理和预警等功能。 以丹江流域源头商洛市商州区段作为测试点,进行了测试,结果显示本系统能够准确地完成数据的传输、处理、分析、显示和预测,并且运行稳定可靠。 因此,本监测系统的设计与实现,对促进智慧商洛、生态商洛的发展,保护丹江水源地,确保“一江清水送京津”具有十分重要的价值。