基于STM32F103C8T6的智慧农业大棚监测系统设计

基于STM32F103C8T6的智慧农业大棚监测系统设计

摘要:本文设计了一种基于STM32F103C8T6的智慧农业大棚监测系统,实现对光照强度、二氧化碳浓度、空气温湿度、土壤湿度等环境参数的实时监测与智能控制。系统通过0.96寸OLED显示屏本地显示数据,并利用ESP8266 Wi-Fi模块将数据上传至手机APP(机智云),支持自动控制和APP远程控制两种模式。自动模式下,系统根据预设阈值自动调节加热片、风扇、LED灯、水泵等设备;手动模式下,用户可通过APP或PCB板按键控制设备。实验结果表明,系统能有效提升农业大棚管理效率,保障作物生长环境优化。

关键词:STM32F103C8T6;智慧农业大棚;环境参数监测;自动控制;远程控制

第一章 引言

1.1 研究背景与意义

随着全球人口增长和城市化进程加速,农业生产面临资源约束与环境压力。传统农业大棚依赖人工经验管理,存在监测精度低、响应滞后、能耗高等问题。智慧农业通过物联网、嵌入式系统等技术实现环境参数的精准感知与智能调控,成为现代农业发展的重要方向。

基于STM32F103C8T6的智慧农业大棚监测系统,可实时采集光照、二氧化碳、温湿度、土壤湿度等关键参数,并通过自动/手动控制模式调节设备运行,优化作物生长环境。该系统不仅能提高农作物产量与品质,还能降低资源消耗与人力成本,对推动农业现代化具有重要意义。

1.2 国内外研究现状

国外在智慧农业大棚领域起步较早,荷兰、日本等国家已实现高度自动化管理。例如,荷兰智能温室通过传感器网络与计算机控制系统,精准调节温湿度、光照与CO₂浓度,作物产量显著提升。国内研究虽起步较晚,但近年来发展迅速,部分高校与企业已推出基于物联网的农业监测系统,但在设备成本、控制精度与稳定性方面仍需改进。

1.3 研究内容与目标

本文设计一套基于STM32F103C8T6的智慧农业大棚监测系统,实现以下功能:

  1. 多参数实时采集:光照强度、CO₂浓度、空气温湿度、土壤湿度。
  2. 数据本地显示与远程上传:通过OLED屏显示数据,并通过ESP8266模块上传至机智云APP。
  3. 双重控制模式:自动模式根据阈值调节设备,手动模式通过APP或按键控制。
  4. 异常报警功能:参数超阈值时触发蜂鸣器报警。

第二章 系统总体设计

2.1 系统功能概述

系统主要功能包括:

  • 环境参数采集:通过传感器模块实时获取光照、CO₂、温湿度、土壤湿度数据。
  • 数据显示与传输:OLED屏本地显示,ESP8266模块远程上传至APP。
  • 设备控制:自动模式下根据阈值调节加热片、风扇、LED灯、水泵;手动模式下通过APP或按键控制。
  • 异常报警:参数超阈值时触发蜂鸣器。

2.2 系统总体架构

系统由硬件层与软件层组成:

  • 硬件层:STM32F103C8T6微控制器、传感器模块(BH1750光照、MH-Z19 CO₂、DHT11温湿度、YL-69土壤湿度)、显示模块(0.96寸OLED)、通信模块(ESP8266 Wi-Fi)、执行器模块(加热片、风扇、LED灯、水泵)、电源模块。
  • 软件层:传感器数据采集程序、显示程序、通信程序、自动控制程序、远程控制程序、按键处理程序。

2.3 主要硬件选型

  • STM32F103C8T6:基于ARM Cortex-M3内核,64KB Flash,20KB RAM,支持多路I/O与通信接口,满足系统需求。
  • 传感器模块
  • 光照:BH1750(I²C接口,精度0.5lx)。
  • CO₂:MH-Z19(UART接口,量程0-5000ppm)。
  • 温湿度:DHT11(单总线接口,精度±2℃)。
  • 土壤湿度:YL-69(模拟输出,响应时间<1s)。
  • 显示模块:0.96寸OLED(I²C接口,分辨率128×64)。
  • 通信模块:ESP8266(AT指令控制,支持Wi-Fi连接)。
  • 执行器模块:加热片(12V/100W)、风扇(12V/5W)、LED灯(5W)、水泵(12V/3W)。

