基于STM32 的温室大棚调节系统的设计与实现

2024-03-19 08:15陈茂芳谭程霈李伟宾邓带弟阮芝莺
电子制作 2024年4期
关键词:触摸屏温室农作物

陈茂芳,谭程霈,李伟宾,邓带弟,阮芝莺

(玉林师范学院,广西玉林,537000)

0 引言

当前农业在将多个参数融合在一起方面存在一些挑战。尽管农业物联网技术的应用已经实现了对温室大棚土壤、气候、作物生长等数据的实时监测和管理,但是目前还没有很好地实现将这些参数融合在一起进行综合分析和决策的技术手段。究其原因,一方面农业数据的收集和管理尚未建立起完善的数据平台和标准。农业生产中涉及的参数众多,包括土壤水分、温度、湿度、光照强度、作物生长情况等,这些数据往往分散在不同的系统和设备中,缺乏统一的数据标准和接口,导致数据的整合和分析困难。另一方面,农业数据的分析和决策支持技术还不够成熟。虽然现有的数据分析技术可以对单个参数进行分析和预测,但是将多个参数融合在一起进行综合分析和决策仍然面临一定的挑战。例如,如何确定不同参数之间的关联性和权重,如何建立多参数的模型和算法等都是需要进一步研究和探索的问题。基于以上不足,设计基于STM32 的温室大棚调节系统。

1 系统设计

基于STM32 的温室大棚调节系统由数据采集部分,数据传输部分,数据处理部分,控制执行模块部分,数据显示部分及目标设定与人为调节部分组成。数据采集部分负责采集温室大棚的农作物生长相关的数据。数据传输负责把采集到的数据上传到服务器。数据处理负责将采集回来的数据进行分析得到是否与系统允许的参数存在偏差,当存在偏差时。控制执行部分负责调节相应机器时使系统的参数在系统允许的参数区间上。数据显示部分负责将采集回来的数据显示出来。目标设定与人为调节部分是在系统存在偏差或为系统提供数据集时使用,具体流程如图1 所示。

图1 系统设计示意图

2 系统功能模块设计

■2.1 数据采集

数据采集主要负责采集温室大棚中的气象信息、土壤信息、农作物图像信息,数据采集模块具体采集的数据见图2。STM32 通过协议获取来自不同传感器检测到的信息,并通过数据传输模块将数据上传到服务器中。

图2 数据采集示意图

2.1.1 气象信息

气象信息主要由气象站检测系统模块负责,用于采集影响农作物生长的各类气象信息,如空气温度,空气湿度,光照强度,风速风向,大气压,降雨量等[1],考虑野外环境的特点,气象站监测系统采用风能、太阳能互补供电的模式[2]。

2.1.2 土壤信息

土壤信息主要通过土壤检测模块来完成,用于采集影响农作物生长的各类信息(包括土壤温度,土壤湿度,土壤水分、盐度等),由于需要长时间在土壤中放置土壤检测模块,其对于传感器的耐腐蚀和抗氧化有极高的要求,同时为了提高土壤检测模块数据的准确性,需要定期对土壤检测模块的数据进行检查,当超过一定误差值后需要进行更换。

2.1.3 农作物图像信息

农作物图像信息主要通过OpenMV 摄像头来实现,通过摄像头来获取该区域温室大棚的农作物信息,摄像头里面含有农作物生长状况评分模型,能对农作物进行分析并将评分结果通过串口发送给主控模块。

■2.2 数据传输

考虑到数据传输过程中应具有准确性、高速性、安全性,数据传输模块采用GPRS 通信方式的SIM900A 可以很好地满足要求,主控模块将采集到的数据转换为GPRS 协议格式进行打包,SIM900A 将数据包通过 GPRS 网络和 Internet远程传输到监测中心的服务器进行传输。在Web 服务器端设置接收程序,接收来自GPRS 模块传输的数据。Web 服务器连接了SQL 数据库服务器,SQL 数据库通过TCP/IP协议接收来自服务器的数据并解析成相应格式插入到对应的数据库的表格中,插入数据完成后,关闭数据库的连接。

当用户在Web 浏览器中访问Web 应用时,浏览器会向Web 服务器发送包含需要从数据库中检索的数据的HTTP 请求。Web 服务器接收到客户端发送的请求后,会根据请求的URL 和其他参数来确定要执行的操作。如果请求需要从数据库中检索数据,Web 服务器会使用数据库连接库来连接到SQL 服务器,并执行相应的SQL 查询语句。SQL 服务器接收到查询请求后,会执行查询操作,并返回查询结果给Web 服务器。Web 服务器接收到SQL 服务器返回的查询结果后,对结果进行数据进行计算和转换处理。根据查询结果,Web 服务器生成HTTP 响应,包含要向客户端返回的数据。Web 服务器将生成的HTTP 响应发送回客户端,浏览器解析响应并显示在用户界面上。在用户界面可以看到数据处理后显示出来的表格。

