1. 引言
随着农业智能化的推进,智慧果园系统应运而生。传统的农业生产模式逐渐无法满足现代农业对精准、自动化和高效管理的需求。为了实现果园环境的精准控制和远程监控,我们设计了一个基于STM32单片机的智慧果园系统,利用温度、湿度、二氧化碳、光照和土壤湿度等传感器实现对果园环境的全面监测,并通过STM32控制设备如风扇、水泵、LED等,实现环境自动调节。同时,通过手机APP和云平台机智云实现远程监控与控制,提升果园的智能化管理水平。
2. 系统方案介绍
本系统的核心是STM32F103单片机,通过连接多种传感器,检测果园的温湿度、二氧化碳浓度、光照强度及土壤湿度,并通过OLED显示屏将数据实时显示给用户。同时,系统结合Wi-Fi模块ESP8266-01s,具备远程控制与监控功能,用户可通过手机APP查看果园环境数据,控制风扇、水泵、LED等设备的启停状态。此外,系统支持自动控制和手动控制两种模式。
主要功能:
1. 环境数据检测:温度、湿度、二氧化碳浓度、光照强度、土壤湿度等传感器数据实时监测。
2. 自动调节:根据检测到的环境数据,自动控制风扇、水泵、LED等设备。
3. 远程控制:通过手机APP进行远程监控和控制。
4. 云平台集成:数据上传到机智云平台,方便管理与远程查看。
3. 系统架构图
4. 硬件架构
4.1 主控芯片 STM32F103
STM32F103是一款基于ARM Cortex-M3内核的单片机,具备较高的性能与低功耗特点,能够有效控制系统中多个模块的工作。其强大的I/O接口和ADC通道为我们连接各类传感器和外设提供了支持。
4.2 Wi-Fi模块 ESP8266-01s
ESP8266-01s是一款小巧且高效的Wi-Fi模块,支持802.11b/g/n协议。通过该模块,我们能够将系统与机智云平台以及手机APP进行连接,实现远程数据查看与设备控制。
4.3 传感器模块
1. 温湿度传感器 DHT22:用于检测果园环境的温度和湿度。
2. 二氧化碳传感器 CCS811:检测果园中的CO2浓度,帮助判断空气质量。
3. 光照强度传感器:通过光敏电阻或光照强度传感器检测果园的光照条件。
4. 土壤湿度传感器:用于监测土壤中的湿度,确保植物水分充足。
4.4 控制设备
1. 风扇:用于调节果园温度,当温度过高时启动。
2. 水泵:当土壤湿度过低时,自动浇水。
3. LED灯:在光照不足时打开,提供光照。
5. 软件架构
系统的软件架构包括传感器数据采集、设备控制逻辑、Wi-Fi通信、OLED显示、手机APP控制等模块,具体功能如下:
5.1 数据采集与处理
系统定期采集温湿度、CO2浓度、光照强度、土壤湿度等传感器数据,通过STM32的ADC接口将模拟信号转换为数字信号,进行后续的处理。
5.2 自动控制与APP控制
根据设定的阈值,系统自动控制风扇、水泵、LED等设备。当温度过高时,系统开启风扇;当土壤湿度过低时,开启水泵;光照不足时,开启LED灯。用户还可以通过手机APP手动控制这些设备。
5.3 数据展示与远程监控
系统通过OLED显示屏实时显示环境数据,同时,通过Wi-Fi将数据传输至机智云平台,并在手机APP上展示。
5.4 控制模式
系统支持自动控制模式和手动控制模式。在自动模式下,系统根据传感器数据自动调节环境;在手动模式下,用户可通过APP直接控制设备。
6. 关键代码展示
6.1 温湿度传感器读取代码(DHT22)
#include "dht22.h"
float temperature, humidity;
void DHT22_Init(void)
{
// 初始化DHT22传感器
}
void DHT22_Read(void)
{
if (DHT22_ReadData(&temperature, &humidity) == 0) {
// 读取温度和湿度数据
}
}
6.2 二氧化碳传感器读取代码(CCS811)
#include "CCS811.h"
float CO2_concentration;
void CCS811_Init(void)
{
// 初始化CCS811传感器
}
void CCS811_Read(void)
{
CO2_concentration = CCS811_ReadCO2();
}
6.3 风扇控制代码
#define FAN_PIN GPIO_PIN_0 // 假设风扇连接在GPIO_PIN_0
void Fan_Control(uint8_t state)
{
if (state == 1) {
HAL_GPIO_WritePin(GPIOB, FAN_PIN, GPIO_PIN_SET); // 开启风扇
} else {
HAL_GPIO_WritePin(GPIOB, FAN_PIN, GPIO_PIN_RESET); // 关闭风扇
}
}
6.4 Wi-Fi通信代码(ESP8266)
#include "esp8266.h"
void ESP8266_Init(void)
{
// 初始化ESP8266 Wi-Fi模块
ESP8266_InitModule();
}
void ESP8266_ConnectWiFi(void)
{
// 连接Wi-Fi
ESP8266_Connect("SSID", "Password");
}
void ESP8266_SendDataToCloud(float temperature, float humidity)
{
// 将数据发送到机智云平台
ESP8266_SendData("Temperature", temperature);
ESP8266_SendData("Humidity", humidity);
}
7. 传感器介绍
1. DHT22:精度较高的数字温湿度传感器,能够提供稳定的温湿度数据。
2. CCS811:数字式二氧化碳传感器,支持IAQ(空气质量)监测,适合室内空气质量的检测。
3. 光照传感器:可通过光敏电阻或者专用光照强度传感器获取环境光照数据。
4. 土壤湿度传感器:能够实时监测土壤的湿度,帮助控制水泵的启停。
8. 机智云平台集成
机智云平台提供了强大的物联网服务,能够方便地实现设备的数据上传、控制和管理。通过SDK,我们可以将温湿度、光照强度等数据实时上传到云平台,进行数据可视化,同时支持用户在APP中查看设备状态和调整控制参数。
9. 总结
本设计实现了一个基于STM32单片机的智慧果园系统,具备温湿度、CO2浓度、光照强度和土壤湿度等数据监测功能,并通过ESP8266 Wi-Fi模块将数据上传至机智云平台,支持手机APP远程查看与控制。系统不仅具有自动控制设备的功能,还支持手动控制模式,具有较强的智能化与实用性。
10、资料获取
请评论区留言或者私信作者。