海水养殖水质监测与分析系统设计与实现

2023-09-06 08:48刘明剑刘丽丽朱宏升张思佳
水产学杂志 2023年4期
关键词:水质传感器预测

刘明剑,刘丽丽,朱宏升,张思佳

(1.大连海洋大学信息工程学院,辽宁 大连 116023;2.中国人民解放军战略支援部队信息工程大学,河南 郑州 450001;3.设施渔业教育部重点试验室(大连海洋大学),辽宁 大连 116023)

目前我国水产养殖业正在加快转型升级,提质增效[1]。作为水生动物生存基础的养殖水体环境会因数年养殖以及养殖中后期池塘存鱼量、投饵量逐渐增加,产生大量有害物质,影响鱼类生长。有机物过多也会导致各种细菌、病毒大量繁殖,引发疾病,危害水生动物的健康[2,3]。要想保证水产养殖生产效率必须做好养殖水质环境监测工作。

近年来,随着人工智能、大数据和物联网等新一代信息技术发展,已经能够为智慧农业发展提供关键动力与支持。使用上述信息技术来加强水产养殖信息化建设是提高养殖生产效率,降低水产养殖的工作量和运营成本,实现水产品养殖持续高产的有效手段。

针对上述需求,利用上述新一代信息技术开展了水产养殖环境监测的相关研究工作。周皓东等[4]设计了基于WiFi 的水质监测系统。该系统可将传感器采集到的数据传输到监测中心,且数据准确性较高、传输速率较快。但是,基于WiFi 的水质监测系统传输距离较近,功耗较大。李鑫星等[5]设计了基于ZigBee 的多参数水质在线监测系统。该系统通过ZigBee 无线网络定时获取传感器采集到的溶解氧、pH、电导率、温度等数据,并在上机位显示。实验表明该系统稳定性较高、功耗较低、成本也低,但是传输速率低,传输距离较近。花俊等[6]基于蜂窝网络远程通信方式实现了水质监测数据的无线传输,同时设计了配套的软、硬件设施。虽然使用蜂窝网络通信技术传输距离远、传输速率高,但存在功耗高和成本高问题。宦娟等[7]研发了一种基于NB-IoT 的养殖塘水质监测系统,实现了对温度、pH、溶解氧等水质数据的采集和存储功能,以及对养殖塘的智能控制和集中管理。NB-IoT 技术覆盖广、消耗低、成本低,但是,NB-IoT 在没有4G 覆盖的地方网络质量将无法保障。陈丽等[8]设计了一种基于LoRa 的低功耗水产养殖水质监测系统,完成了对水产养殖水质参数的采集与传输。实验结果表明,系统在覆盖范围和功耗上优势明显。Niswar 等[9]设计和实现了基于LoRa 的水质监控系统,使用物联网技术进行软壳蟹养殖,使养殖池塘水质保持在可接受的水平,提高了软壳蟹的成活率和产量。Bhawiyuga 等[10]提出了基于LoRa 的养殖水质监测系统,根据传感器节点功能测试,传感器节点可以对环境的变化做出恰当地反应。邱曙光等[11]提出了在河道中基于LoRa 技术组网的水质监测方法;低消耗的LoRa 技术自组网的特性免去了运营商收取的通信费用,成本降低,在郊区等没有4G 网络覆盖的区域,网络质量也不会出现波动。但是上述LoRA 监测系统并没有对养殖生产数据进行记录,无法为后续研究养殖环境指标与养殖生物生长之间关系提供支持。

刘雨青等[12]设计了基于物联网的蟹养殖基地监控系统,包括:水质监控、气象监控、视频监控以及对养殖设备的智能控制,实现了对蟹养殖基地的全方位监控。马聪等[13]设计了基于SpringBoot 架构下的水质监测系统;唐非等[14]设计基于物联网的分布式水质在线监控系统;Hassan 等[15]在基于物联网进行组网设计了一种水质监测系统;Ya’acob 等[16]基于物联网技术搭建了水质监测系统,设计了一种在线水质监测系统。上述系统虽然对养殖基地监测和控制得较为全面,但是养殖数据记录并不完整,只有养殖对象、生长周期和投喂饲料的数据记录,缺少倒池、换水、投药、生长、投卵和产出等信息,也没有提供水质环境数据相关性分析及预测功能。

基于上述分析,完善水质监测系统应包括:①实时记录养殖生产过程和水质参数数据的可视化显示,提供多水质监测指标变化的内在关联性属性,为后续分析养殖环境指标与养殖生物生长模式之间关系提供有力的支持;②搭建系统应考虑系统用户易用性以及组网的性能、功耗与成本问题。

