APP下载

物联网技术在智能水产养殖系统中的应用

2022-01-06彭琛陈伟平曾昱

关键词:执行器页面水产

彭琛,陈伟平,曾昱

(湖南文理学院 计算机与电气工程学院,湖南 常德,415000)

近年来,随着科学技术的不断进步和社会经济的快速发展,水产养殖技术也得到了快速的发展。当前,工业化水产养殖技术比较发达的国家有北美的加拿大、美国,欧洲的法国、德国、丹麦、西班牙,亚洲的日本、以色列等。我国工业化水产养殖起步晚,其总体发展水平与发达国家相比还有一定差距,水产养殖业大多仍处于粗放式低水平的个体化养殖,全循环水产养殖占比较低,这对我国水产养殖业的发展来说是极其不利的。而工业化水产养殖系统实现了水质监测、污物清理、投料、水质调节等过程的自动化控制,并可实现远程监控[1]。传统管理方式不但人工成本高、劳动强度大,而且还会因为观察或者操作的不及时造成大量鱼类死亡,形成不可逆的经济损失。随着智能化养殖的推广,既可以全面提升我国的水产养殖水平,并且对于促进渔业转型升级和生产方式转变,实现渔业现代化具有重要意义。针对于市场需求,本文通过硬件设计、软件设计和微信小程序设计几个方面实现了对水产养殖系统的智能化控制。现在有了物联网技术的帮助,智能化鱼塘养殖监控系统提供水质环境监测、远程控制等功能,综合利用计算机与网络通讯技术、传感器技术、电子技术,实现对水产生长繁育阶的水温、光照强度和PH值等各项基本参数进行实时监测预警,养殖户可在家可通过电脑了解鱼塘的情况,不仅掌握鱼塘水质实时数据的变化,查看实时监控鱼塘现场环境,更重要的是一旦发现问题,能够及时自动处理对在鱼塘中的增氧设备实现远程操作,而不需要划船到水中央去开关增氧设备,这为养殖户提供了很大的便利。

本文采用了以微处理器ARM主控芯片,设有辅助电源模块,联合了pH检测模块、TDS检测模块、含氧量检测模块和水浑浊度模块,通过WIFI模块对数据实现上传和指令下发,能实现控制换氧泵和换水泵和投食器的具体控制。控制系统结构框图如图1所示。

图1 系统框图

1 硬件设计

基于STM32的智能水产养殖系统的硬件包含物理层和网络层设计,物理层的微处理器使用STM32,包括辅助电源、信号检测电路和执行器驱动电路等基本电路。网络层的微处理器使用STM32,通过WIFI模块连接云服务器。

1.1 pH值检测电路

pH值检测模块具有电源指示灯、BNC接口,使用该模块时,需要将pH传感器连接到板载的BNC接口,pH值传感器的电极采用的是玻璃电极不参比电极组合在一起的塑壳可填充式的复合电极,是pH计测量元件,用来检测水溶液中的氢离子活度,也即pH值[3]。pH值输出主要由XP7的n_Aout输出,经两个电阻分压和一个电压跟随器后接入微处理器PB0。系统利用pH传感器实时监测显示鱼塘水中pH值,当实际pH值不在设定的pH的范围内时,系统自动换水。

该设计使用模块的pH值与电压的对应关系见表1。

表1 pH值与电压的对应关系(25℃)

1.2 浑浊度检测电路

浑浊度描述的是漂浮在水中的固体介质的浓度。有机悬浮物很长时间不处理,会积淀在鱼池底部,厌氧细菌就会开始大量繁殖,严重恶化水质。因此实时检测水中浑浊度非常重要。微处理器可以根据换水达到降低浑浊度的目的。浑浊度与输出电压的关系:y=-1120.4x2+5742.3x- 4352.9。

如图2所示,微处理器STM32F103的第27引脚(PB1)外接电压跟随器N1_1的A的输出口。电压跟随器的输入由PH检测模块输出值经分压电阻R1_1和R1_2将电压输出分为1/2。

