崔海嵩 田静静 林啸啸 张仕远 倪冰倩
摘 要:随着智能农业技术的发展,传统灌溉技术存在着明显不足,尤其是在人力劳动方面太过依赖。目前智能化灌溉方式通常需要人为管理和调整且通常存在着许多未知问题。为了避免问题出现的同时无法及时得知以及相同问题无法自动执行解决方案,以此开发了一种分布式物联网控制系统对原有的智能化灌溉设备进行改进。
关键词:物联网;单片机;灌溉系统
一、研究背景
当前,智能灌溉模型是通过使用单片机和相应的传感器对农林状态进行检测。通过单片机对当前环境的监控和初试设定值的比较,得到当前应该执行的固定动作。以此形成的自动化灌溉系统无法灵活运用到各种农作物之间,对于环境的检测十分有限,不利于拓展和维护。为解决这一问题,对单片机进行了改进,加入通信模块和更多传感器。
二、研究意义
通过对智能灌溉系统的优化,能够大幅度提升该系统的适应能力。使耕种可以从体力劳动变成脑力劳动,对于同一种问题实现一种可灵活变化的解决方案。即开发出一种能够抛出异常的灌溉模式,当出现未知农业环境或错误时,能够及时上报并尝试采用备用解决方案。以此提升我国粮食参量和农业种植效率,更有利于水资源的有效利用,对水的循环使用提供了一定帮助。
异常问题处理是系统的一大研究内容,对于无法解决的异常,当存在大面积种植时,人工现场处理非常耗时耗力,效率极低,使用远程微控系统与智能灌溉系统结果,达到远程实体操控的目的,为农林灌溉和异常处理提供了极大方便,通过对于恶劣环境的应对能力也得到了提升。
三、研究方案
设计相应电路模型,模拟电路运行。确保关键电路无故障,驱动相应主板位置正常后可尝试对主控板安装、部署。主控制板可采用相应模拟器实现程序模拟,通过对联网模块、温度检测、异常处理、远程控制之间信号传输及相关问题处理,得到相应的解决方案。设计不同错误对应的解决方案以及代码,设计相应的错误解决方案和默认错误解决方案,对设计程序进行整体规划,必要之处做出相应的解释,最终得到系统设计方案,确定出智能灌溉系统的升级方案。
根据方案进行系统程序设计。首先设计服务端测试系统,用于接收客户端发来的一系列程序参数和错误代码,并将其展示输出。客户端系统使用C++语言设计,通信模块使用ESP8266网络通信模块对服务器发送信息,服务器拥有固定IP地址用于和客户端形成稳定通信。数据加工处理是在单片机和Arduino结合下实现的功能,Arduino作为主管理器,充当系统管理器,操控并命令单片机执行长时间工作,单片机也充当多线程服务中的子线程。单片机实时监控单个功能模块的变化和实现对单个功能的操控,Arduino获取单片机返回的信息,并对其进行加工处理后决定下发指令。对于异常处理Arduino发送错误代码到ESP8266模块,此时ESP8266模块充当网络代理,作为Arduino无线网卡,将其发送来的指令进一步加工或是不加工,通过网络上传到服务器端,服务器端获得相应指令后执行相应的异常处理方案,通过将错误异常保存在系统日志中。
异常处理是服务端主动向客户端发出的特殊指令,服务端下发监控程序,此时客户端分配自动与服务端建立的端口,用于视频流传输,服务端开始对客户端发出的视频流进行实时监控刷新。对于远程微控服务指令,客户端会匹配本地微控系统,启动系统后,微控系统与客户端ESP8266连接,此时ESP8266不再直接与Arduino形成网络代理,而是作为微控系统的远程控制网卡,远程微控时客户端和服务端会建立稳定连接,服务端监听微控状态,客户端同样实时监控自身行为状态,随时准备处理服务端发来的控制指令。微控系统接收到客户端指令后通过执行相应动作模拟人为控制,尝试在人为控制下解决未知异常。
智能灌溉系统通常不发生未知异常,需要面临的问题还有对于多种环境的监控和管理。系统会根据当前客户端信息匹配相应的灌溉方案和异常指令,指令和解决方案均可在远程服务端进行操作,客户端获取灌溉方案是在客户端与服务端建立连接成功后发生的,当客户端启动成功后会首先向服务器发送自身信息,此时服务端在对客户端信息完成验证后随后下发系统配置,客户端根据接收到的系统配置对内部参数进行调整,实现多功能环境下的培育种植。
针对植物变化周期培育方式,本系统设置了客户端系统重启指令,该指令在解决客户端启动问题同时也可以应用在不同周期种植方式不同的植物培养环境中,当植物处于不同生长周期时,服务端对客户端发送重启命令,对客户端重新下发初试配置,客户端得到初试配置后重新对内部参数进行微调,以实现对当前种植环境的模式改变。
四、研究成果
客户端使用C++程序对Arduino和ESP8266进行烧录,单片机采用C语言编程,微控程序采用Arduino及舵机结合,与ESP8266建立连接,摄像模块与ESP8266连接实现网络传输。
服务端采用JAVA、Python结合,实现数据通信及数据呈现,搭建出用户微调界面和系统状态检测见面,其中JAVA程序用于實现客户端与服务端的通信及异常处理,负责将状态数据和系统数据存入日志文件,Python程序是服务端与管理员之间的通信工具,用于对服务端的轻微控制和客户端系统的实时监控。
网络通信采用互联网通信、局域网通信联合,实验时采用局域网进行调试,客户端内部之间也采用局域网通信,客户端与服务端的远程连接使用互联网公网IP通信,满足远程操控的需求。
通过模型试验,最终对植物生长数据的统计得出,相较于升级前的智能灌溉系统,新的智能灌溉方案拥有更强的适应能力,对植物的不同生长周期和系统稳定性处理都具有良好的表现,植物生长状态更好。
五、结语
升级后的智能灌溉系统拥有更强的环境适应能力和更稳定的系统性能,支持更多的植物培养方案同时拥有更直观的数据结果体现。针对数据系统的升级和通信服务的改进,智能灌溉系统在实际测试中做出了更优的表现。当前农业环境下通过智能灌溉系统的应用能够对农业种植和管理提供极大的便利,智能农业系统的迭代升级随后也将考虑接入决策树方案,使程序在多特征下能够预测出灌溉服务标签,同时可将接入定位系统,实现更直观的农林状态监控。
参考文献:
[1] 王骥,沈玉立,周文静.基于无线传感器网络的智能灌溉系统研究[J].现代电子技术, 2008, 31(15):4.DOI:10.3969/j.issn.1004-373X.2008.15.031.
[2] 魏恒文,杨培岭.日光温室黄瓜智能灌溉控制指标研究[J].灌溉排水学报, 2008, 027(003):63-65.DOI:CNKI:SUN:GGPS.0.2008-03-018.
[3] 张观山,束怀瑞,高东升,等.基于ZigBee和GPRS的远程果园智能灌溉系统的设计与实现[J].山东农业大学学报:自然科学版, 2012(3):4.DOI:10.7666/d.d144184.
[4] 黎江,王祥宁,张倩.远程无线传感器技术在智能灌溉监控中的应用[J].农机化研究, 2010(3):7.DOI:10.3969/j.issn.1003-188X.2010.03.050.
[5] 邓昀,程小辉.智能灌溉系统的无线传感器网络设计[J].自动化仪表, 2013, 34(2):5.DOI:10.3969/j.issn.1000-0380.2013.02.020.
[6] 孙颖奇,袁颖华,吴秋明,等.低功耗智能灌溉控制阀的研究[C]//大数据时代的信息化建设——.2015.
[7] 蓝宇,黄中舟,朱彦博,等.基于STM32和树莓派智能灌溉系统的设计与实现[J]. 2021.DOI:10.16667/j.issn.2095-1302.2021.07.033.
作者简介:崔海嵩,男,安徽宿州人,宿州学院管理学院2021级本科生。田静静,女,安徽六安人,宿州学院商学院2021级本科生。林啸啸,男,安徽铜陵人,宿州学院管理学院教学秘书,硕士。张仕远,男,安徽阜阳人,宿州学院信息工程学院2020级本科生。 倪冰倩,女,安徽六安人,宿州学院信息工程学院2020级本科生。
基金项目:国家级大学生创新创业训练计划(项目编号202310379001);省级大学生创新创业训练计划(项目编号 S202310379142)。