本文研发了基于SSM 框架的水产养殖环境监测与分析系统。首先,在Netty 框架中使用LoRa 无线传输技术实现传感器-采集节点-网关节点-后台的实时数据交互,在SSM 框架下通过Websocket 通信技术实现实时监测数据库变化;其次,建立了基于指数平滑的水质参数未来变化趋势预测方法,以及基于Pearson 算法建立的水质参数之间的相关性分析方法。通过上述数据融合和信息共享,梳理并整理分散的环境信息、生产管理等信息,形成准确、高价值的全链条生产管理数据,为生产决策提供依据。

1 系统总体设计

1.1 监测系统总体框架

海水养殖环境监测与分析系统广泛应用信息化、可视化、无线通信与智能化技术与设备,采集养殖全过程数据,实时、可视化地观察养殖池的生产状况,监测养殖池的水质变化,大幅度减少人工巡查和测量的工作量,有效节约能源,提高生产效率,提升养殖自动化、智能化、精准化水平。

整个系统架构由四个层级所组成(数据采集与预处理层、传输层、平台层和应用层)。数据采集与预处理层具有环境感知能力,通过传感器和智能终端等泛在网络技术获取养殖生产中水质数据:温度、pH、盐度等,以及记录养殖过程中生产数据;传输层将数据采集与预处理层自动获取的数据通过网络链路及网络设备传输到平台层,平台层梳理并整理分散的资源信息、环境信息、生产管理等信息,形成准确、高价值的全链条生产管理资源大数据;应用层,用于实现系统数据监测和分析等功能,并通过友好的表现界面满足不同用户的需求(图1)。

图1 水质监测系统整体架构Fig.1 Chart of water quality monitoring system in aquaculture ponds

海水养殖环境监测与分析系统各层次分工明确,主要由水质传感器、数传终端、水质数据收集网关和后台控制中心组成。水质监测系统利用传感器采集水质数据,以有线方式传输至数传终端。数传终端基于无线自组织网络将数据传输发送至数据收集网关,本地控制中心从数据收集网关获取数据,实现数据监控和历史数据查询、历史数据分析、数据预测、生产数据管理和报警阈值设置等功能。

1.2 监测系统数据采集与预处理层设计

数据采集与预处理层采集养殖数据,并与数传终端进行信息交互。

1.2.1 传感数据采集端

水质监测系统中主要依靠传感器监测养殖水质,包括盐度、温度和pH 等水质参数。传感器选用苏州禹山公司出品的支持MODBUS 通信协议的传感数据采集设备(表1)。以pH 数据采集传感器为例:首先,设置传感器电极的MODBUS 从设备地址,获取每个电极唯一识别码SN(serial number);其次,开始测量,获取探头的pH 和电位值(Oxidation-Reduction Potential,ORP),ORP 的单位为mV;最后,开始进行pH 数据采集。当数据采集完毕后可以停止测量,若再次测量需要发送开始测量命令;同时,为防止探头老化等因素造成数值偏差,定期校准传感器。

表1 传感器参数表Tab.1 Parameters of a sensor

1.2.2 数传终端

数传终端是传感器端与网关之间收发数据的桥梁,其对上采用LoRa 无线通信技术实现与水质数据收集网关的无线通信;其对下采用RS485 通过有线方式与传感器设备相连,能够有效提高数据传输速率,在此基础上对数据的传输进行加密,提高数据保密性、安全性及可靠性。

1.2.3 数据帧格式设计

为了提高传感数据的采集正确性和信息传输效率,方便监测系统软硬件模块对数据解析处理,基于MODBUS RTU 通信协议,设计了数据请求与应答数据帧结构。

(1)数据请求帧

数据请求帧为13 个字节,以16 进制表示,包含6 个部分:请求节点ID、设备地址、功能码、寄存器地址、控制字和校验。第1 至5 个字节代表监测节点ID,每个监测节点在设定后ID 固定不变;第6个字节为节点中的监测设备地址,设备地址取值范围为1~217;第7 个字节为功能码,以pH 请求帧为例,pH 请求帧只有两类MODBUS 功能码,03——读保存寄存器,用于读取远程传感器的保持寄存器的连续数据块内容,10——写多重寄存器,用于向远程传感器中写入连续(1~213 个寄存器)寄存器块;第8 和第9 个字节为寄存器起始地址,用于记录传感器数值;第10 和11 个字节为读取寄存器数量;最后两个字节为CRC(循环冗余校验)。以监测系统在某时刻读取pH 值的数据请求帧0009C9DE0004 0326000006CED5 为例:此请求帧的含义为从ID 为0x0009C9DE00 监测节点的设备地址为0x04 的pH传感器设备读取监测数据;0x03 为功能码;0x2600为记录pH 值的内存起始地址,0x0006 为连续6 个MODBUS 寄存器中读取探头的pH 值;0xCED5 为校正信息。