图2 浑浊度接口

1.3 TDS检测电路

TDS(Total Dissolved Solids),中文翻译名为总溶解固体又被称作溶解性固体总量,具体解释为表明1 L水中溶会有多少毫克的溶解性固体。普遍认为,溶解性固体总量越高,表示水质环境中含有的固体溶解物越多,表明水就越不干净。尽管在某些特定情况下溶解性固体总量并不能有效反映水质环境质量的情况,但溶解性固体总量作为一种可快速检测的参数,它目前还可以被认为是有效的水质环境质量情况反映参数来作为参考。现实生活中,实时监测TDS值,针对不同鱼类对有机物含量不同,可以设定不同的阈值,实现不同的养殖环境。市面上常用的TDS检测设备为TDS笔,尽管价格低廉,简单易用,但是不能把数据传给主控系统,无法做长时间的在线监测,并且不可以做水质状况分析。使用专门的仪器,尽管能传数据,精度也高,但价格很贵。为此,该设计选用的模块巧妙的将二者结合,只需要给予稳定的5 V供电,模块就可以根据水质环境的TDS值输出至串口,只需要微处理器提供一个串口用作接受数据即可实时获取水质环境中的TDS值。

当水质环境中实际TDS含量不在设定的范围内时,系统可以实现自动换水的功能。如图3所示,微处理器STM32F103-RCT6的第16引脚(PA2)外接TDS检测模块A2串口的RX端,微处理器STM32F103RCT6的第17引脚(PA3)外接TDS检测模块A2串口的TX端,实现串口数据传输。

图3 TDS接口

2 软件设计

整个程序流程图如图4所示。

图4 主程序流程图

主程序以定时器为主线,分为数据采集、数据双向传递、应用层3部分。数据采集分为pH检测、TDS检测和浑浊度检测等,数据双向传递主要通过WIFI模块实现,应用层主要为微信小程序。打开电源,等待系统初始化完成后,程序开始定时检测各传感器的数据,定时上传传感器数据至服务器端。程序初试化完成后,定时器1开始计时,进入处理函数,处理函数主要根据时间标志位执行对应的时间任务函数,为了保证时效性,将判断是否需要执行器动作放在50 ms任务中,判断50 ms任务,如果标志位为1,则进行是否需要执行器动作的判断,需要则进行相应动作,否则清空标志位,如果0.5 min标志位为1,则进行数据检测,如果数据超过了阈值,进行相应动作,否则清空标志位,如果5 min标志位为1则发送一次数据给服务器,保持数据的时效性,最后所有标志位清0。

3 微信小程序

微信小程序调试截图如图5所示。

图5 微信小程序调试截图

微信小程序设计中主要包括6个界面的设计,第1个是登录界面,如图5(a)需要用到文本输入和按钮功能,通过输入账户密码,按下登录按钮,登录.js文件里面绑定登录按钮的事件会被触发,此时会向服务器发送登录请求,成功则会跳转至first页面。first页面如图5(b)所示,主要有3个按钮等待按下,分别可以实现获取所有传感器数据并显示、跳转至查询单个传感器历史数据页面和跳转至执行器页面。如图5(c)所示获取历史数据页面主要通过first页面获取的所有传感器名字渲染出所有传感器对应的按钮。等待有按钮事件触发,就会带着对应参数跳转到Dataget页面如图5(d)所示,选择历史数据的具体单位和个数,点击提交小程序会根据提交的各种参数跳转到一个表格页面如图5(f)所示,会根据事件点显示出历史数据。执行器页面如图5(e)所示主要由3个slider控件组成,对应着3个执行器,滑动对应的滑条就可控制对应执行器的运行功率或运行时间。其中换水泵和增氧泵滑条的输入为0–100对应着电机的运行功率,滑条的值越大,代表两个泵运行的功率也大,投食器的滑条因为底层硬件已经控制其转速,所以投食器的滑条控制的是步进电机的运行时间长短,底层会根据投食器的滑条的值乘64,控制步进电机的运行时间,因每8个脉冲对应着一个步进角度,滑条值乘64有利于步进电机的规则运行。

