香瓜种植大棚的智能环境调控系统设计与实现

  要

香瓜的优质高产依赖稳定适宜的土壤湿度与光照条件,传统大棚种植中人工调控方式存在效率低、精度差、响应滞后等问题,难以满足香瓜不同生长阶段的环境需求。因此,设计一款自动化、智能化的环境调控系统,对提升香瓜种植的标准化水平、降低人工成本、保障产量与品质具有重要现实意义。

该系统以STM32F103C8T6单片机为核心控制单元,集成TFT液晶显示电路、无线WIFI模块、土壤湿度传感器、光照采集模块、USB补光模块、水泵驱动电路、蜂鸣器报警电路、按键电路及电源电路,实现香瓜种植环境的多参数监测与智能调控。系统支持自动与手动两种工作模式,通过按键可完成模式切换及土壤湿度、光照阈值等参数的上下限设置。自动模式下,土壤湿度传感器实时采集土壤水分数据,当数值低于设定下限时,系统自动启动水泵浇水,直至湿度高于上限后关闭水泵;光照采集模块持续监测环境光照强度,低于阈值时自动开启USB补光模块,高于阈值则关闭,且仅在土壤湿度数据异常(超出设定范围)时触发声光报警提醒,光照不足不触发报警。手动模式下,用户可直接控制水泵开关与补光灯启停,人为操作期间不启动自动声光报警功能。此外,系统通过无线WIFI模块与手机APP建立通信,用户可在移动端实时查看土壤湿度、光照强度等所有监测数据,同时远程发送指令完成模式切换、参数设置及设备启停控制,实现便捷化智能管理。

整个系统实现了香瓜种植大棚土壤湿度与光照的自动调控、手动操作及远程监控功能,经测试,系统运行稳定可靠,数据监测精准,具有良好的实用性、便捷性和扩展性,能够充分满足香瓜种植过程中的环境调控需求,达到了毕业设计的预期目标。

关键词:香瓜种植,环境调控,STM32,土壤湿度,光照调控

Design and Implementation of an Intelligent Environmental Regulation System for

Muskmelon Greenhouses

Abstract

The high quality and yield of muskmelons depend on stable and suitable soil humidity and light conditions. The manual regulation methods in traditional greenhouse cultivation have problems such as low efficiency, poor precision, and delayed response, which are difficult to meet the environmental needs of muskmelons at different growth stages. Therefore, designing an automated and intelligent environmental regulation system is of great practical significance for improving the standardization level of muskmelon cultivation, reducing labor costs, and ensuring yield and quality.

The system takes the STM32F103C8T6 single-chip microcomputer as the core control unit, integrating TFT liquid crystal display circuit, wireless WIFI module, soil humidity sensor, light intensity acquisition module, USB supplementary light module, water pump drive circuit, buzzer alarm circuit, key circuit and power supply circuit to realize multi-parameter monitoring and intelligent regulation of the muskmelon planting environment. The system supports two working modes: automatic and manual. Mode switching and setting of upper and lower limits of parameters such as soil humidity and light intensity thresholds can be completed through keys. In automatic mode, the soil humidity sensor collects soil moisture data in real time. When the value is lower than the set lower limit, the system automatically starts the water pump for irrigation until the humidity is higher than the upper limit and then turns off the water pump; the light intensity acquisition module continuously monitors the ambient light intensity, automatically turns on the USB supplementary light module when it is lower than the threshold, and turns it off when it is higher than the threshold. The acousto-optic alarm is only triggered when the soil humidity data is abnormal (exceeding the set range), and no alarm is triggered when the light is insufficient. In manual mode, users can directly control the on/off of the water pump and the start/stop of the supplementary light, and the automatic acousto-optic alarm function will not be activated during manual operation. In addition, the system establishes communication with the mobile APP through the wireless WIFI module, allowing users to view all monitoring data such as soil humidity and light intensity in real time on the mobile terminal, and remotely send instructions to complete mode switching, parameter setting and equipment start/stop control, realizing convenient intelligent management.

The entire system realizes the functions of automatic regulation, manual operation and remote monitoring of soil humidity and light in muskmelon greenhouses. After testing, the system operates stably and reliably with accurate data monitoring, and has good practicability, convenience and expandability. It can fully meet the environmental regulation needs during muskmelon cultivation and achieve the expected goals of the graduation project.

Key words: Muskmelon Cultivation, Environmental Regulation, STM32, Soil Humidity, Light Regulation

 

摘  要............................................. I

Abstract.......................................... II

第1章 绪  论............................. 1

1.1 论文研究主要内容............................ 1

1.2 研究现状............................................. 2

1.2.1 国外研究现状.................................... 2