(2)数据应答帧

以监测系统在某时刻读取pH 的数据应答帧040304431CFD401063 为例:第1 个字节表示设备地址0x04,第2 个字节表示功能码0x03,第3 个字节表示数据的字节数0x04,第4~7 个字节表示pH——0x431CFD40,即换算成10 进制pH 为7.9097,最后2 个字节为CRC 校验。

1.3 传输层设计

传输层主要承担传输采集层和后台服务层信息交互任务,数据采集与预处理层采集的养殖水质监测数据,如温度、盐度和pH 等指标,发送至后台进行数据存储、分析与处理。

整个水质监测系统自组织网络包括如下三个部分:①传感网络部分,整个监测系统包含n 个数传终端,每个数传终端可以挂载m 个不同类型传感器(为保证系统稳定性,对整个系统可挂载数量做如下限定n≤40,m≤10)。数传终端与传感器通过RS485 有线方式连接;②无线传输部分,数据终端与数据收集网关采用LoRa 无线传输模式,进行自组织网络搭建,基本参数设定为通信频率389~510 MHz,增益天线3.5 dbi,发射功率为24~30 dbm,理想状态下传输距离为4 500 m,空中传输速率为0.814 Kbps,能满足养殖厂内部数据传输需求;③后台处理部分,数据收集网关将收集到多个监测点检测数据发送至后台进行数据分析与处理(图2)。

图2 网络拓扑图Fig.2 Network topology

1.4 平台层设计

平台层主要功能是存储、分析与处理从传感器获得温度、盐度与pH 等数据,部署相关养殖监测应用,实现对传感设备的统一管理。

1.4.1 平台层后端设计

在监测系统后台基于Eclipse 平台,采用SSM框架完成Web 端开发,具体实现过程主要包括以下步骤:首先,为完成SSM 框架的搭建,需导入Spring、Spring MVC、Mybatis 等有关的jar 包,生成web.xml 文件;其次,对已经生成的web.xml 文件、Spring MVC 的主配置文件(springmvc.xml)、Spring的主配置文件(applicationContext.xml)、Mybatis 的主配置文件(mybatis.xml)以及generatorConfig.xml 文件进行相应的配置,以完成SSM框架的初步搭建;最后,对处理器(Handler)的开发,先创建对应的Controller 类,添加@Controller 注解,将bean 加载到IOC 容器当中,然后通过@RequestMapping 注解在Controller 类里进行映射开发,将请求映射到对应的控制器方法上。由此便完成了SSM框架的搭建。

1.4.2 平台层前端设计

前端为了实现数据实时动态变化的可视化显示,进行了如下工作:①基于JSP 和CSS 技术实现系统的页面的布局和样式;②采用Echarts 技术实现数据可视化,即完成数据折线图等显示形式;③利用Ajax 技术实现页面和服务器之间的数据传输;④采用Websocket 推送技术实现实时数据监控功能,当数据库中有新存入的传感器数据时,服务器端会实时推送消息到前端浏览器,浏览器刷新页面即可实现数据的实时显示。

为实现本地监控中心与传感器之间的通信,本文中采用Netty 通信框架。首先,当后台申请与传感器进行通信来读取传感器中数据,作为连接客户端和服务器端的桥梁的Netty 通信框架中channel 被激活,自主调用ChannelActive 方法,用于完成后台向网关首次发送请求命令帧,来进行数据传输;其次,网关将请求命令帧通过LoRa 无线通信技术转发到数传终端;再次,数传终端通过RS485 接口以有线通信方式将请求命令帧传送到传感器数据采集设备;然后,传感器根据收到的请求命令帧返回相应的应答帧到数传终端;最后,数传终端通过Lo-Ra 无线通信技术将应答帧发送到网关,网关通过Netty 框架传输到后台,由Channel 中的Channel Pipeline 处理事件链表,将接收的传感器数据进行解析和存储。由此完成一次传感器数据采集网络通信过程。

1.5 应用层设计

目前已经完成养殖水质环境历史数据分析和指标变化预测两个部分,并以可视化形式进行展现。历史数据分析主要是分析过往采集到的不同水质参数指标进行数据的相关性,让用户了解到不同指标之间的相关性强度;数据预测可根据以往采集到的数据进行未来数据的预测,以便及早做出决策,使水质环境保持相对稳定状态。