当用户需要修改目标值,使温室大棚系统达到用户认为的理想状态,客户端会将用户修改的目标值按照协议发送到Web 服务器中,Web 服务器会将数据通过SIM900A 下发到主控模块,主控模块收到数据后,控制执行模块执行。

在数据库服务器中分别存有数据采集模块采集到温室大棚的多个参数和系统允许的参数区间以及用户认为理想的值,数据库服务器会根据用户的需要,将对应的数据通过web 服务器发送到用户端显示出来。

在数据传输过程中,可能会在传输过程中丢包,导致数据存在错误,故在传输的数据中设置了校验码,当接收到的数据中校验码与计算得到的要处理的数据的校验码不对时,自动丢弃该数据。当系统丢包严重,导致系统久久没有收到数据采集模块采集回来的数据,系统将会认为数据传输模块存在损坏,提醒用户更换。

■2.3 数据处理

数据处理主要在服务器后端通过机器学习来实现。

机器学习分为三个阶段,第一个阶段为数据采集和数据处理,第二个阶段为模型训练和调优,第三个阶段为模型部署应用和模型改进。由于该温室大棚系统需要分析多项参数,并通过机器学习得到各个参数的最佳值后返回给控制执行模块执行,而且多个参数之间并不存在很好的线性关系,故采用支持向量机和决策树可以很好地满足要求,通过大量数据分析可以得到,支持向量机取得的效果较好,故采用支持向量机(SVM)来对数据进行分析得到温室大棚调节的最佳参数。

在数据采集和数据处理阶段,通过数据采集模块借助数据传输模块传入到Web 服务器中,Web 服务器后端对采集的数据进行划分标记然后存入数据库中。在该阶段,主要通过人为调节温室大棚的控制执行部分,数据采集模块采集来获取参数,数据采集模块中的摄像头会对农作物生长情况进行分析得到该区域温室大棚的农作物结果,结果的分数越高,说明该区域的温室大棚和生长状况良好,此外,在农作物成熟后,用户需要对该区域的农作物进行评分,评分越高,用户越满意,系统会将用户的评分和摄像头处理得到的农作物生长情况按照一定的权重分别相乘后相加得到最终的结果并记为农作物的品质系数[3],并将其存入数据库中。

在模型训练和调优阶段,服务器从数据库中获取温室大棚生长农作物生长的品质系数,通过SVM 模型对数据进行分析训练,得到该温室大棚的农作物生长阶段的最佳参数。在模型部署应用和模型改进阶段,将上述的最佳参数下放给控制执行模块执行,并再次通过摄像头对该区域温室大棚进行分析得到品质系数,不断调整最佳参数的值,得到最后品质系数最高的值对应的参数作为最佳参数。由于在当前参数与最佳参数差值不大时,系统还是可以获得比较满意的评分结果,且控制执行模块调节系统时使参数在最佳参数上上下抖动,不利于系统的稳定性,所以设置了系统允许参数区间。

通过机器学习,结合当地温室大棚环境的参数,可以得到温室大棚的系统允许参数区间,当温室大棚系统参数偏离系统允许的参数区间时,通过控制执行模块调节温室大棚,使温室大棚在系统允许的参数区间上。

■2.4 控制执行

控制执行主要对温室大棚采集回来的数据与系统允许参数区间存在偏差时进行处理,使得系统的参数在系统允许参数区间之内。具体控制如图3 所示。

■2.5 数据显示及目标设定与人为调节

数据显示部分由触摸屏部分和无线部分组成,无线部分由手机端和PC 端组成。用户可以亲自到现场,通过LCD 触摸屏查看此时温室大棚的温度,湿度等和通过触摸屏幕设置目标,不仅如此,农民还可以通过手机APP 或PC 端来了解温室大棚情况并通过手机APP 或PC 端来设定目标值。

2.5.1 触摸屏部分

触摸屏部分使用触摸屏,通过在触摸屏上显示参数让农民可以了解温室大棚的情况,此外用户按下按键切换到GUI图形用户界面,通过GUI 图形用户界面,农民点击屏幕上对应的对象,触摸屏根据农民接触到的触摸屏上对应电阻值的变化推测出该位置被农民触摸到,该位置对应的对象随之被认为是要处理的对象,接着触摸屏跳转到键盘操作界面,农民通过点击键盘操作界面上的键盘值设定该对象的目标值,然后按下确定键,便将该对象的目标值设定完成,然后触摸屏跳回到参数显示界面。主控模块会通过控制执行模块执行相应的操作,使数据到达用户设定的目标值,并将用户设定的数据通过SIM900A 上传到Web 服务器中,Web 服务器根据需要进行处理和存储到数据库中。