1.2.2 国内研究现状.................................... 3

第2章 关键技术介绍................. 4

2.1 ZigBee无线通信技术......................... 4

2.2 Wi-Fi技术............................................ 4

2.3 STM32 核心开发板........................... 4

2.4 传感器模块......................................... 5

2.5 执行器模块......................................... 5

2.6 PCB 技术............................................ 6

第3章 系统分析......................... 7

3.1 业务需求............................................. 7

3.2 用户需求............................................. 8

3.2.1 用户需求描述.................................... 8

3.2.2 用例建模............................................ 9

3.3 模块需求描述................................... 11

3.4 非功能需求....................................... 12

3.4.1 性能需求.......................................... 12

3.4.2 质量属性.......................................... 12

3.4.3 约束.................................................. 12

3.5 系统开发环境................................... 13

3.6 系统任务的可行性分析.................. 13

3.6.1 技术可行性...................................... 13

3.6.2 系统安全性分析.............................. 13

第4章 系统设计....................... 14

4.1 系统架构........................................... 14

4.2系统功能设计.................................... 14

4.3硬件设计............................................ 16

4.3.1 硬件总电路设计.............................. 16

4.3.2 部分硬件电路设计.......................... 16

4.4软件设计............................................ 22

第5章 系统实现....................... 30

5.1 硬件实现........................................... 30

5.1.1 整体效果实现.................................. 30

5.1.2 各个功能模块的实现...................... 31

5.2 软件实现........................................... 38

5.2.1 整体效果实现.................................. 38

5.1.2 各个功能模块的实现...................... 39

第6章 系统测试....................... 44

6.1 测试方案及测试用例...................... 44

6.2 各个功能模块的测试...................... 44

6.2.1 环境参数监测模块测试.................. 44

6.2.2 自动调控执行模块测试.................. 45

6.2.3 手动控制交互模块测试​​.................. 45

6.2.4 远程交互模块测试​.......................... 46

6.3 系统整体运行测试.......................... 46

第7章 结 论........................... 48

参考文献...................................... 49

致  谢.......................................... 51

1章 绪  论

随着现代农业规模化发展,大棚种植已成为保障香瓜优质高产的重要模式,但传统大棚种植依赖人工经验调控环境,土壤湿度、光照等关键参数难以实现精准把控,且种植者常因外出、劳作繁忙等场景无法实时照料,导致香瓜生长环境不稳定,直接影响产量与品质,传统人工调控模式难以满足现代化农业精准化、智能化的种植需求。本选题聚焦这一痛点,旨在设计一款香瓜种植大棚智能环境调控系统,通过嵌入式技术解决大棚种植“环境难精准、调控不及时、难远程管理”的核心问题,为香瓜生长提供稳定适宜的环境,同时降低种植者的劳作强度[1]。

当前市场上的大棚种植设备,要么功能单一仅能实现基础灌溉或补光,要么智能化程度低缺乏多参数协同调控,且高端农业设备价格昂贵,低端产品精准度不足,难以适配中小规模种植户的实际需求。而STM32系列单片机具备高性价比、强扩展性与精准控制能力,是嵌入式智能农业设备的优选核心部件。以此为基础设计香瓜种植大棚智能环境调控系统,可整合多类传感器与控制模块,解决传统设备的局限,同时控制开发与推广成本,符合中小规模大棚种植的使用需求。

1.1 论文研究主要内容

近些年来,随着嵌入式技术、物联网技术以及智能农业硬件的持续发展,智能大棚已逐渐成为解决传统种植难题的有效途径。香瓜种植大棚的智能环境调控并非单纯的灌溉或补光控制,而是一个涉及多参数数据采集、无线通信、本地与远程交互以及多模块协同控制的复杂体系。该系统借助技术手段,优化香瓜生长的土壤湿度、光照等关键环境条件,减少因人工疏忽或无法实时照料导致的环境波动,保障香瓜生长稳定性,同时降低种植者的管理压力,提升种植产量与品质[1]。

本系统包含硬件端和软件端两部分,硬件端以STM32F103C8T6单片机为控制核心,整合多类功能模块构建协同架构。TFT液晶显示电路完成关键数据可视化展示,ESP8266无线WiFi模块实现远程通信交互,土壤湿度传感器精准采集土壤水分数据,光照采集模块实时监测环境光照强度,水泵驱动电路联动执行灌溉作业,USB灯模块完成补光功能输出,蜂鸣器模块实现异常状态报警,按键电路支持本地参数设置,搭配稳定电源电路保障系统持续运行。软件端基于Keil5开发环境,采用C语言编写程序,设计了系统主流程及独立按键、土壤湿度检测、光照采集、水泵控制、补光控制、WiFi通信等模块的子流程,实现本地按键操作与手机端远程指令的双重响应。