1.5.1 养殖水质指标相关性分析方法

养殖水质数据指标相关性分析能够反映出养殖环境内在质量情况,体现出水质的变换规律和自身特点,水质数据指标之间会有潜在的相关性,了解这些指标变化相关性,有助于在养殖中审核数据,制定与调整生产决策。为了分析传感监测指标变化间的相关性,提出了基于Pearson 算法的指标相关性分析方法。

两个水质指标变量之间的Pearson 相关系数定义为两个变量之间的协方差和各自标准差乘积的商:

式(1)中定义了整体相关系数(r),估算样本的协方差和标准差,能够得到样本相关系数,一般表示为:

(2)式中相关系数r 的取值在-1~1 之间,当绝对值|r|的取值越趋近于1,说明传感指标间相关性越强(表2)。

表2 相关系数强度对照表Tab.2 Comparison correlation coefficient intensity

1.5.2 数据预测方法

养殖环境水质变化与养殖过程密切相关,水质指标变化为渐变性,非线性和不确定性等特点。预测水质指标变化能够更好了解养殖环境的变化,更好地调整生产决策。因此,提出了基于指数平滑的水质指标参数变化的预测方法,其主要分为一次指数平滑、二次指数平滑和三次指数平滑预测水质指标变化趋势。

一次指数平滑适用于时间序列无明显变化趋势的情况,根据本监测系统采集到的数据,一次指数平滑短时间内预测温度较为准确,因较短时间内温度的曲线图无明显趋势变化,近似一条水平线,最大误差控制在0.05%以内,所以,一次指数平滑比较适合。一次指数平滑只是对历史数据加权计算进行预测(图3)。

图3 温度变化趋势Fig.3 Temperature change trend

一次指数平滑预测模型为:

当时间序列有直线趋势时,一次指数平滑就会出现滞后偏差,需要二次指数平滑。根据本监测系统采集到的数据来分析,针对短时间内的pH 的曲线会有一些明显变化的趋势,此时一次指数平滑不能很好对其预测,而二次指数平滑的预测结果就更接近真实值(图4)。

图4 pH 变化趋势Fig.4 pH change trend

二次平滑是在一次指数平滑的基础上再进行一次平滑,其预测模型为:

式(6)中,yt+T′为时间t+T 的预测值;T 是从时间t 开始的预测时间数;St(2)为时间t 的二次平滑值;St(1)为时间t 的一次平滑值;St-1(2)为时间t-1 的二次平滑值,at、bt为参数变量,随着时间t 的变化而变化;a为平滑常数。

对于具有二次曲线或是重复性趋势时间序列,根据本监测系统采集到的数据进行分析,在稍长测试时间情况下,采集到的pH 数据的曲线有二次曲线趋势,此时一次指数平滑和二次指数平滑都无法很好预测,则需采用三次指数平滑法进行预测,即二次指数平滑的基础上再进行一次平滑(图5)。

图5 pH 明显变化趋势Fig.5 The obvious change trend of pH

三次指数平滑预测模型为:

式(9)中,yt+T′为时间t+T 的预测值;T 是从时间t 开始的预测时间数;St(1)为时间t 的一次平滑值;St(2)为时间t 的二次平滑值;St(3)为时间t 的三次平滑值;at、bt、ct为参数变量,随着时间t 的变化而变化;a 为平滑常数。

由上可知,二次指数平滑需要用到一次指数平滑的运算结果,而三次指数平滑则需要在一次指数平滑和二次指数平滑的运算结果基础上计算。在预测水质监测数据时,由于选择的起始时间不定,并不能准确获悉其时间序列趋势。为了预测结果的准确性,可以在程序中分别计算出一次指数平滑、二次指数平滑和三次指数平滑预测值的均方误差,应用选择均方误差最小的预测模型。平滑常数a 规定了在新预测值中新数据和原预测值所占的比例,因此a 的选择也十分重要,在程序中分别计算若干a值进行试算比较,最终选择应用误差最小的a 值。

2 结果与分析

本系统在辽宁省盘锦市每日集团有限公司养殖基地4 个养殖池作为监测点(图6)进行试验。每个监测点布置了pH、温度与盐度传感器,作为第一阶段水质监测指标。根据监测过程中实际需要,设置了传感器的数据采集频率。

图6 养殖监测节点布置情况Fig.6 The arrangement of monitoring nodes

2.1 监测系统基础功能运行结果

(1)养殖环境水质实时监控

