包敬海, 杨 迪, 侯昌华, 谢日广
(钦州学院,广西 钦州 535011)
基于云空间的近江牡蛎养殖监控系统设计
包敬海, 杨 迪, 侯昌华, 谢日广
(钦州学院,广西 钦州 535011)
针对近江牡蛎养殖中自动化程度低、成本高等问题,提出一种基于云空间设计近江牡蛎养殖监控系统。以STM32F103为底层控制核心,通过YS8166B、SIN-D0530和超声波模块实时采集海水的pH、溶氧(DO)、温度和深度,并通过nRF24L01以无线方式发送到上位机。上位机采用C#多线程通信程序与云空间进行交互。系统采用ASP动态技术云空间,通过轻量级数据交换格式JSON与上位机、用户进行快速通信,利用AJAX实现无刷新显示。用户通过智能手机可以随时随地访问云空间,掌握养殖现场的实时信息,并结合云空间嵌入的本地天气信息,对浮排电机、增氧机、投饲机进行远程控制。结果表明:系统具有成本低廉、稳定可靠、响应快速等优点。基于云空间的监控系统为近江牡蛎养殖智能化提供了一种新方法。
云空间;近江牡蛎;监控系统;STM32F103;溶氧
近江牡蛎(OstrearivularisGould)是北部湾的名贵特产,具有肉嫩鲜美、高蛋白、低脂肪、低胆固醇、低卡路里等优点,深受群众喜爱[1]。近江牡蛎养殖已经有了700多年的历史,也是南方沿海最主要的经济贝类[2]。近江牡蛎养殖主要采用浮排(浮阀)吊养方式,也就是在幼苗贝壳边缘钻孔,再以铁丝等绳索串起来,吊在木排、竹排等各种浮排之下[3-4]。水环境是高效水产养殖的关键,水质恶化会给养殖户带来极大的损失[5-6]。由于抽砂、淘矿和企业偷排污染物等的影响,容易出现水质恶化和淤泥淤积的情况,造成幼苗大批死亡甚至颗粒无收,因此近江牡蛎养殖需要密切检测水质变化[7]。另外,近江牡蛎养殖还需要对浮排进行控制,如果浮排密集在岸边,蚝苗所获得的浮游生物较少,生长缓慢。因此,在风浪较小的时候,应释放绳索,使浮排能分散到更深的海域;而在风浪较大的时候,需要及时收缩绳索,将浮排集中到岸边,以避免大风大浪的破坏。目前近江牡蛎养殖中的水质监测和浮排控制基本上还是沿用传统手工操作的方式,效率低下、成本较高,难以及时发现隐患。为此,本设计以STM32F103为底层控制核心,通过传感器实时获取养殖现场的环境参数,并通过上位机传输到云空间,使得用户能够通过智能手机等移动终端随时随地掌握现场情况,并结合天气信息对蚝排进行远程控制。
针对养殖户的需求,经过研究和比较,提出一种基于云空间的解决方案,其架构如图1所示。
图1 系统架构框图
该架构具有如下几个特点:第一,基于云空间,能够满足养殖户随时随地访问的需求。科学养殖离不开日常数据的采集和分析,而云技术是数据中心的发展趋势[8]。云空间一般指建立在互联网中的服务,常见的有Amazon、阿里云[9]、百度云、新浪云以及其他动态技术空间等。第二,实时采集,远程控制。水温、pH、溶氧(DO)等参数的精准测量至关重要[10],需要实时采集。增氧机、投饲机是水产养殖不可或缺的设备[11-12],对其实现自动化远程控制,能够极大提高效率,更好帮助蚝苗生长,并降低劳动人力成本。第三,稳定可靠。云服务器难免出现故障,而上位机可有效保障历史记录的完整性。有线网络布线较为繁琐;常见的GSM无法做到实时在线,GPRS要求上位机必须具有固定公网 IP 地址及固定端口[13]。为避免延迟、不稳定、配置复杂等问题,采用了底层nRF24L01无线通信、上层计算机网络通信的结构,确保稳定快速的数据通信。第四,低成本。常规的ASP、PHP、NET等专用云空间价格并不高,部分免费空间同样值得尝试;上位机主要用于数据存储和通信,要求较低,廉价的低端计算机完全可以胜任;控制器采用性价比较高的STM32F103;传感器采用国内工业级产品,能够有效降低系统成本和维护费用。
采用STM32F103作为微控制器。内核是基于32位的ARM Cortex-M3[14],主频高达72 MHz,SRAM可达64 KB,Flash可达512 KB,快速IO接口最多112个,定时器、ADC、DMA、IIC、SPI等各种资源较为丰富,低电压低功耗,特别适合智能控制系统。
采用工业在线溶氧检测仪SIN-D0530,集成了水温的检测功能。溶氧采集精度为±0.5% FS,温度精度为±0.3℃,在0~60℃的环境下可以实现自动温度补偿。溶氧检测仪采用Modbus协议进行通信[15]。Modbus协议一般采用RS485总线,最大传输距离为1 500 m。由于总线上存在多个传感器,因此溶氧检测仪在使用前,还需要通过对每个设备分配地址进行识别。分配好地址后,可以对设备进行溶氧、水温的操作。其命令格式见表1。溶氧检测仪接收到串口发送过来的命令后,会返回一组17个字节的数据。其中,溶氧数据位于3、4位字节,温度数据位于5、6位字节。例如,某次采集中,第3个字节的数值为22H,第4个字节的数值为F3H,则溶氧的含量为:O2=22H×256+F3H =8.95 mg/L
表1 溶氧检测仪的命令格式
采用pH传感器YS8166B检测pH。该传感器采用凝胶电极和玻璃敏感膜等材料,精度为±0.01,宽电压设计,广泛应用于水产养殖、污水处理、大棚土壤检测、池塘等场所。YS8166B采用Modbus协议和RS485总线进行通信,设备响应后,返回的数据格式为:[设备地址][命令号][返回的字节个数][数据1][数据2][CRC16校验]。例如某次获取的数据为031EH,则转换为十进制为:3×256+1×16+14=798,即pH为7.98。
采用超声波技术进行水位测量[16]。其原理为:采用超声波模块发出40 kHz左右的超声波,根据水面、海底两次反射的时间差,结合声波在海水中的速度,从而计算出水位的高低。
投饲机、增氧机是简单的开关型设备,根据用户指令,通过继电器控制对应插座的通断即可。浮排电机的控制稍微复杂一点。由于海中浮排的阻力不是很大,为节约成本和便于控制,采用常见的大功率单相交流电机。电机与浮排之间通过绳索连接,通过控制电机的启停、正反转,就能够实现绳索的释放和收缩。在风浪较小的时候,用户可以发出指令,微控制器STM32F103控制电机反转,释放绳索,使得浮排能够随着海浪扩散,蚝苗能更好地获得浮游生物。而在风浪较大的时候,用户发出电机正转、绳索收缩的指令,浮排会逐渐靠拢到岸边,避免风浪毁坏。其中,STM32F103与浮排电机之间的接线如图2所示。GPIO1是STM32F103的输出端口,作为方向控制开关,经过继电器RL1与电源、电机的1、3脚相接。而GPIO2作为电机的启停开关,经过RL2与电源、电机的2脚相接。因此,引脚GPIO2-GPIO1输出10或11均可关闭电机,输出00为正转,01为反转。由于STM32F103的快速端口多达112个,并行控制多个电机并不困难。
图2 浮排电机的接线图
nRF24L01是中短距离无线通信中使用最广泛的无线芯片之一,具有ISM频段、快速SPI接口、低功耗、稳定可靠等优点,其工作于2.4GHz,具有125个可选频道[17],加上功率放大器(PA)天线后在海边空旷区域传输距离可达千米,能够满足近江牡蛎养殖监控的无线传输需求。
底层模块程序通过Keil MDK和C语言编写,主要任务有采集pH、溶氧、水温、水位和控制浮排电机。由于超声波检测水位和电机控制并不复杂,以下主要分析其他3个关键参数的采集。第一步,给YS8166B分配地址0x01,SIN-D0530地址为0x02。如果还有其他的Modbus协议的传感器,也同样接到同一对RS485总线并分配不同地址即可。第二步,定义发送给YS8166B和SIN-D0530的命令数组pH_addr[8]和O2_addr[8],接收pH、氧气的数组pH[8]、O2[17]。第三步,设置进程标志位flag,用于在主程序、传感器串口通信中进行协调。其中,0表示发送氧气传感器地址,1为采集氧气、水温,2为采集氧气完毕并发送pH传感器地址,3为采集pH,4表示采集pH完毕并发送数据给上位机。
另外,由于传感器无法每次都能获得响应,因此还要设置一个时间阈值。该系统设置10 s内无法正确接收到数据,就自动清除所有变量并重启传感器模块。
上位机程序通过Visual Studio和C#编写,主要功能是连接云空间与微控制器。上位机工作后,会启动4个线程(表2)。
需要注意两个问题:一是速度控制。微控制器与上位机之间的通信较为稳定,采用常用9 600 b/s即可。由于互联网环境变化较大,必须进行延时,否则很容易出错。根据国内免费云空间的速度情况,每写入一次,等待5 s后再判断写入是否成功;读取用户要求时也应经过2 s延时。二是数据更新控制,也就是信息有变化才发送,以减少通信量。
云空间主要用于数据存储和用户交互。云空间通常有C/S和B/S两种服务模式,后者更便于用户通过浏览器快捷访问[18]。目前越来越多的水质养殖监控系统采用了B/S模式[19],为了获得最大的灵活性和最低成本,本系统采用了动态服务器页面(ASP)免费云空间。
不同的云空间往往采用不同的技术,数据库也大相径庭。如果在上位机中直接访问数据库,很可能无法获取权限,同时也降低了系统的通用性。为此,本系统采用轻量级数据交换格式JSON的解决方案。与传统的XML相比,JSON体积更小,速度更快,解析更容易[20]。云空间模块的主要页面或文件见表3。
表3的关键页面主要是change.asp和get.asp。一方面,上位机将motor(STM32F103控制电机的端口)、deep、PH、oxygen、temperature等5个参数的数值打包到JSON字符串,并通过HttpWebRequest发送到change.asp,从而更新数据库。例如,某次发送的数据格式为Ostrea rivularis Gould={motor: “56”,deep:“231”,pH:“7.8”,oxygen:“9.6”,temperature:“21.3”}。另一方面,上位机通过StreamReader读取get.asp页面的数据,经过JSON.parse()解析后获取养殖户对浮排电机的控制要求。
表3 云空间的页面
经过前面的硬件配置、程序设计,可以将底层、上位机、云空间这3个模块整合在一起,其工作流程如图3所示。
图3 系统工作流程
可以看出,该系统的具体功能包括:采集pH、溶氧、水温、水位数据;获取浮排电机、增氧机、投饲机等设备的状态;底层数据经过STM32F103、上位机进入云空间并存储到数据库中;通过智能手机、平板、计算机等终端,可以从云空间看到实时信息;在云空间界面进行操作,可以控制底层的电机设备。
第一步,启动STM32F103等底层设备。如果能够顺利工作,串口通信芯片会不断闪亮并往上位机发送信息;第二步,启动上位机,观察收到的数据是否正确;第三步,在上位机程序中,通过手动方式,测试底层设备能否正常响应,测试与云空间之间能否正常通信,如果系统正常,则对应的底层电机会启动,对应的Web页面会自动更新数据,同时也会显示从Web数据库中获取的信息;第四步,进入自动收发的通信状态,此时用户通过智能手机访问云空间,即可获取现场的实时信息,并进行底层电机的控制。
近江牡蛎养殖监控系统的云空间主要实现3个功能:(1)通过不同颜色区分底层设备的工作状态,默认情况下,按钮背景为白色,设备不工作;按下按键后,底层设备工作;云空间获得反馈后,页面会自动更新。由于采用了AJAX无刷新的技术,数据量少,页面不刷新不抖动,用户体验良好。(2)显示水深、pH、溶氧、水温等环境因素。(3)提供调整时间、查看历史数据、清空设备状态和用户的目标要求。其中,底层设备默认工作10 min后自动停止,也可以通过“调整时间”链接进行自定义设置。
由于海上风浪的变化较大,加上北部湾混合潮较为复杂[21],因此浮排电机的控制还不能完全脱离人工管理。为了方便用户更好的制订控制策略,云空间嵌入了天气网的子页面,被调用地址为http://i.tianqi.com/index.php? c=code&a=getcode&id=7&h=90&w=225。另外,由于免费云空间提供的是三级域名,地址较长,为了方便用户访问,系统设置了二维码,用户可以通过扫描快捷进入。
免费云空间可以有效降低系统成本,但性能是否能够满足监控系统的需求,需要通过测试检验。在实际测试中,经过算法优化之后,性能较为稳定,速度也还可以。用户通过手机发出控制命令后,底层设备基本上在2 s左右就能响应;而再经过微控制器反馈到云空间,并进行AJAX无刷新显示,整个周期基本上能控制在10 s以内,完全可以满足近江牡蛎监控的需要。性能测试情况见表4。
表4 测试效果
针对近江牡蛎养殖自动化程度较低、成本较高的难题,设计了基于云空间的近江牡蛎养殖监控系统。采用STM32F103、上位机、云空间的三层架构,实时采集海水的pH、溶氧、温度和深度等参数并送入云空间。用户通过智能手机,能够随时随地访问云空间,掌握现场环境信息并对底层的浮排电机、增氧机、投饲机进行远程控制。采用云空间方式能够有效降低系统成本,系统响应能够满足近江牡蛎养殖监控需求。本研究为近江牡蛎养殖提高智能化提供了一条新的途径。
□
[1] 包敬海,梁广柱,杨永兰,等.基于LabVIEW的大蚝养殖智能监测系统的设计[J].钦州学院学报,2017,32(5):8-13,45.
[2] LAM K,MORTON B.Mitochondrial DNA and morphological identification of a new species ofCrassostrea(Bivalvia: Ostreidae) cultured for centuries in the Pearl River Delta,Hong Kong,China[J].Aquaculture,2003,228(1/4):1-13.
[3] 檀宁,曾尚伟,陈泳先,等.近江牡蛎浮筏式养成技术[J].海洋与渔业,2016(12):54-55.
[4] 黎小正,吴祥庆,吴明媛,等.广西钦州近江牡蛎增养殖区浮游植物生物量研究[J].安徽农业科学,2011,39(32):19867-19868,20001.
[5] 付焕森,刘立军,吴雷,等.水产养殖环境监控系统的开发与试验[J].中国农机化学报,2015,36(4):73-76.
[6] 周皓东,黄燕,刘炜.基于Zigbee和GPRS的水质监测系统节能设计[J].渔业现代化,2017,44(4):24-29.
[7] 王倩,黄鹄,佟智成.钦州茅尾海大蚝增养殖区水污染状况与控制对策[J].广西师范学院学报(自然科学版),2016,34(1):102-108.
[8] 陶迎春,刘光,庞京辉,等.构建面向个性化服务的特大城市云空间数据中心[J].测绘通报,2017(2):10-13,24.
[9] 王爽,陈俊杰,肖铮,等.应用阿里云搜索服务构建图书馆站内搜索引擎[J].现代图书情报技术,2013(6):85-89.
[10] 刘熙明,王义,聂思敏.基于分布式无线网络的水质监控系统设计[J].渔业现代化,2017,44(4):50-56.
[11] 徐皓,田昌凤,刘兴国,等.养殖池塘增氧机制与装备性能比较研究[J].渔业现代化,2017,44(4):1-8.
[12] 刘思,俞国燕.工厂化养殖自动投饵系统研究进展[J].渔业现代化,2017,44(2):1-5.
[13] 吕敏,李冰,邹君.基于GPRS/GSM技术的一体化积水监测装置[J].人民长江,2017,48(10):6-8.
[14] 丛培田,白志强,朱星桥,等.基于STM32F103的旋转角度测量装置设计[J].工具技术,2017,51(1):108-110.
[15] 翟健健,许四祥,王忍宝,等.基于MODBUS协议的镁熔液含氢量自动检测接口设计[J].有色金属工程,2017,7(4):32-35.
[16] 朱良君,张光辉,胡国芳,等.坡面流超声波水深测量系统研究[J].水土保持学报,2013,27(1):235-239.
[17] 刘婷.基于nRF24L01和STM32的定量装车站无线控制系统[J].工矿自动化,2015,41(6):104-106.
[18] 马从国,赵德安,王建国,等.基于无线传感器网络的水产养殖池塘溶解氧智能监控系统[J].农业工程学报,2015,31(7):193-200.
[19] 张沪寅,屈乾松,胡瑞芸.基于JSON的数据交换模型[J].计算机工程与设计,2015,36(12):3380-3384.
[20] 陈波,侍茂崇,郭佩芳,等.北部湾北部潮流谱分析和余流特征研究[J].广西科学,2014,21(1):54-63.
[21] 盛平,王英杰,倪冬玮.基于实时水质参数的智能养殖装备设计[J].渔业现代化,2017,44(1):1-5.
DesignofthemonitoringsystembasedoncloudspaceforOstrearivularisGouldfarming
BAOJinghai,YANGDi,HOUChanghua,XIERiguang
(QinzhouUniversity,QinZhou,GuangXi535011,China)
In order to resolve the problems of low degree of automation,high costs,etc.inOstrearivularisGouldfarming,a monitoring system based on cloud space forOstrearivularisGouldfarming is brought up.The system adopts STM32F103 as the core of bottom control,collects real-time data of the seawater’s pH,dissolved oxygen,temperature and depth through YS8166B,SIN-D0530 and ultrasonic modules,which will be wirelessly sent to the upper computer via nRF24L01.The upper computer adopts C# multi-thread communication program to interact with cloud space.The system adopts cloud space based on the ASP dynamic technology and the lightweight data interchange format JSON to fastly communicate with the upper computer and users,and provides no refresh display by utilizing AJAX.This allows users access to cloud space anytime and anywhere via intelligent mobile phones,and obtain real-time information at the farming site.Meanwhile,according to the local weather information embedded in cloud space,users can control floating row motors,oxygen generators and dispensers remotely.Tests showed that the system has the advantages of low costs,stability and reliability,fast response and so on.This monitoring system based on cloud space provides a new method for the intellectualization ofOstrearivularisGouldfarming.
cloud space;ostrea rivularis gould;monitoring system;STM32F103;dissolved oxygen
10.3969/j.issn.1007-9580.2017.06.009
2017-09-29
广西高校科研项目(KY2016YB489);钦州市重点实验室科研项目(620174011)
包敬海(1979—),男,硕士,副教授,研究方向:智能控制系统。E-mail: bao535000@163.com
TP368.1
A
1007-9580(2017)06-049-06