系统核心功能围绕香瓜生长的环境调控需求展开全方位覆盖。支持自动与手动两种工作模式切换,自动模式下,土壤湿度低于设定下限时自动启动水泵,达到上限阈值后停止灌溉,光照值低于设定阈值时开启补光灯,高于阈值则关闭;土壤湿度数据异常超出设定范围时启动声光报警,光照不足仅执行补光调控不触发报警。手动模式下,可通过本地按键或远程指令直接控制水泵开关与补光状态,人为操作场景下不启动自动声光报警。本地通过按键可灵活设置模式类型及土壤湿度、光照的参数阈值,TFT屏实时显示土壤湿度、光照值、工作模式、设备状态等关键数据,远程端通过WiFi模块可实时查看各项运行状态并下发控制指令。

1.2 研究现状

1.2.1 国外研究现状

J XU, Y LI, R Z WANG2023年发表的《Experimental performance of evaporative cooling pad systems in greenhouses in humid subtropical climates》中,针对湿润亚热带气候下温室大棚高温高湿的环境痛点,开展了蒸发冷却垫系统的性能实验研究。该研究设计了包含蒸发冷却垫、通风风机、湿度控制系统的温室降温架构,通过系统性实验测试了不同风速、垫体厚度、环境湿度下的冷却效果,分析了系统对温室温度、相对湿度的调控精度及能耗特性[6]Hui Wang2021年发表的《Optimal Design of Single Chip Microcomputer Multi-machine Serial Communication based on Signal Verification Technology》中,聚焦单片机多机通信中的信号干扰、数据丢失等技术难题,提出了基于信号验证技术的串行通信优化方案。该研究通过引入CRC循环冗余校验算法与信号同步校正机制,优化了单片机多机通信的帧结构设计,提升了通信过程中的抗干扰能力与数据传输可靠性[7]

Philip J. Basford, Steven J. Johnston, Colin S. Perkinss2021年发表的《Performance analysis of single board computer clusters》中,针对智能农业等场景对硬件算力的需求,开展了单板计算机集群的性能测试与优化研究。该研究构建了基于树莓派等单板计算机的集群架构,通过多组实验测试了集群在并行数据处理、多设备联动控制、远程指令响应等场景下的算力、能耗及稳定性[8]Reports from University of Southampton2021年发表的《Performance Analysis of Single Board Computer Clusters》中,围绕单板计算机集群在智能设备中的应用,阐述了集群架构优化与性能提升的最新技术进展。该研究重点优化了集群的任务调度算法与通信协议,通过负载均衡策略提升了多设备协同控制的响应速度,同时采用低功耗设计降低了集群运行能耗[9]

Yunyu Cao, Jinjin Dang, Chenxu Cao2022年发表的《Design of Automobile Digital Tire Pressure Detector》中,设计了基于嵌入式技术的汽车胎压数字化检测系统,核心采用STM32单片机为控制核心,整合压力传感器、无线通信模块与数据处理单元,实现胎压数据的精准采集、实时传输与异常报警[10]

1.2.2 国内研究现状

张阳在《新农业》2023年发表的《基于物联网的农业大棚环境参数监控系统的研究与应用》中,构建了一套以物联网技术为核心的大棚环境监测体系。该系统整合了温湿度、土壤墒情、光照强度等多类传感器,通过无线通信模块实现环境数据的实时采集与传输,搭配云端数据处理平台完成数据存储、分析与异常预警[1]。雷文礼、张鑫、任新成等在2022年发表的《基于ZigBee的大棚环境参数监控系统设计》中,聚焦ZigBee无线通信技术的低功耗、高可靠性优势,设计了分布式大棚环境传感网络。系统以单片机为控制节点,通过ZigBee模块构建星型通信拓扑,整合土壤湿度、温度、CO₂浓度等传感器,采用卡尔曼滤波算法对采集数据进行降噪处理,提升数据精准度[2]

吴小峰、王艳红、李慧勇在2022年发表的《基于LoRaWAN技术和ThingsBoard平台的智能温室大棚环境参数监控系统设计》中,创新融合LoRaWAN低功耗广域网技术与ThingsBoard云端平台,构建了感知层-网络层-应用层三级架构的温室监控系统。感知层通过土壤湿度、光照、温湿度传感器完成数据采集,网络层借助LoRaWAN实现远距离低功耗数据传输,应用层通过ThingsBoard平台完成数据可视化展示、历史数据查询与远程控制指令下发[3]。郑洋、宋振凯、赵婧在2022年发表的《基于STM32的蔬菜大棚环境参数监控系统设计》中,以STM32F103系列单片机为控制核心,搭建了集数据采集、处理、控制于一体的大棚环境调控架构。系统整合土壤湿度传感器、光照传感器、温湿度传感器等感知模块,通过单片机对采集数据进行实时处理,联动水泵、通风扇等执行机构实现环境调控[4]