用户登录系统之后,可以实时监控养殖区域的水质数据信息,包括各个监测点最近一次接收的养殖水质信息以及过往24 h 的数据趋势图。当接收的数据超出了报警阈值,页面中出现警示信号标识,提示养殖水质数据异常(图7)。

图7 水质环境监测Fig.7 The water quality environmental monitoring

(2)生产数据管理

具有为用户提供养殖生产数据管理功能,梳理分散的生产管理信息(投喂饵料、药品、换水倒池等养殖基础信息),形成准确、高价值的全链条生产管理数据,为生产决策提供数据支持(图8)。

图8 生产信息管理Fig.8 The production information management

2.2 养殖水质指标相关性分析与预测

表3 记录了监测点1 的2022 年3 月3 日至2022 年3 月9 日部分水质监测数据,间隔3 h。

表3 部分水质监测数据表Tab.3 The data of water quality monitoring

2.2.1 历史数据相关性分析

以表3 中记录的监测点1 的2022 年3 月3 日08:00:00 到2022 年03 月09 日19:00:00 的盐度、温度与pH 的完整数据进行指标之间相关性分析。

如图9、10、11 所示,在对数据分析基础上,通过公式(1)和(3)计算得出pH、盐度和温度相关性:①盐度和温度相关系数r=-0.7,则可判断此段时间的盐度和温度呈现强相关性;②pH 与盐度指标相关系数r=0.13。则pH 与盐度之间呈现出极弱相关;③pH 和温度数据进行相关性分析,相关系数r=0.48,那么pH 和温度呈现出中等相关。

图9 监测点盐度变化趋势Fig.9 The change trend of salinity at monitoring sites

图10 监测点温度变化趋势Fig.10 The change trend of temperature at monitoring sites

图11 监测点pH 变化趋势Fig.11 The change trend of pH at monitoring sites

2.2.2 数据预测结果分析

选取监测点3 的2022 年3 月3 日08:00:00 至2022 年3 月9 日19:00:00,间隔3 h 采集数据,对盐度、温度和pH 数据进行预测分析。

(1)pH 预测

如表4 和表5 所示,经系统计算,pH 一次指数平滑预测在a 取0.9 时的均方误差最小,为0.008 1;二次和三次指数平滑预测在a 取0.1 时均方误差最小,分别为0.006 7 和0.007 0。通过比较,最终系统选二次指数平滑预测,并取a 值为0.1。

表4 pH 测量数据与预测数据对比Tab.4 Comparison of measured pH data and prediction data

表5 pH 预测误差对比Tab.5 Comparison of pH prediction errors

(2)盐度预测

如表6 所示,盐度一次指数平滑预测在a 取0.9 时均方误差最小,为0.207 4,二、三次指数平滑预测并取a 值为0.1 时均方误差最小,分别为0.1863 和0.1908(表7)。通过比较最终系统选二次指数平滑预测并取a 值为0.1。

表6 盐度测量数据与预测数据对比Tab.6 Comparison of salinity measured data and predicted data

表7 盐度预测误差对比Tab.7 Comparison of salinity prediction errors

(3)温度预测

如表8 所示,一、二、三次指数平滑预测在a 取0.9 时的均方误差最小,分别为0.141 4、0.124 8 和0.128 5(表9)。通过比较最终系统选二次指数平滑预测并取a 值为0.1。

表8 温度测量数据与预测数据对比Tab.8 Comparison of temperature measured data and predicted data

表9 温度预测误差对比Tab.9 Comparison of temperature prediction errors

上述分析可知,对pH 的预测效果好于温度与盐度,即对数据变化趋势平缓的指标预测效果较好。

3 结论

针对海水养殖环境动态变化对养殖生产效率的影响,本研究设计了基于SSM框架的养殖水质监测系统,与以往水质监测系统相比,增加了生产数据管理部分,方便后期分析养殖环境指标与养殖生物生长之间的关系,为精准养殖提供了重要支持。可以通过Pearson 算法分析监测数据之间的相关性,以及通过指数平滑算法预测数据,为养殖提供决策支撑。但本系统仍存在如下不足:①目前只能进行短期指标预测;②没有完全建立水养殖环境动态变化与养殖生产效率之间模型;③只完成了Web端开发,缺少多平台互动。下一步将在目前完成水质监测系统基础上,开发一种可以在多平台环境下运行,较为准确揭示出养殖水质与养殖生产效率的养殖环境监测系统。

猜你喜欢
水质传感器预测
水质抽检岂容造假
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
跟踪导练(三)2
不必预测未来,只需把握现在