APP下载

基于NB-IoT的漂浮式污水监控器设计

2020-09-01高嘉晖潘明毅

水利信息化 2020年4期
关键词:监控器溶解氧污水

杨 英,高嘉晖,潘明毅,齐 攀

(广东交通职业技术学院,广东 广州 510080)

0 引言

我国水资源匮乏,海河、辽河、淮河、黄河、松花江、长江和珠江等七大江河水系,均受到不同程度的污染,地处珠江流域的广东地区水质污染尤为严重。国家投入大量人力财力对水质进行监控,期望提前采取措施减轻污染。然而传统的水质监测方式仍然是以人工为主的定时采集,这种方法无法实时查看到数据,所以常常错过预防水污染的时机[1]。

近年来出现了基于物联网技术的水质实时监测系统,常见的主要是浮标式和岸边立杆 2 种监测系统。但现有的基于传统物联网技术的水质监测系统存在以下 3 个问题:

1)低功耗问题。浮标式水质监测系统部署在水域中央,无法采用有线方式供电,只能通过太阳能或其他蓄电池供电。如果采用 GPRS 或 4G 等通信模块,功耗较大,往往会导致设备供电不足[2]。

2)隐蔽性问题。传统浮标式水质监测系统体积庞大,外形瞩目,会产生绕过此类系统而实施污染水源的非法行径。因此,需要设计新的尺寸较小的轻量级水质监测系统。

3)智能化问题。传统水质监测系统仅仅实现了自动化监测流程,缺乏移动快速分析等预警预报体系,因此,需要借助大数据和人工智能技术实时进行数据分析与诊断,赋能水质监测系统。

在目前流行的通信技术方面,NB-IoT(窄带物联网)功耗低,接入灵活方便,为此,提出一种隐蔽的基于 NB-IoT 通信技术的漂浮式污水监控器,实时快速监测水质变化,并通过反向传播(BP)神经网络计算生成预测水质模型,实现手机电脑同步查看,其采用的技术原理确保低功耗性、隐蔽性、智能性、便携性。

1 漂浮式污水监控器技术分析

1.1 NB-IoT 通信技术

NB-IoT 技术是万物物联网的一个重要分支,基于蜂窝网络构建,仅需 180 kHz 左右的带宽就可以直接在现有蜂窝网络中部署,能有效降低部署成本并实现系统平滑升级,能支持待机时间长的要求,可对网络连接要求高的设备进行高效连接。另外NB-IoT 设备的电池寿命长,还能提供非常全面的室内蜂窝数据的连接覆盖。

在本设计中,采用 NB-IoT 技术进行通信传输,相比以往基于物联网技术的其它水质监测系统功耗大大降低,成本明显下降,接入节点数量大大增加,并且能与其他智慧城市项目融合[3-4]。

1.2 BP 神经网络

人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型,可以看作是由简单处理单元构成的大规模并行分布式处理器,天然地具有存储经验知识和使之可用的特性。BP 神经网络按照误差逆向传播算法训练网络,是目前应用最广泛的神经网络[5]。

BP 神经网络具备对数据序列的特征提取功能,从而能预测未来数据序列走向[6]。本设计采用 BP 神经网络进行未来 3 d 的水质预测。设计中使用云平台传输来的水质数据生成时间序列,输入网络,利用 BP 算法提取前段时间水质数据特征,用 1 周数据序列预测未来 3 d 水质走向。

2 漂浮式污水监控器总体设计

基于 NB-IoT 通信技术的漂浮式污水监控器的工作原理如下:通过搭载传感器对目标区域的水质信息进行数据采集,同时把数据实时传输给主从机进行打包处理;主机把从机发送过来的数据,结合主机的通用异步收发传输器(UART)接口将采集的数据进行打包处理;利用定时器分时原理,把主机打包好的数据分时传送给 NB-IoT,再由 NB-IoT把数据实时上报至云端;上位机主动连接云端,下载数据后进行显示和分析。

本设计总体上基于物联网技术进行研发,采用NB-IoT 模块通信技术,MCU(微控制单元)选用STC15F2K60S2 作为控制系统的核心,电源供电采用 12.0 V 直流电源,电源模块输出 3.3 和 5.0 V 电压给 MCU 模块供电。通过各类传感器对水质环境进行实时水质参数(温度、pH、溶解氧、电导率、浑浊度)的信息采集,采集到的数据通过 NB-IoT通信模组实时传输到上位机,达到实时监测与预警的目的,可随时查看相关数据。在上位机设计 BP神经网络模型,先将历史采集数据作为样本训练神经网络,使之成为一个可以预测水质变化规律的模型,再将实时数据作为输入通过此模型输出预测值,预测未来一段时间水质变化趋势,对水质可能出现的污染进行预警、智能化数据分析等处理;用户可通过手机及电脑客户端软件远程实时监测水质及控制相关设备。漂浮式污水监控器整体设计方案如图 1 所示。