边玉亮、余世干、刘辉在2022年发表的《农业大棚无线环境监测系统设计》中,采用nRF24L01无线通信模块构建大棚环境监测网络,以AT89C52单片机为终端控制节点,实现土壤湿度、温度、光照等参数的分布式采集与集中传输[5]

2章 关键技术介绍

2.1 ZigBee无线通信技术

ZigBee是一种基于IEEE 802.15.4标准的低功耗、低数据率、短距离的无线通信技术,专为物联网场景中的设备间协同通信设计,具有自组织、自愈能力强、网络容量大等核心特点。该技术采用跳频扩频通信方式,抗干扰能力突出,且功耗仅为传统无线通信技术的1/10,单次充电可支持设备长期运行。

3章 系统分析

3.1 业务需求

土壤湿度、光照条件是影响香瓜生长发育和产量品质的关键因素。适宜的环境参数能促进香瓜根系发达、光合作用充分,提升果实甜度和产量。然而,传统香瓜大棚种植中,种植户多依赖人工观察和经验调控,难以实时精准掌握土壤湿度、光照等核心参数,且无法及时响应环境变化,导致调控滞后、资源浪费等问题。因此,有必要开发一种智能环境调控系统,以满足种植户对香瓜生长环境精准管理的需求。通过该系统实现对大棚环境的实时监测、自动调控与远程管理,助力香瓜优质高产。

1)核心业务需求

能够实时监测大棚内香瓜生长关键环境参数,比如土壤湿度、光照强度等,确保香瓜处于适宜的生长环境。

能够自动调控土壤湿度,当土壤湿度低于设定下限时自动启动水泵浇水,达到上限阈值后自动关闭,维持土壤水分稳定。

支持自动与手动模式切换,自动模式下按参数阈值智能调控,手动模式下可直接控制水泵开关、补光启停,适配不同种植场景需求。

能够收集和分析土壤湿度、光照等环境数据,为香瓜种植的水肥管理、光照调节提供科学依据。

提供本地TFT屏显示界面,实时展示土壤湿度、光照值、工作模式、设备状态等信息,方便种植户直观查看。

当土壤湿度数据异常超出设定范围时,自动触发声光报警提醒,光照不足仅执行补光不报警,确保调控精准且不冗余。

2)辅助业务需求

能够远程控制,支持手机APP连接系统,方便种植户随时随地查看环境数据、下发控制指令,实现无人值守管理。

提供安全保障,系统电路设计稳定可靠,执行器(水泵、补光灯)启停逻辑安全,避免因设备故障影响香瓜生长或造成资源浪费。

智能一体化设计,支持通过按键或APP灵活设置土壤湿度上下限、光照阈值等参数,适配香瓜不同生长阶段的环境需求。

利用无线WIFI技术的便捷性,实现环境数据实时上传与远程指令快速响应,提升大棚管理的智能化水平。

种植户能够通过手机APP远程查看土壤湿度、光照等实时数据及设备运行状态,及时处理异常情况,避免环境恶化影响香瓜生长。

3.2 用户需求

4STM32 单片机最小系统光照强度模块

光照强度模块是香瓜大棚智能调控系统的光照参数采集单元,其电路采用 3V3 供电,光敏电阻 RG1 10kΩ 电阻 R2 构成分压电路,中间节点接入 STM32F103C8T6 PA1 引脚(ADC 通道),末端接地。

该模块依托光敏电阻阻值随光照强度变化的特性,将光照信号转化为模拟电压信号(光照越强,输出电压越低),适配大棚晴天、阴天、补光等不同光照场景,可覆盖弱光至强光的监测范围。

在系统中,它实时采集的光照数据经 STM32 ADC 转换后,成为自动模式下 “光照低于阈值启补光灯、高于阈值关闭” 的调控依据,数据同步显示于 TFT 屏与手机 APP,为香瓜光合作用提供适宜光照支撑,且光照不足仅补光不触发报警,原理图如图4.10所示。

4.10 光照强度模块电路原理图

5STM32 单片机最小系统继电器模块电路

继电器控制电路是香瓜大棚智能调控系统的执行器驱动核心,包含 3 路独立控制通道,对应 STM32F103C8T6 PB11PB12PB13 引脚。每路电路由 NPN 三极管、1kΩ 限流 / 上拉电阻、LED 指示灯及 SRD-05 继电器构成,继电器输出端接 KF128-2P 接口以连接负载。