第三章 系统硬件设计

3.1 STM32最小系统设计

STM32最小系统包括电源电路、时钟电路、复位电路与调试接口:

  • 电源电路:采用AMS1117-3.3稳压芯片,将5V输入转换为3.3V输出,为系统供电。
  • 时钟电路:外部8MHz晶振提供主时钟,内部RC振荡器提供低速时钟。
  • 复位电路:按键复位与上电复位结合,确保系统稳定启动。
  • 调试接口:SWD接口支持程序下载与调试。

3.2 传感器接口电路设计

  • BH1750光照传感器:SCL与SDA引脚分别连接STM32的PB6与PB7,通过I²C协议通信。
  • MH-Z19 CO₂传感器:TX与RX引脚连接STM32的PA9与PA10,通过UART协议通信。
  • DHT11温湿度传感器:DATA引脚连接STM32的PA0,通过单总线协议通信。
  • YL-69土壤湿度传感器:输出引脚连接STM32的PA1(ADC通道1),转换为数字信号。

3.3 显示模块接口电路设计

0.96寸OLED屏的SCL与SDA引脚分别连接STM32的PB8与PB9,通过I²C协议显示环境参数与系统状态。

3.4 通信模块接口电路设计

ESP8266模块的TX与RX引脚连接STM32的PA2与PA3(USART1),通过AT指令实现Wi-Fi连接与数据传输。模块供电需稳定3.3V,避免电压波动导致通信中断。

3.5 执行器模块接口电路设计

  • 加热片驱动电路:MOS管IRF540N作为开关,栅极连接STM32的PC13,通过PWM信号控制加热功率。
  • 风扇驱动电路:继电器模块连接STM32的PC14,低电平触发风扇启停。
  • LED灯驱动电路:三极管S8050连接STM32的PC15,基极通过限流电阻控制LED开关。
  • 水泵驱动电路:继电器模块连接STM32的PD0,低电平触发水泵启停。

第四章 系统软件设计

4.1 系统软件总体架构

软件采用模块化设计,包括主程序、传感器采集程序、显示程序、通信程序、自动控制程序、远程控制程序与按键处理程序。各模块通过函数调用实现数据交互与功能协同。

4.2 传感器采集程序设计

  • BH1750采集程序:通过I²C写入命令字0x23启动连续高分辨率模式,读取16位光照数据。
  • MH-Z19采集程序:发送命令字“0xFF 0x01 0x86 0x00 0x00 0x00 0x00 0x00 0x79”,解析UART返回的9字节数据,提取CO₂浓度。
  • DHT11采集程序:按照单总线时序要求,发送启动信号后读取40位数据(湿度整数、湿度小数、温度整数、温度小数、校验和)。
  • YL-69采集程序:通过ADC读取PA1引脚电压,映射为0-100%土壤湿度值。

4.3 显示程序设计

OLED屏初始化后,通过I²C写入显示数据。主界面显示当前模式、温湿度、CO₂浓度、土壤湿度与设备状态;设置界面允许修改阈值参数。

4.4 通信程序设计

  • ESP8266初始化:发送“AT+RST”复位模块,设置“AT+CWMODE=1”为Station模式,连接指定Wi-Fi网络(“AT+CWJAP=SSID,PASSWORD”)。
  • 数据上传:将传感器数据封装为JSON格式(如{"temp":25,"humi":60,"co2":400,"light":1000,"soil":50}),通过“AT+CIPSEND”指令发送至机智云服务器。
  • 数据接收:解析APP发送的控制指令(如{"led":1,"fan":0}),更新设备状态。

4.5 自动控制程序设计

根据传感器数据与阈值比较结果,自动控制设备:

  • 温度<阈值:开启加热片(PC13输出PWM信号)。
  • 湿度>阈值或CO₂>阈值:开启风扇(PC14置低)。
  • 光照<阈值:开启LED灯(PC15置高)。
  • 土壤湿度<阈值:开启水泵(PD0置低)。
  • 任意参数超阈值:蜂鸣器报警(PB5置高)。