3 漂浮式污水监控器硬件设计

图1 漂浮式污水监控器整体设计方案

各类水质参数传感器经 A/D 转化后连接至主控电路,同时连接主控电路的还有液晶显示器显示部分、电源及 NB-IoT 模块。

3.1 主控电路

主控电路以 2 块 STC15F2K60S2 作为主控芯片,分为主机和从机,主从机间利用 UART 进行通信,以跳线帽形式连接。由于 STC15F2K60S2 具有双串口,比传统 51 单片机速度更快,比嵌入式单片机 STM32 编程更加容易,在实现同样功能的条件下,成本更低,因此被选用做 MCU。

3.2 信号采集处理电路

1)pH 信号变送电路。因为 pH 传感器输出的信号十分微弱,不能直接被模数转换(ADC)模块采集到,因此通过设计信号放大变送电路进行处理。该电路分成信号放大和电压基准两部分电路,电路图如图 2 所示。采用 TLC4502 双通道运放和LM285 电压基准芯片,LM285 可以为 TLC4502 提供 2.5 V 的基准电压,配合 TLC4502 运放的放大效益使用。

2)ADC 电路。ADC 电路主要用于将模拟信号转换成数字信号,以供主机进行数据处理。考虑到水质监测对传感器数值精度要求较高,因此采用 24 位高精度的 ADS1256 模块。ADS1256 模块支持 8 通道信号输入,两两通道可以做差分输入。差分输入模式能保证较高的精度,2 根信号线相互参比,共组成 4 对差分输入端口,可以支持 4 对模拟输入的信号。漂浮式污水监控器搭载的溶解氧、pH、浑浊度和温度等传感器,都是输出模拟信号的传感器。因此可以使用 ADS1256 的 4 对差分通道,把这 4 项传感器采集的模拟信号转换成数字信号。

图2 pH 信号变送电路

3)电导率数据输出电路。因为电导率传感器输出信号是数字信号,无需 ADC 转换就可以直接被从机采集。电导率传感器主要通过 UART 和从机进行通信,利用层次原理图对接从机的串口。

溶解氧、pH、浑浊度和温度等传感器都是直接输出模拟信号,故都是基于 ADC 电路使用ADS1256 模块进行模数转换的。电导率传感器输出数字信号,可直接通过 UART 和从机进行通信。

3.3 NB-IoT 通信电路

NB-IoT 属于 LPWAN(低功率广域网络)技术,具有较好的低功耗特性,NB-IoT 上行速率满足漂浮式污水监控器的设计需求[7],同时考虑漂浮式污水监控器需要达到远程实时在线监控的需求[8-9],因此适合采用 NB-IoT 电路作为漂浮式污水监控器的通信电路,电路图如图 3 所示。

NB-IoT 通信电路中,采用 NB-IoT 模块(WHNB73)。NB-IoT 模块采用 5.0 V 供电,可通过串口和主机通信,模块的 UART_RXD(接收端)和UART_TXD(发送端)引脚与主机的 TXD 及 RXD相连接,主机把传感器采集到的数据打包,再通过串口把打包好的数据发送给 NB-IoT 模块,NB-IoT模块将数据直接透传至 OneNET 云端。

3.4 电源部分

考虑到漂浮式污水监控器搭载外设较多,需要足够的驱动能力。NB-IoT 在发射信号的瞬间需要较大的电流,因此采用 DC-DC 电源模块,考虑到主控和相关模块均为 5.0 V 供电,有压差因素,故采用大容量的 12.0 V 锂电池为供电电源。

3.5 LCD 显示部分

为便于数据的实时显示和监测,在产品顶端内嵌了一块液晶显示屏,用于实时显示传感器采集的各项数据指标。

图3 NB-IoT 通信电路

3.6 硬件整体通信

主从机负责采集传感器的各项数值,主机把打包处理好的数据利用定时器分时原理,通过 NB-IoT实时发送至 NB-IoT 基站,基站通过受限应用协议(CoAP)把采集到的数据透过因特网实时上报至云平台。硬件整体通信图如图 4 所示。

图4 硬件整体通信图

4 漂浮式污水监控器软件设计