其工作逻辑为:当 STM32 引脚输出高电平时,三极管导通,继电器线圈得电吸合,对应负载(水泵、补光灯等)通电运行,LED 同步点亮指示工作状态;引脚输出低电平时,三极管截止,继电器断开,负载断电。

在系统中,该模块承担水泵、补光模块的通断控制,是自动模式下环境调控、手动模式下设备启停的硬件执行单元,保障调控动作的可靠落地,原理图如图4.11所示。

4.11 继电器模块原理图

6STM32 单片机最小系统声光报警模块电路

声光报警模块电路由 NPN 三极管、蜂鸣器 B1LED 1K 电阻构成。PA7 引脚输出控制信号,经电阻驱动三极管导通,使蜂鸣器发声、LED 发光,实现声光同步报警,电路简洁且驱动可靠,原理图如图4.12所示。

4.12 声光报警模块原理图

7STM32 单片机最小系统显示模块

TFT_LCD 屏是香瓜大棚智能调控系统的本地数据显示核心,采用 3.3V 供电,通过 LCD_CSLCD_RSWR/CLK 等引脚与 STM32F103C8T6 对应接口连接,GND 引脚接地,BL_CTR 引脚控制背光开关,同时包含数据总线(DB0-DB15)实现数据传输。

在系统中,它承担本地可视化展示功能:可实时显示土壤湿度、光照强度、当前工作模式、水泵 / 补光灯运行状态,以及土壤湿度上下限、光照阈值等参数。无论是自动模式下的环境调控状态,还是手动模式的参数设置结果,均能通过该屏直观呈现,配合手机 APP 实现本地 + 远程双端数据同步,是用户现场查看大棚状态的核心交互部件,原理图如图4.13所示。

4.13 显示模块原理图

4.4软件设计

1)软件模块结构

香瓜大棚智能调控系统的运行逻辑主线:系统从开始进入后,先完成 STM32 主控、传感器、WIFI 等模块的初始化。

随后执行按键扫描,若检测到按键按下,便根据键值完成模式切换、参数设置等操作;接着获取土壤湿度、光照强度的测量值,通过 WIFI 将数据发送至手机 APP

若接收到手机端指令,则执行对应控制操作,随后在 TFT 屏显示测量值。进入自动模式后,若土壤湿度低于下限,启动水泵并触发声光报警,高于上限则关闭;光照低于阈值开启补光,高于则关闭;湿度异常时触发声光报警。最后流程循环返回,保障环境参数的实时调控。,如图4.14所示。

4.14 主程序软件流程图

2)传感器模块软件程序设计

①显示模块软件程序设计:

首先初始化引脚,然后设置从机地址,然后传入一系列初始化命令,包括设置内存寻址模式、设置显示时钟分频因子、设置多路传输比率、起始行、显示偏移、对比度、电荷泵、显示方式等,初始化完毕后,开始显示数据,首先需要设置显示的起始坐标,然后调用字模数组,比对字模数组找到显示的字模,调用写数据函数,从而显示出数据。TFT显示子流程设计如下图4.15所示。

4.15 显示模块子流程图

②独立按键软件程序设计:

首先初始化引脚,然后当按下了某个按键,延时10ms消抖后依然保持电平状态,则判定按键按下,并返回对应键值,若消抖后状态没有保持,则为纹波干扰,不返回对应键值。独立按键子流程设计如下图4.16所示。

4.16 独立按键子流程图

ADC模数转换软件程序设计:

首先初始化引脚,然后选择具体哪个通道转换数据,接下来读取通道输出数据,通过输出数据,再结合模块手册计算公式,从而计算出真正有效数据。ADC模数转换子流程设计如下图所示。

4.17 ADC模数转换子流程图

④温度模块软件程序设计:

 DS18B20 温度传感器的检测逻辑:从开始进入后,先初始化 STM32 对应引脚,为传感器通信配置硬件环境;随后初始化 DS18B20,完成传感器的通信握手。

接着向传感器写入指令 “0xcc”(跳过 ROM 匹配,适配单传感器场景)与 “0x44”(启动温度转换),之后延时等待转换完成。再一次初始化 DS18B20,写入 “0xcc” “0xbe”(读取暂存器指令),读取温度低字节、高字节数据,将二者整合后计算出实际温度值,流程结束。

在香瓜大棚系统中,该流程周期性执行,获取的温度数据会同步至 TFT 屏与手机 APP,补充土壤湿度、光照参数,为香瓜生长环境的综合调控提供温度依据子流程设计如下图4.18所示。

4.18 心率血氧模块子流程图

⑤时钟模块软件程序设计:

