基于STM32 的农业大棚远程监控系统设计
2023-11-27张步峰李国利刘焙玉金陵科技学院江苏南京
张步峰,李国利,刘焙玉(金陵科技学院,江苏 南京)
引言
目前,我国日光温室已全面普及,但多数日光温室仍以人工监控为主,管理方法落后,生产效益不高[1-2]。智能大棚作为一种新型的农业生产方式,具有高效、节能、环保等优点,可以有效提高农业生产效率,缓解粮食安全压力,改善农民生活质量,是当前农业发展的重要方向之一。智能农业是今后农业发展的大趋势[3]。
随着人民生活条件日益提高,开发智能大棚以满足群众需求势在必行[4]。鉴于此,本文以STM32 单片机与WiFi 模块为核心设计了一款智能大棚环境监测管理系统,精确收集数据以保证作物的生长处于最优环境。因此,收集大棚作物生产环境数据,进行数据可视化处理、观察数据变化趋势、预知风险,对大棚作物生长环境的安全具有重要意义。随着农业技术和计算机技术的发展和融合,温室的环境控制系统也在朝着智能化、集中化和网络化的方向发展。
1 系统总体方案设计
农业大棚远程监控系统选择STM32F103C8T6 单片机作为核心控制单元,与晶振电路、电源电路、复位电路等共同组成了智能大棚控制系统。温湿度监测采用了DHT11 模块,采用MQ-135 检测空气质量,光敏电阻检测光照强度,土壤传感器检测土壤湿度,可以通过继电器实现控制灌溉模拟,红外技术器检测作物进出数量,显示模块采用了LCD1602 液晶显示器,报警模块进行数据预警,通过WiFi 连接到手机助手实时查看数据,系统整体设计如图1 所示。
图1 系统整体设计框图
系统通电开始工作后收集到的实时数据通过数模转换在显示屏上呈现出来。可以预设一个空气温湿度和土壤湿度的阈值,当气体温湿度超出了范围,蜂鸣器就会报警。土壤的湿度也会控制继电器的动作,判断是否需要浇水。同时,当系统启动时,WiFi 模块也会同时开始工作,把收集到的数据实时发送到手机APP 上,实现对大棚环境各项数据的远程检测和监控。
2 硬件设计
智能温室大棚采用STM32F103C8T6 作为主控芯片,能够实现对系统数据采集,远程监控,智能控制等功能。系统硬件实物如图2 所示。系统硬件部分设计主要包括STM32 单片机电路、温湿度检测模块、土壤湿度检测模块、光照强度检测电路、气体检测电路、WiFi 模块电路等部分的设计。WiFi 模块作为本次设计重要的一环,在系统模块硬件的选择上选用了USR-WIFI232-B2,一款嵌入式工业级WiFi 模块,电路图如图3 所示。
图2 系统硬件实物图
图3 WiFi 模块电路
3 软件设计
系统的软件部分包括:下位机部分是智能温室大棚系统的主控芯片STM32F103C8T6 程序;上位机部分是手机APP 端的程序,上位机手机APP 是基于Android Studio 开发,用于开发基于Android 操作系统的移动应用程序。
3.1 系统主程序
智能温室大棚的单片机系统主程序。当板子通电后,各模块开始初始化,如果有中断指令则通过定时器启动中断函数,反之继续运行主函数。WiFi 通讯模块开始运行并接收信号,ADC 收集数据进行模数转换。通信模块对接收到的数据进行判断,这时需要看看有没有上位机的命令,如果有则执行上位机的控制命令,若没有则根据预设值判断是否需要自动浇水。判断完成后进行按键扫描同时LCD 显示收集到的各种数据。主程序流程如图4 所示。
图4 主程序流程
3.2 温湿度检测模块子程序
选用DHT11 温湿度传感器采集大棚环境温度和湿度信息,初始化DHT11 传感器的IO 口,并检查DHT11 传感器是否正常工作。重置DHT11 传感器,即向DHT11 传感器发送起始信号,启动数据传输。检查DHT11 传感器是否正常工作,返回值为1 表示DHT11传感器异常,返回值为0 表示正常。读取DHT11 传感器传输过来的一个二进制位,然后读取DHT11 传感器传输过来的一个八位二进制数,最后读取DHT11传感器传输过来的温湿度数据,并将温度和湿度值存储起来。系统运行后实时检测温湿度数据,并显示到显示器上。
3.3 土壤检测模块子程序
土壤湿度传感器通过测量土壤中的电导率来计算土壤湿度,并将信号输出到数据采集器或控制器。数据采集器或控制器会对传感器输出的数据进行处理,经过处理后的数据可以被用来分析土壤湿度变化趋势,预测作物生长状况,优化灌溉和施肥等农业管理工作。将模拟信号转换为数字信号给单片机处理,设置一个预设值,当接收到的数值大于预设值时控制继电器不工作,当接收到的数值小于预设值时控制继电器工作。
3.4 气体检测模块子程序
MQ135 气体传感器是一种可检测多种有害气体的传感器,包括可燃气体、氨气、二氧化碳等。当被检测的气体通过敏感元件时,气体分子与敏感元件表面的化学物质发生反应,导致电阻值发生变化。气体传感器会通过模数转换将收集到的信号通过单片机显示到显示器上。
4 系统测试和实验
在对系统的硬件部分、STM32 控制器中的软件部分和手机APP 部分进行调试、修改,系统各模块测试均能正常运行之后,进行对系统整体性能的测试。
4.1 环境数据测试
大棚是露天环境,所以气温,湿度等环境因素会不停变化,将系统拿到各个环境中去测量,首先是室外比较热的环境,因为近期气候比较闷热,所以温湿度和光照强度相比较室内都有所上升。如图5 所示,分别测量室内和室外温度、湿度情况。
图5 环境数据测试
4.2 土壤湿度测试
在系统设计中加入了土壤传感器以及一个模拟浇水动作的继电器,可以根据预定值进行自动判断温室大棚是否需要浇水。因为不同的农作物对土壤湿度有着不同的要求,所以可以根据需要自行设定。比如预设一个300,当系统通电时,传感器会检测当前土壤的水分,当把传感器暴露在空气中时,这时它的土壤湿度就为1(最小值),那么继电器上的绿灯就会亮起,代表正在浇水。当用沾满水的面巾纸包住传感器,模拟出一种土壤很湿的环境时,它所测出的值就会超出预设值显示355,这时继电器上的绿灯就会灭掉,代表停止浇水,如图6 所示。为了方便调节预设值,板子上设置了三个按钮,从左到右分别是确认、减少和增加。只需要先点击确认键,增加或减少直到调出所需的值,然后再次点击确认即可。
图6 土壤湿度测试
4.3 远程监控与控制功能
系统有WiFi 模块的存在,设计了一个手机APP作为系统的上位机。软件设计主要使用了Android Studio。是由谷歌推出的一个Android 集成开发工具,基于IntelliJ IDEA。Android Studio 提供了集成的Android 开发工具用于开发和调试。这个APP 有很多优点,速度更快,更加智能且有着更强大的UI,目前是安卓APP 开发的首选。如图7 所示,主板通电后,系统的WiFi 通讯模块随之启动,先打开手机的WiFi,搜索WiFi 名USR-WIFI232,选择连接。连接成功后打开APP,在APP 的左上角选择连接服务器,选择默认地址即可。连接后在APP 中可查看各个模块检测的数据,同时APP 中按键板面按下2 键或3 键就能手动控制继电器模块的启停,从而控制外部浇水系统。
图7 APP 界面显示
4.4 实际温室大棚环境实验
在室内把功能调试完后,将系统在实际温室大棚内来测试它的性能,如图8 所示。将系统通电,同时把手机与系统通过WiFi 连接。可以看到数据很快就接收并显示。因为温室大棚内部刚刚撒过水,所以湿度偏大,温度在26 ℃左右,测试结果数据比较准确。
图8 温室大棚实验
5 结论
本文旨在用科学技术促进农业生产,用先进的技术面对多变的气候,让农业生产更加稳定。完成农业大棚远程监控系统设计、测试和实验,系统采用STM32 单片机作为下位机,并采用移动APP 作为上位机。通过对系统的性能测试,该系统在测量温湿度、光照强度和土壤湿度等数据可以做到有效准确,同时智能灌溉和温湿度报警也非常可靠,实验中没有出现错报漏报的情况。WiFi 通讯功能良好,能快速准确地和手机互联,手机端也能快速收到信息并控制继电器。通过手机APP 能够监控更准确的环境数据,可以更加明确地做出下一步行动。同时设置了自动灌溉、自动报警等技术,更加节省人力物力,农业生产也更规范化,最后再配合手机APP,可以做到对环境数据的实时监控。