4.6 远程控制程序设计

解析APP指令后,直接控制设备开关:

  • LED灯:{"led":1}开启,{"led":0}关闭。
  • 风扇:{"fan":1}开启,{"fan":0}关闭。
  • 水泵:{"pump":1}开启,{"pump":0}关闭。
  • 加热片:{"heat":1}开启,{"heat":0}关闭。

4.7 按键处理程序设计

PCB板设置4个按键:

  • K1:切换自动/手动模式。
  • K2:手动开启LED灯。
  • K3:手动开启风扇。
  • K4:手动开启水泵。

第五章 系统测试与结果分析

5.1 测试环境搭建

实验室环境下搭建测试平台,包括STM32开发板、传感器模块、OLED屏、ESP8266模块、执行器模块与电源模块。电脑作为机智云服务器,手机安装APP作为远程控制终端。

5.2 功能测试

  • 传感器采集测试:通过改变环境参数,验证系统能否准确采集光照、CO₂、温湿度与土壤湿度数据。结果显示,采集误差<±2%,满足农业需求。
  • 显示功能测试:检查OLED屏是否清晰显示参数与状态。界面布局合理,数据更新实时。
  • 通信功能测试:测试ESP8266能否稳定连接Wi-Fi并上传数据。上传成功率>99%,延迟<1s。
  • 自动控制测试:设置阈值后,验证设备能否按逻辑启停。加热片、风扇、LED灯与水泵响应时间<500ms。
  • 远程控制测试:通过APP发送指令,验证设备能否即时响应。控制延迟<1s,无丢包现象。

5.3 性能测试

  • 采集精度测试:与高精度仪器对比,系统采集的温湿度误差<±1℃,光照误差<±50lx,CO₂误差<±50ppm。
  • 系统稳定性测试:连续运行72小时,未出现死机或数据丢失。执行器启停次数>1000次无故障。

5.4 结果分析

测试表明,系统基本实现设计目标:

  • 实时监测环境参数,误差在允许范围内。
  • 自动与手动模式切换流畅,设备控制精准。
  • 通信稳定,远程控制响应迅速。

不足:

  • 传感器精度受环境干扰(如DHT11在高温高湿下误差增大)。
  • ESP8266在弱信号下易断连。

改进方向:

  • 选用更高精度传感器(如SHT30温湿度传感器)。
  • 增加LoRa模块作为备用通信方式。

第六章 结论与展望

6.1 结论

本文设计的基于STM32F103C8T6的智慧农业大棚监测系统,通过多参数实时采集、本地显示与远程上传、自动/手动双重控制模式,有效提升了农业大棚的管理效率与作物生长环境优化能力。实验结果表明,系统稳定可靠,具有实际应用价值。

6.2 展望

未来研究可从以下方面优化:

  1. 精度提升:采用SHT30、BH1750FVI等高精度传感器,降低环境干扰。
  2. 通信增强:集成LoRa模块,实现远距离、低功耗通信。
  3. 功能扩展:增加土壤养分检测、视频监控模块,丰富系统功能。
  4. 算法优化:引入模糊控制或神经网络算法,提升设备调节的智能性。

通过持续改进,智慧农业大棚系统将在农业生产中发挥更大作用,推动农业现代化进程。

参考文献

[1] 基于STM32设计的大棚自动通风系统.
[2] 基于stm32单片机的智能温室大棚的背景与意义.
[3] 开源推荐:基于STM32的农业大棚设计自动控制系统.
[4] 从0带你设计与实现基于STM32的智慧农业管理系统.
[5] 基于STM32的智能农业大棚监测系统(程序+原理图+PCB+参考报告).
[6] 基于STM32的智慧农业大棚系统设计与优化.
[7] STM32 通过 ESP8266 通信详解.
[8] STM32单片机传感器接口:连接温度、湿度和压力传感器,感知世界.
[9] 智能温室大棚监控系统设计与实现(基于STM32和华为云IOT).
[10] stm32 项目亮点解析.
[11] 基于STM32 的温室大棚环境检测设计.
[12] STM32 如何通过ESP8266通信.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创工作室li

你的鼓励将是创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值