首先初始化引脚,然后复位模块,接下来判断是读操作还是写操作,如果是读操作,则直接读取时间数据,如果是写操作,则先关闭写保护,然后暂停时钟,接下来将时间数据写入,时钟模块子流程设计如下图所示。

4.19 时钟模块子流程图

S17上云模块软件程序设计:

首先初始化引脚,然后配置串口参数,接着配置S17模块,包括设置S17工作在Station模式、开启DHCP、连接热点、连接阿里云服务器。配置完S17后,接下来连接阿里云平台,首先设置阿里云用户名和密码,然后设置阿里云的客户端IDS17模块子流程设计如下图所示。

4.20 S17模块子流程图

 

5章 系统实现

5.1 硬件实现

5.1.1 整体效果实现

1)硬件端实现

该硬件端是由土壤湿度传感器、光照采集模块、TFT 液晶显示电路、蜂鸣器报警模块、水泵驱动电路、USB 灯模块电路、按键电路、无线 WIFI 模块、STM32F103C8T6 单片机核心板及电源电路组成,整体如图 5.1 所示。

图5.1 智能环境调控整体效果图

2PCB 电路图实现

该系统的电路图设计中,考虑到器件布局密集引发的信号干扰、走线复杂度及控制指令传输延迟等因素,特将核心器件接口规划在板卡外侧,传感器模块(土壤湿度、光照采集)的接口集中分配在板卡一侧,执行器模块(水泵驱动、补光模块、蜂鸣器)的接口紧邻传感器模块布设,大幅缩短控制信号的传输路径,使执行器动作能够更快速地响应执行,无线 WIFI 模块的接口专门置于板卡边缘,天线下预留空旷区域以避免金属部件干扰,确保联网信号稳定传输,让各模块能够及时接收指令并执行相关调控动作,PCB 制版图设计的效果如图 5.2 所示。

图5.2 智能环境调控系统 PCB 制版设计图

5.1.2 各个功能模块的实现

1)环境参数监测模块

土壤湿度传感器、光照采集模块分别连接到对应硬件接口,选择的位置靠近香瓜种植区域,能够更加准确地采集土壤湿度、光照强度数据,相关模块集中布设也显得比较美观而且能最大程度地减小信号路径长度,提高信号的完整性。环境参数监测模块及电路接口图如图 5.3 所示,其核心代码如下面所示。

图5.3 环境参数监测实现图

// 读取土壤湿度数据

u16 Get_SoilHum_Value(void){

  u16 adc_val = ADC_GetConversionValue(ADC1); // 读取PA0通道ADC采样值

  u16 soil_hum = adc_val * 100 / 4095;         // 转换为0-100%的土壤湿度值

  return soil_hum;

}

// 读取光照强度数据

u16 Get_Light_Value(void){

  u16 adc_val = ADC_GetConversionValue(ADC2); // 读取PA1通道ADC采样值

  u16 light = 100 - (adc_val * 100 / 4095);    // 转换为0-100的光照强度值(值越高光照越强)

  return light;

}

2)自动调控执行模块

水泵驱动电路、USB 灯模块电路、蜂鸣器报警模块分别连接到对应硬件接口,选择的位置靠近香瓜种植区域的执行设备(水泵、补光灯),能够更快速地响应环境调控指令,相关模块集中布设也显得比较美观而且能最大程度地减小信号路径长度,提高执行动作的响应效率。自动调控执行模块及电路接口图如图 5.4 所示,其核心代码如下面所示。

图5.4 自动调控执行模块实现图

// 自动模式下环境调控逻辑实现

void Auto_Control_Execute(u16 soil_hum, u16 light, u16 hum_min, u16 hum_max){

  // 土壤湿度灌溉调控

  if(soil_hum < hum_min){

    GPIO_SetBits(GPIOB, GPIO_Pin_11); // 启动水泵

    TFT_ShowString(3, 1, "Pump: ON"); // TFT屏显示水泵状态

  }else if(soil_hum > hum_max){

    GPIO_ResetBits(GPIOB, GPIO_Pin_11); // 关闭水泵

    TFT_ShowString(3, 1, "Pump: OFF");

  }

  // 光照强度补光调控

  if(light < 30){ // 光照阈值设为30

    GPIO_SetBits(GPIOB, GPIO_Pin_12); // 开启补光灯

    TFT_ShowString(4, 1, "Light: ON"); // TFT屏显示补光灯状态

  }else{

    GPIO_ResetBits(GPIOB, GPIO_Pin_12); // 关闭补光灯

    TFT_ShowString(4, 1, "Light: OFF");

  }

  // 土壤湿度异常声光报警

  if(soil_hum < 10 || soil_hum > 60){

    GPIO_SetBits(GPIOB, GPIO_Pin_13); // 触发蜂鸣器

  }else{

    GPIO_ResetBits(GPIOB, GPIO_Pin_13); // 关闭蜂鸣器

  }

}