刚开始进入小程序时会判断用户是否登录,如果已经登录,直接进入首页面,否则会跳转到登录页面,进入登录页面,会提示用户输入账号与密码,点击登录后,小程序会向服务器发送登录请求,查询数据库内是否有对应用户,如果没有对应用户会显示账号或密码有错,(如果登录成功,系统会返回一个“AccessToken”,后续的每一次操作都需要带着这个参数访问服务器,此参数相当于一个身份码,让服务器后台识别客户),登录成功会跳转至首页面,首页面会有3个按钮,第1个按钮是获取该设备的所有传感器(包括执行器)的名字及其最近的一次值,并将该设备的所有传感器的名字和最近一次值显示出来,当按下第1个按钮并得到服务器的回应后,第2个和第3个按钮才能被使用,第2个按钮是获取传感器的历史数据值,第3个按钮是跳转至执行器页面。

4 实物制作

基于STM52的智能水产养殖系统的硬件制作由数据监测终端、执行器部分、数据上传部分组成,实物图如图6所示。各部分均以STM32F103RCT6微处理器为控制核心,完成了数据的采集、处理,利用WIFI模块将数据上传至服务器和接受指令,利用步进电机和两个直流电机完成投食、换水和增氧操作。

图6 总实物图

本次设计结合WIFI技术、传感器技术等设计并制作了基于STM32的智能水产养殖系统,实现了水质环境参数的实时检测、数据处理与传输、并支持通过微信小程序查询数据和下发指令等功能。相比较于传统的人工水产养殖系统,该系统实现了无人管理,工作人员只需要通过微信小程序就可以实时查看水质环境中的各数据,并可以下发指令完成换水、增氧和投食功能,这不仅仅节省了人力和时间,同时数据的监测具有连续性和实效性,实现了24 h连续不间断记录。

5 小结

本文设计的基于物联网技术的智能水产养殖系统分为物理层、网络层和应用层3部分。物理层使用STM32F103RCT6微处理器作为主控制器,处理PH传感器、浑浊度传感器和TDS传感器等采集的数据,对换水泵、增氧泵和投食器进行控制,实现水质环境的参数采集功能和对执行器的控制功能。网络层以WIFI模块作为主要网络通讯模块,使用TCP协议,将数据发送至服务器,完成数据的双向通讯。应用层为微信小程序,访问服务器,可以随时查看水质环境参数数据,下发指令等操作。由于前期认识不足,知识面不够广泛,研究不够深入以及自身实力不足,实物制作过程中遇到过种种问题:首先硬件代码的时序不好安排,任务细而多,无法保证实效性,提出的解决办法是加定时器,给予时间任务函数,让代码跑得更加顺畅,不会出现中断过多而干扰主函数的运行;其次连接新大陆云平台时的窘境,一开始不懂json格式包,也不懂新大陆云平台的握手协议,根据查看新大陆云平台的连接协议和WIFI的数据发送接收指令,得以解决掉连接服务器和数据上传下发的问题;最后系统通过仿真调试、实际制作完成了智能水产养殖系统的基本功能。随着现代科学的进步,智能养殖逐渐成为潮流,智能水产养殖系统设计顺应了国家新工科专业的改革,未来,随着智能化的普及,智能化养殖会代取代大部分人工养殖技术,节省人力物力,朝着智能化的方向发展。

猜你喜欢

执行器页面水产
多场下压电喷油器执行器电学特性试验研究
更正说明
刷新生活的页面
自动驾驶汽车执行器故障冗余算法
搞养殖,我们都看《当代水产》
加油!水产人!
答案
让Word同时拥有横向页和纵向页
大咖点评:2020年水产动保谁主沉浮?
读懂“水产人十二时辰”,你就懂了水产人的一天