4.1 软件功能划分

漂浮式污水监控器的上位机软件划分为以下 3 个功能模块:

1)实时数据查看功能。手机客户端应用程序查看污水监控器实时传输的数据,数据每秒更新 1 次,达到实时监测的目的,同时提供每日、周、月的数据监测统计情况以供查看。用户可以通过直观的曲线图了解水域的环境状况。

2)告警功能。手机客户端应用程序设置了预警值,当监测数据达到预警值时,手机客户端应用程序会自动向用户报警。

3)水质预测功能。BP 神经网络对水质变化情况进行预测,也可对下一次污染源出现的时间段进行分析和预测。

4.2 终端控制端软件流程设计

终端控制端软件流程设计如下:

1)初始化。主机在上电时首先进行环境初始化,主要是对主机的 I/O 口、环境变量进行初始化。其次对主机的通用同步异步收发器 USART1,USART2,USART3进行初始化,因为系统采用 SPI1通道和 ADS1256 进行通信,从而实现模数转换的功能,因此还需要对 SPI1通道进行初始化。然后对 NB-IoT 进行初始化,并判断 NB-IoT 是否成功组网。倘若 NB-IoT 组网失败,程序会利用中断置位终止当前程序进程,使程序重新执行环境初始化的步骤;如果 NB-IoT 组网成功,NB-IoT 则利用USART3和主机通信,主机将传感器设备号信息通过 USART3发送给 NB-IoT,NB-IoT 将信息打包上报至 OneNET 云平台进行注册。

2)通信。首先主机利用 SPI1通道和 ADS1256模块进行通信,ADS1256 模块通过扫描差分通道读取传感器模拟信号,并进行模数转换。然后主机通过 USART2和 GPS 模块通信,获取实时经纬度信息,并判断定时器计时是否达到 10 s。倘若定时器没有计时到 10 s,则继续使用 SPI1通道和 ADS1256通信,获取传感器的模拟信号;如果定时器计时到10 s,主机则利用 USART3将打包好的数据发送给NB-IoT,NB-IoT 将数据上报至 OneNET 云平台。

3)连接。为确保 NB-IoT 同 OneNET 云平台的连通性,程序利用定时器设置了 10 min 的心跳时间,当 10 min 到时,则利用中断置位判断 NB-IoT的连接状态。倘若 NB-IoT 和云平台断开了连接,程序会中断当前程序进程,重新进行环境初始化;如果 NB-IoT 连接正常,则继续使用 SPI1通道和ADS1256 通信,获取传感器的模拟信号。具体流程如图 5 所示。

4.3 水质预测软件流程设计

上位机软件把接收到的数据存储至数据库,初次数据用于训练 BP 神经网络,以构建目标区域的水质预测模型。训练好的水质预测模型,可以对后续上传的数据进行分析,预测出目标区域未来的水质监测指标的趋势[10]。具体流程如图 6 所示。

4.4 其他部分软件设计

图5 终端控制端软件流程图

图6 BP 神经网络预测程序流程图

PC 端控制软件使用 C# 编程实现数据显示可视化,调用 OneNET 云平台实时数据,调用 Python 软件绘制的水质分析数据;手机端使用微信小程序进行软件开发。

5 漂浮式污水监控器实验与结果

5.1 实验设计和过程

因为漂浮式污水监控器搭载的溶解氧、温度、浑浊度和 pH 等传感器返回的物理量是模拟信号——电压值,由于电压值不能直观反映传感器真正测量的物理量,如溶解氧、浑浊度和温度等值,因此需要进行实验设计,设计以电压值为一组的实验组,以传感器物理量为一组的对照组。利用 MATLAB数学软件对实验组和对照组数据进行拟合,得到传感器物理量-电压值的拟合公式,从而通过传感器实测的电压值,直观反映传感器的物理量。同时还可以用 MATLAB 数学软件对实验数据进行残差分析,验证实验数据的可靠性,从而间接反映漂浮式污水监控器的可靠性。

使用漂浮式污水监控器和标准检测仪对设置的待测溶液进行测量,分别得到由漂浮式污水监控器实测的电压值,即实验组数据,以及由标准检测仪实测的传感器物理量,即对照组数据。对于溶解氧和电压值测量的实验,实验准备 5 个 2 000 mL 的烧杯,先分别向 5 个烧杯装入 1 500 mL 的去离子水,再分别向 5 个烧杯投入 1,2,3,4,5 g 的零氧试剂,搅拌至溶解后,使用漂浮式污水监控器和标准检测仪对 5 个烧杯进行测量,分别记录 5 个烧杯实测的电压值和溶解氧值。同理,对于 pH 和电压值测量的实验,先装入去离子水,再分别向 5 个烧杯投入 pH = 4.00,7.00,6.86,9.18,10.00 的缓冲试剂,搅拌至溶解,使用漂浮式污水监控器和标准检测仪对 5 个烧杯进行测量,分别记录 5 个烧杯实测的电压值和 pH 值。温度和浑浊度的测试实验同 pH实验方式一样,这里不再赘述。