3)手动控制交互模块

按键电路、硬件端操作按键分别连接到对应接口,选择的位置位于硬件端易操作区域,方便用户现场切换工作模式、设置参数阈值,相关模块集中布设也显得比较美观而且能让用户快速识别功能按键,提升操作便捷性。手动控制交互模块及电路接口图如图 5.5 所示,其核心代码如下面所示。

图5.5 手动控制交互实现图

// 按键扫描与模式/设备控制逻辑

u8 Key_Scan_Handle(void){

  // 模式切换键扫描

  if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_0) == 0){

    delay_ms(20); // 消抖处理

    if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_0) == 0){

      while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_0) == 0);

      return 1; // 返回模式切换指令

    }

  }

  // 水泵控制键扫描

  if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1) == 0){

    delay_ms(20);

    if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1) == 0){

      while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1) == 0);

      return 2; // 返回水泵控制指令

    }

  }

  // 补光灯控制键扫描

  if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) == 0){

    delay_ms(20);

    if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) == 0){

      while(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) == 0);

      return 3; // 返回补光灯控制指令

    }

  }

  return 0; // 无按键操作

}

// 手动模式下设备控制逻辑

void Manual_Control_Interact(u8 key){

  if(key == 2){

    GPIO_ToggleBits(GPIOB, GPIO_Pin_11); // 切换水泵开关状态

    TFT_ShowString(3, 1, GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_11) ? "Pump: ON" : "Pump: OFF");

  }else if(key == 3){

    GPIO_ToggleBits(GPIOB, GPIO_Pin_12); // 切换补光灯开关状态

    TFT_ShowString(4, 1, GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_12) ? "Light: ON" : "Light: OFF");

  }

}

4)远程交互模块

无线WIFI模块连接到对应硬件接口,选择的位置位于板卡边缘区域,天线下预留空旷空间以避免金属部件干扰,能够保障联网信号的稳定传输,相关模块独立布设也便于后续维护,同时能最大程度地减少对其他模块的信号影响。远程交互模块及电路接口图如图5.6所示,其核心代码如下面所示。

图5.6 远程交互实现图

// WIFI模块初始化与远程交互逻辑

void WIFI_Remote_Interact_Init(void){

  USART2_Init(115200); // 初始化串口(WIFI模块通信接口)

  TFT_ShowString(2, 1, "WIFI: Waiting");

}

// 发送环境数据至手机APP

void Send_Data_To_APP(u16 soil_hum, u16 light, u8 mode){

  u8 send_buf[60];

  sprintf((char*)send_buf, "Mode:%s,SoilHum:%d,Light:%d",

          mode ? "Auto" : "Manual", soil_hum, light);

  USART_SendString(USART2, send_buf); // 串口发送数据到WIFI模块

}

// 接收APP指令并执行对应操作

u8 Receive_Cmd_From_APP(void){

  if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE) == SET){

    u8 cmd = USART_ReceiveData(USART2);

    // 模式切换指令('A'=自动,'M'=手动)

    if(cmd == 'A' || cmd == 'M'){

      TFT_ShowString(2, 1, cmd == 'A' ? "Mode: Auto" : "Mode: Manual");

      return cmd;

    }

    // 水泵控制指令('P'=切换状态)

    else if(cmd == 'P'){

      GPIO_ToggleBits(GPIOB, GPIO_Pin_11);

      TFT_ShowString(3, 1, GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_11) ? "Pump: ON" : "Pump: OFF");

    }

    // 补光灯控制指令('L'=切换状态)

    else if(cmd == 'L'){

      GPIO_ToggleBits(GPIOB, GPIO_Pin_12);

      TFT_ShowString(4, 1, GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_12) ? "Light: ON" : "Light: OFF");

    }

  }

  return 0;

}

5.2 软件实现

5.2.1 整体效果实现

APP 端主要实现了香瓜大棚环境数据的实时显示,在自动模式中,当土壤湿度低于下限 / 高于上限时,执行器水泵驱动电路执行开启 / 关闭动作,当光照强度低于阈值时,补光灯模块执行开启动作;当土壤湿度异常超出范围时,触发声光报警动作。此外,APP 端还显示了土壤湿度、湿度上下限、当前光照、水泵状态、灯光状态等数据。模式显示 “自动” 时为自动调控模式,模式显示 “手动” 时为手动控制模式,手机端 App 实现图如图 5.7 所示。

图5.7 手机 App 实现

5.1.2 各个功能模块的实现

1)注册模块

