基于移动互联水产养殖智能监控系统的研制
2018-06-11刘玉洁唐升
刘玉洁,唐升
(珠海城市职业技术学院广东珠海519090)
随着科技的进步和互联网的广泛使用,水产养殖业开始逐步使用不同程度的自动化控制和数字化监控来替代人工巡守、投饵以及检测等养殖模式[1-2]。然而,当前的水产养殖监控系统大多只是使用了定点数据采集的方式,只能对某一固定区域的水质参数进行监控与采集,无法对养殖水域进行全方面的监控评估[3-5]。由于养殖水域面积较大,不同位置处的水质会有不同程度的差异,若是监控和检测不全面、不准确,极有可能对水产养殖造成不可估量的损失。因此,本文针对定点数据检测和采集不全面的问题,借鉴传统成熟的水产养殖监控系统,采用数字化数据采集以及对应的移动互联传输技术,设计并开发了一套多点数据采集水产养殖监控系统。该系统具有多点数据采集功能,并结合微信公众号实现智能控制,能提高养殖水域的监测范围,实时全面的获取水质参数信息,从而确保水产品的质量与养殖工作的顺利进行。
1 系统设计概述
本系统主要分为3个部分:定点和非定点数据采集模块部分以及监控平台部分,主要部分可见图1所示。可供监测的水质参数包括了温度、溶氧量、pH值及电导率等。系统工作时,定点数据采集模块通过安置于采样池的传感器,实时监测养殖水域中特定位置由抽水泵轮流输运来的水样,采集并向主控制器发送水质参数和相关数据。同时,承载于可移动机器鱼的不定点数据采集模块实时监测和采集所处位置以及水质参数信息。再经由ZigBee无线网络传送给对应网关,并通过串口传递给主控制器。主控制器接收到两个模块的数据后,经分析处理后进行打包操作,并借助RS485和RS232接口,将最终数据传输给人机交互模块以及上位机监控中心平台。上位机监控中心平台可将相关数据信息传递给手机微信端,最终实现对水产养殖水域的全方位、实时的数据监控。此外,监控者也可使用上位机和手机微信端,向各模块执行机构发送指令,进行所需的远程控制。
图1 系统体系结构
2 定点数据采集模块设计
定点数据采集模块主要是针对水质参数进行监测和采集。该模块主要有主控制器,用于温度、电导率、pH值以及溶氧量等信息采集的模拟传感器组(放置在采样池中)和采样池。玻璃构成的长方体采样池位于实际水域附近的主控制室内,主控制器通过控制水泵将各养殖水域的水样轮流抽取,并输运到采样池内进行定点数据采集操作。各传感器采集完该水样的水质信息数据后,主控制器控制采样池将本次水样放掉。如此循坏,以实现单一传感器组采集多养殖水域某些特定位置处的水质信息。对应的定点数据采集模块结构图,可见图2。
2.1 传感器选择
定点数据采集模块的传感器选择来自于德国的IQ sensor系列。该系列传感器具有性价比高、响应速度快、精度高和运行可靠等优点,能够符合水产养殖的要求。
2.2 系统设计
图2 定点数据采集模块结构示意图
本文定点数据采集模块选用TI公司研发的MSP430FG4618型号16位主控制芯片。该芯片能效比高,配备8KB的RAM以及116KB的Flash,足够满足本模块设计的性能需求。传感器实时采集的水质参数数据,经过A/D转换器完成模数转换,传输给主控制器进行相关的处理操作。主控制器上还连接着ZigBee网关节点和继电器等部件,可以实时接收不定点数据的数据信息,并对水域执行机构进行远程控制[6]。
2.3 硬件电路设计
本模块所需的部分硬件电路设计,可见图3。使用CD4051作为信号选择电路的8路选通开关,该选择电路借助3路MCU信号实现对8路模拟传感器信号的选择操作。当某路传感器信号被选中后,依次进行功率放大以及模数转换等操作,产生最终的数字信号,供给MCU进行相关读取操作。
图3 定点数据采集模块硬件电路图(部分)
2.4 软件处理
软件处理部分,主要分为水质参数读取、数据的纠错以及数据发送与存储共3个部分。水质参数读取部分中使用的是满足精度要求的10位模数转换芯片。读取操作前,会优先进行初始化操作,设置好芯片的相关引脚功能,并选通A/D转换芯片所需的片选引脚后完成读取准备工作;之后依照所应满足的延迟要求,在时钟信号的控制操作下依次进行10位数据的读取操作。
由于采集和读取到的数据可能会在采集、传输过程中产生误差。因此,不能立即使用采集和读取到的数据,而应优先进行数据纠错处理。本文所使用的是200次采集取平均值的纠错处理方式。
数据发送和存储部分主要是用于数据传递与存储。具体而言,发送指的是将相关数据传递给上位机亦或是人机交互模块供监控者实时查看水质参数信息;存储指的是将相关数据存储在上述主控制器上的flash芯片中,实现水质参数数据的短期备份。
3 不定点数据采集模块设计
文中所设计的不定点数据采集模块,可见下图4所示。主要是对定点数据采集带来的局限性缺陷进行完善与补充。具体是借助移动互联的无线传感器技术,通过将无线传感器模块(各传感器和ZigBee可移动节点)安置在某一可远程遥控移动的机器鱼上,并利用养殖水域周围安放的若干ZigBee参考节点模块来获取机器鱼的位置以及对应水质参数信息[7-13]。而水质参数数据信息经ZigBee无线网络传输给主控制器进行相关的处理操作。
图4 不定点数据采集模块示意图
3.1 系统设计
文中采用了TI公司的CC2430作为该不定点数据采集模块的无线通信芯片。该芯片内部嵌有ZigBee协议栈,可靠性高且功耗较低,能够完成所需的无线传输工作。本文存在4种无线模块:利用UART实现串行通信并与基站主控制器相连接的网关节点;用于定位移动节点并放置在养殖水域周边的参考节点;放置在移动机器鱼身上用来采集传感器数据的移动节点,以及当遇到上述参考和移动节点距离网关较远时作为路由使用的路由节点。
3.2 采集流程
不定点数据采集模块采集的数据包括水质参数信息和移动机器鱼所处的位置信息。前者由机器鱼身上的传感器采集,后者则是利用指示接收信号强度的RSSI信号衰减模型,借助极大似然估计以及多变测量法,通过计算确定移动节点和网络内设置的有效参考节点之间的相对距离得到。
3.2.1 机器鱼位置信息确定和采集
本文所用的定位模块工作示意图,可见图5所示。文中所用的ZigBee网络的网关为基于CC2430的全功能节点FFD,该网关能将主控制器和无线传感器网络相连接;养殖水域周边分布了4~8个用于定位参考节点的终端节点,参考坐标系为二维平面坐标系(x,y);机器鱼则作为移动定位被估计节点,搭载了CC2430芯片,其实物图如图6所示。各节点之间可互相通信,定位半径范围为0~64 m,最高定位精度可达0.25 m[14]。
图5 定位模块定位示意图
由于使用了基于RSSI的多变定位和距离测量方法,经简化后的RSSI距离引擎计算算法如下式:
其中,n和A参数是网络环境常量,前者表示路径损耗索引,代表RSSI信号随距离变化的衰减率;后者则以dBm为单位,代表了全方位射频工作模式下,于发射端1m位置处所接收到的实际信号强度的绝对值。借助于多变测量以及最小方差估计法,对被估计移动节点与各参考节点Ref距离的测量数据进行处理,得到相应的机器鱼位置信息估计值。
3.2.2 水质参数温度信息采集
图6 机器鱼实物图
这里用温度采集为例对水质参数信息的采集进行简要叙述。本文选择使用美国Dallas公司研发的D18B20温度传感器采集水质温度信息。工作时,当控制者在基站主控制器下达BLINDNODE_ADX_XY_FINE_REQUEST指令时,机器鱼会开启相应的ADC功能模块,开始进行水质参数的检测工作。当机器鱼采集到温度参数信息后,会将该信息与RSSI信息一起经相关节点返回给主控制器。
4 定点和不定点数据融合及现场监控
文中的特色之一即为定点和不定点数据采集后的融合,能为养殖水域带来全方位的监测与控制,并通过可视化人机交互界面让控制者实时获得监控信息并下达控制指令。
定点与不定点数据融合分为两步。第一步,主控制器模块对两者数据进行整合、分析和处理,最后进行存储。分析过程主要是进行阈值判断,即将采集到的水质参数和设定阈值进行对比。若是发生了超过阈值的情况,主控制器会通过在数据整合包中添加警报指令并结合蜂鸣器对控制者进行警示。
第二步,将上述处理过的数据包传输给人机交互模块,经解析并读取相关16位进制数据后,对数据进行进制转换,使其变为浮点数,最后显示在现场监控基站中的LCD显示屏上。控制者因此可以从基站的显示屏中观察到各水域不同位置的水质参数信息,及时发现异常情况,保证养殖作业的正常进行。
5 微信端控制软件设计
文中引入了微信公众号来实现智能控制,帮助控制者利用微信端远程监控水产养殖现场。微信公众号基于Java开发,具有开发成本低、技术成熟等优势。开发环境为Eclipse IDE for Java Developers,具体内容包括了前端界面和后端程序设计。前端界面设计主要采用了XML语言,负责相关的Activity界面的设计。后端设计主要采用Java语言,根据控制者选择的按钮接收水质的参数信息数据或者是发送相关控制指令,相关详细设计流程可见图7。微信端主要采用了Socket方式和上位机监控中心平台服务器进行通信,具体流程为使用服务器的IP地址和端口建立新的Socket连接,利用该端口号对服务器发送相关连接请求。若连接成功微信端便会启动侦听功能,等待接收服务器端特定端口发送来的水质参数信息,并通过Message接收处理数据,并显示在手机屏幕上;若连接失败则抛出相应异常提示。数据的接收和发送均采用数据流类下的读取方式进行。
图7 微信端控制软件设计流程图
6 上位机软件管理平台及远程监控
上位机监控中心平台的计算机上装有上位机管理软件,该软件平台可利用Lab View开发工具经图形化开发得到[15-19]。现场监控基站主控制器经由485总线和该上位机管理软件相连,处理后的数据因此在主控制器的控制下同时向现场人机交互模块和该软件平台进行传输。监控中心管理者同样可以通过查看人工监控界面,从实时数据功能中监测养殖水域水质参数,并具有远程下发指令的功能,能够及时发现潜在异常,实现远程监控。上位机软件管理平台具有存储功能,采用Microsoft Acess数据库对接收到的数据进行实时存储备份,在历史查询中可通过设置时间区间获取历史数据信息。此外,该上位机软件管理平台还可以通过Socket方式和监控者手机微信端进行通信,使控制者可以在手机端对该水产养殖监控系统进行远程监控。本文所使用的系统和相关管理软件均已同某渔业企业进行合作,实际使用良好,能完成多点水质参数信息的获取,误差可控制在2%以内,满足了实际使用的精度要求。
7 结束语
由于传统的水产养殖监控系统通过采集定点数据来检测水质参数,其将会导致数据采集不全面的问题。为了解决这个问题,本文在传统水产养殖监控系统的基础上,设计并开发了一套多点数据采集水产养殖监控系统,其引入不定点数据采集模块,融合了定点数据和不定点数据,从而提高了养殖水域的监测范围,并采用数字化数据采集以及ZigBee等移动互联传输技术进行数据传输,同时引入了手机微信端监控方式,让监控者通过微信公众号也能够实时全面的获取水质参数信息,确保水产品的质量和养殖工作的顺利进行。该系统已经投入使用,运行良好,能够为相关水产养殖监控系统的设计与开发提供技术支持。