5.2 硬件部分测试与结果

在实验室利用 MATLAB 数学软件对传感器采集到的溶解氧、温度、浑浊度和 pH 对应的实测电压值和传感器物理量(以下统称实验数据),进行关系拟合和残差分析。实验数据残差分析确保上位机端所见的传感器数据的误差在允许范围内,为关系拟合提供可靠数据依据支撑。漂浮式污水监控器大部分传感器都是实测电压值,回归模型分析主要是为了建立传感器物理量和电压值的关系。

以溶解氧传感器测试的实验数据为例,列举溶解氧测试实验中由漂浮式污水监控器得到的实测电压值,并和标准检测仪测试到的传感器物理量(溶解氧值),创建溶解氧传感器数据采集实测表,如表1 所示。同时设置关系拟合数值,用于记录通过关系拟合得到的公式计算出来的溶解氧值,并和标准检测仪测试到的溶解氧值进行比较,验证拟合公式的准确性和误差。

利用 MATLAB 数学软件对实测电压值和溶解氧进行关系拟合,得出的拟合曲线如图 7 所示,函数关系式为y= 0.017 196x+ 1.796 3x2+ 0.550 1。对比图 7 中散点和拟合函数曲线,可以看出散点大部分数据都落在拟合曲线上,拟合程度较为理想。

为进一步验证实验数据是否正确,对数值进行残差分析得出相应的残差图,如图 8 所示,其中红色是数据的异常点,绿色为数据的正常点。对数值进行回归分析,分析图如图 9 所示,可以看出实测电压值基本落在模型的曲线上。图 8 和 9 说明试验数据较为准确可靠。

表1 溶解氧传感器数据采集测试

图7 回归模型分析

图8 残差分析图

图9 回归分析图

其他传感器也用类似的方法进行误差分析,各种传感器采集的数据均在可允许误差范围内,从而确保监控器采集数据的精确性及可靠性。

5.3 软件部分测试与结果

以广州市花都区秀全公园北门秀全湖西南角(经纬度:23.375 744,113.215 485)作为实地监测水域进行软件测试,观测时间为 2019 年 8 月 18 日下午 4—6 点,将漂浮式污水监控器放置在监测水域,每隔 10 s 采集 1 次水质数据。手机端与电脑端的软件进行同步显示,其中手机端软件可查看到 5 类传感器采集的实时数据,也可查看到某日生成的水质数据变化的日曲线图,显示结果如图 10 所示。

图10 手机端软件显示结果

图10 中一屏显示 1 min 内数值变化情况(因界面布局原因只显示 4 张数据表,电导率数据曲线图与图 10 曲线的显示方式一致),此处通过曲线方式展示了水质实时变化的走向,可供有关人员进行水质的分析。从图中可以看出,软件运转正常,水质信息采集实时、准确。

电脑端软件亦可显示传感器采集的实时数据,同时显示水质数据变化的历史数据图,由于电脑端软件与手机端显示类似,这里不做赘述。

6 结语

物联网技术的普及为水质监测提供了新的视野,本研究基于 NB-IoT 设计,以低功耗、便携性、智能化为目标研发了一套漂浮式污水监控器。实验与实测数据说明水质传感器监测数据误差较小,数据准确;软件正确实时地显示了水质状况,并能显示水质走向、历史曲线,提供污染报警功能,表明基于 NB-IoT 通信技术的漂浮式污水监控器功能完整,实用可行,适合大面积推广。目前基于大数据分析、深度学习的各类算法为水资源保护提供了新的方法,为设计出更智能的污水监测系统,今后将结合已有成果深入研究这些算法,改进系统功能。

猜你喜欢

监控器溶解氧污水
污水磷资源回收
生活污水去哪儿了
东平湖溶解氧及影响因素分析
如何保证精养池塘充足的溶解氧
基于大数据的远程农业监控器设计
浅析水中溶解氧的测定
污水罐坍塌
污水零直排,宁波已经动起来
一种自动监控系统的输液监控器的设计
溶解氧测定仪使用方法及改进