在注册界面中通过设置账号与密码来创建专属账号,只有通过此界面完成注册的账号,才能进入该智能环境调控系统的手机App端界面。该注册界面与登录模块配合,起到了验证用户身份的作用,同时保障了用户的隐私安全,注册界面如图5.8所示。

图5.8 手机App注册模块

2)登录模块

在此模块中,通过输入已注册的账号与密码进入系统显示界面,界面中设有“记住我”按钮,勾选后可保存账号密码以便下次快速登录,该模块主要起到验证用户身份、保障系统使用权限的作用,其界面如图5.9所示。

图5.9 手机App登录模块

3)数据显示模块

数据显示模块包含 TFT 屏本地显示与 APP 端远程显示两部分:TFT 屏连接 STM32 对应接口,实时展示当前模式、土壤湿度、光照强度、水泵 / 灯光状态及参数阈值;APP 端通过 WIFI 接收硬件端数据,同步呈现相同信息,同时支持参数设置操作,数据显示模块如图 5.14 所示。

图5.8 手机App数据显示模块

4)远程控制模块

远程控制模块依托无线 WIFI 模块与手机 APP 实现,WIFI 模块连接 STM32 对应串口接口,部署于板卡边缘以保障信号稳定。APP 端设 “切换模式”“手动开 / 关” 等操作按钮,可远程切换系统工作模式、控制水泵与补光灯启停,还能设置湿度上下限、光照阈值等参数。

当 APP 发送控制指令时,WIFI 模块接收后转发至 STM32,单片机立即执行对应操作并同步状态至 TFT 屏与 APP 端。该模块突破现场操作限制,让用户可远程管理大棚环境,远程控制模块如图 5.15 所示。

图5.9 手机App远程控制模块

6章 系统测试

6.1 测试方案及测试用例

根据 TFT 屏幕显示的数值来测试运行模块能否正常运行,设置了土壤湿度下限阈值为 20%、上限阈值为 60%,光照强度补光触发阈值为 30。图 6.1 为刚开启设备并联网时的数据,此时各项数值均未达到阈值。

图6.1 TFT 显示屏初始显示结果

6.2 各个功能模块的测试

6.2.1 环境参数监测模块测试

测试方案:联网后保持设备运行,在不同环境下(干燥 / 湿润 / 弱光 / 强光),观察土壤湿度传感器、光照采集模块数据采集及 TFT 显示情况。测试结果:土壤湿度、光照强度数据实时采集更新,数值误差控制在 ±2% 以内,不同环境下模块数据反馈及时,数据同步显示无延迟。

图6.2环境参数监测模块测试结果

6.2.2 自动调控执行模块测试

测试方案:联网后把模式调为自动模式,人为调整土壤湿度至 20% 阈值以下、60% 阈值以上,光照强度至 30 阈值以下,观察水泵、补光灯动作及蜂鸣器报警状态。测试结果:水泵、补光灯正常按阈值启停,当土壤湿度异常超出范围时蜂鸣器自动触发报警,TFT 屏同步显示设备运行状态,手动模式按键控制响应迅速。

图6.3 自动调控执行模块测试结果

6.2.3 手动控制交互模块测试​​

测试方案:手动模式下,人为操作硬件端按键切换工作模式、控制水泵与补光灯启停,观察执行器动作及 TFT 屏显示状态。测试结果:按键触发后执行器 1 秒内响应动作,水泵、补光灯启停状态稳定,模式切换无卡顿,TFT 屏实时刷新显示内容,结果如图 6.4 所示。

图6.4 手动控制交互模块测试结果

6.2.4 远程交互模块测试​

测试方案:手动模式下,通过手机 App 端发送切换模式”“启停水泵”“启停补光灯”“查数据指令,观察硬件端执行情况及数据同步效果。测试结果:App 端指令发送后,对应执行器 1 秒内响应动作,硬件端数据实时上传至手机端,TFT App 显示状态完全一致,如图 6.5 所示。

图6.5 远程交互模块测试结果

6.3 系统整体运行测试

经过联网、数据监测、手机端控制、模式切换、手动控制等测试,TFT 屏幕上和手机端 App 均能显示实时数据,各模块基本都能够正常运行,测试过程如表 6.1 所示。

表6.1 整体测试用例

测试用例标题

整体测试

基本条件

成功连上 S17 云平台网络

测试步骤

①硬件端接通电源,且测试无报错;

②在 TFT 屏幕或手机 App 端能够查看数据;

③能够在开发板上使用按键切换模式;

④通过开发板上的按键来控制执行器

期望结果

①手机端 App 和 TFT 显示屏能够正常显示实时数据;

②硬件端能够控制执行器和切换模式

测试结果

达到期望

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