2.5.2 无线部分

无线显示部分使用无线通信模块,用户通过打开手机对应的APP 或PC端了解温室大棚的情况,手机APP 或PC 端会将服务器传过来的当前数据进行描点显示,用户可以通过图表可以清楚地了解到温室大棚当前与之前的状况,此外,用户对于当前系统的调节不满意,用户可以通过手机端或PC 端设定目标值,手机端或PC 端会将数据封装成合适的格式通过网络发送到服务器上。服务器对数据进行校准,确认没有问题后,下发至主控模块,主控模块收到数据后执行相应的操作。

3 系统各功能模块简介

■3.1 主控模块

主控模块采用STM32F407ZGT6 开发板,该开发板是一款基于ARM Cortex-M4 内核的微控制器,其主频高达168MHz,且价格实惠,运算能力强,低功耗,有多个外设接口,能极大地保证温室大棚灌溉系统的工作效率。主控模块原理图如图4 所示。

图4 主控模块原理图

■3.2 土壤检测模块

土壤检测模块使用的是来自威廉士的五插针土壤多参数传感器。当传感器插入土壤时,电解液溶液在传感器和土壤之间获得平衡。液体中的离子将迅速扩散到土壤中,并与水中的离子达到平衡。通过这种方式,传感器可以测量出有用的信息,例如土壤水分、盐度以及温度等参数。同时,传感器还可以通过计算这些信息来预测其他参数,如根部吸收力和养分含量。该模块稳定灵敏度高,响应快,输出稳定,适用于各种土质,能很好地胜任土壤检测。其外形如图5所示。

图5 土壤检测模块外形图

■3.3 SIM900A

SIM900A 是一款基于GSM/GPRS 技术的无线通信模块,具有全球通信覆盖,支持全球四频段(850/900/1800/1900 MHz)的GSM 网络,可以在世界范围内进行通信;高性能:SIM900A 模块具有强大的处理能力和高速数据传输能力,最大下载速率为85.6 kbps,最大上传速率为42.8 kbps;多种通信接口:支持多种通信接口;低功耗设计:采用了低功耗设计,工作电流较低,适合应用于电池供电的设备,可以延长设备的续航时间;丰富的功能:SIM900A 支持语音通话、短信发送与接收、GPRS 数据传输、TCP/IP 协议等功能,可以广泛应用于物联网、远程监控、智能家居等领域;稳定可靠:SIM900A 模块具有稳定可靠的性能,能够在各种环境条件下正常工作。其原理图如图6 所示。

图6 SIM900A原理图

■3.4 OpenMV 摄像头

OpenMV 摄像头是一款基于MicroPython 的嵌入式计算机视觉模块,具有强大的计算能力:OpenMV 摄像头搭载了高性能的ARM Cortex-M7 处理器,运行频率高达216 MHz,能够实现实时的图像处理和计算视觉算法;具有丰富的图像处理功能:OpenMV 摄像头内置了丰富的图像处理库和算法,包括颜色追踪、形状检测、人脸识别、条码识别等,可以满足各种计算机视觉应用的需求,能很好地对温室大棚的环境进行拍摄。OpenMV 摄像头原理图如图7 所示。

图7 OpenMV 原理图

■3.5 触摸屏

触摸屏使用的是ILI9341 液晶显示屏,它是一款主流的TFT 液晶屏驱动芯片,它具有以下几个优点:(1)高分辨率:ILI9341 支持最高320×240 分辨率,可以满足大多数嵌入式设备的显示需求。(2)低功耗:ILI9341 采用了先进的电源管理技术,能够有效降低电源消耗,延长使用时间。(3)高速传输:ILI9341 支持SPI 接口和8 位并口接口两种数据传输方式,在SPI 模式下可达到最高60fps 的刷新速度。(4)显示效果好:ILI9341 采用16 位色彩格式,可以呈现出丰富的颜色,并具有较高的对比度和亮度。能很好地显示数据并触摸屏幕设置目标值。其原理图如图8 所示。

图8 触摸屏原理图

4 结语

针对当前农业在将多个参数融合存在的问题,本文提出采用机器学习来解决,借助服务器强大的处理数据能力,得到系统的允许参数区间,此外,使用精准的数据采集模块获取到准确的数据和可靠的数据传输模块传输数据,使得用户可以远程了解温室大棚的实时情况,对于农业智能化有一定的推动作用。

猜你喜欢
触摸屏温室农作物
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
现代温室羊肚菌栽培技术
厉害了!农作物“喝”上环保酵素
苍松温室 苍松灌溉
苍松温室 苍松灌溉
PLC和触摸屏在卫生间控制系统的应用
可以避免一个温室化的地球吗?
皮肤“长”出触摸屏