Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# 🌱 面向丘陵地区的智慧农业高效工作系统
**SIH 25062 – 团队项目**

## 📖 项目简介
本项目实现了一套**基于物联网的智慧农业系统**,旨在优化山区地区的农作物种植。系统以**NodeMCU(ESP8266)**为核心控制器实时监测环境状态并实现自动化灌溉。所有传感器数据均上传至 **Firebase 实时数据库 (Realtime Database)**农户可以通过配套的手机 App 远程查看实时环境指标并手动控制喷淋设备。

本方案旨在提高山地复杂地形下的水资源利用效率,减少人工干预,并为具有挑战性的地形中提供可持续农业支持。

---

## ⚙️ 系统特性
- **气象环境监测**:利用 DHT11 传感器实时采集环境温度和空气湿度。
- **土壤湿度感知**:通过模拟量土壤湿度传感器持续追踪土壤的含水量。
- **自动化灌溉控制**:由继电器模块控制水泵,当土壤湿度低于设定的**阈值**时自动启动喷淋。
- **云端数据集成**:传感器数据定时上传至 Firebase 数据库,实现远程访问。
- **移动端 App 控制**:农户可通过配套 App 监控实时环境,并能手动远程开关喷头。
- **OLED 本地显示反馈**:采用 SH1106 OLED 屏幕,现场显示传感器读数、WiFi/Firebase 连接状态及水泵运行状态。
- **多 WiFi 自动重连**:使用 `ESP8266WiFiMulti` 库,确保设备在多网络环境下具备高可靠性的网络连接。

---

## 🛠️ 硬件清单
- **NodeMCU ESP8266** – 核心微控制器(自带 WiFi 模块)。
- **DHT11 传感器** – 用于测量温度和空气湿度。
- **土壤湿度传感器** – 用于检测土壤的湿度水平。
- **继电器模块** – 用于控制外部水泵/喷淋系统的开关。
- **SH1106 OLED 显示屏** – 本地显示系统状态与传感器数据。
- **水泵与喷淋系统** – 自动灌溉的执行器。

---

## 🧑‍💻 软件开发环境与依赖库
- **ESP8266WiFi / ESP8266WiFiMulti** – 用于实现无线网络连接与多 AP 适配。
- **Firebase ESP Client** – 用于对接 Firebase Realtime Database 客户端。
- **DHT library** – 用于 DHT11 传感器的数据采集。
- **Adafruit GFX & SH110X** – 用于驱动 OLED 屏幕进行图形与文本渲染。

---

## 🔄 系统工作流程
1. **传感器数据采集**:DHT11 和土壤湿度传感器每秒读取一次物理环境参数。
2. **继电器智能控制**:当土壤湿度 < 预设阈值时,继电器闭合(水泵开);当土壤湿度 > 预设阈值时,继电器断开(水泵关)。
3. **数据定时上云**:每隔 5 秒将温度、湿度、土壤湿度百分比、土壤湿度原始模拟值(Raw)以及水泵状态发送至 Firebase 云端。
4. **移动端交互**:农户通过手机 App 查看实时曲线,并可下发控制指令强行覆盖自动灌溉状态。
5. **本地屏幕反馈**:现场显示屏同步刷新传感器读数、网络信号和设备运行日志。

---

## 📊 Firebase 数据结构
```
/devices/nodemcu1/
├── temperature: <float> //温度(浮点型)
├── humidity: <float> //湿度(浮点型)
├── soilMoisture: <int> //土壤湿度(整型)
├── soilMoistureRaw: <int> //土壤湿度原始值(整型)
├── relayStatus: <bool> //继电器状态(布尔型)
```

---

## 🚀 安装说明
1. **硬件电路装配**:按照引脚定义,将 DHT11、土壤湿度传感器、继电器模块和 OLED 显示屏连接到 NodeMCU 控制板上。
2. **Firebase 云端配置**:创建一个 Firebase 项目,开启 Realtime Database,并获取相应的 API Key(密钥)和 Database URL(数据库地址)。
3. **固件烧录**:使用 Arduino IDE 将项目提供的固件源码(Sketch)编译并烧录至 NodeMCU 中。
4. **网络配置**:在代码中修改你本地环境的 WiFi 名称和密码(通过 `wifiMulti.addAP` 函数追加)。
5. **App 联动**:将移动端 App 配置相同的 Firebase 凭证,即可实现远程的双向监控与控制。

---

## 📌 项目相关资源
- 📱 [移动端 App 下载 (GitHub Releases)](https://github.com/TheTechTiger/AgroSmart/releases/tag/v1.0.0)
- 🎥 [演示视频 (YouTube)](https://www.youtube.com/watch?v=UTdf7FC17ng)
- 🌐 [项目静态主页 (Landing Page)](https://thetechtiger.github.io/AgroSmart/)

---

## 🖼️ 项目实物与图纸展示

### 📱 安卓客户端截图
<p align="center">
<img src="https://raw.githubusercontent.com/TheTechTiger/AgroSmart/refs/heads/main/images/app_SS1.jpg" alt="Android App Screenshot" width="400"/>
</p>

### 🔌 电路连接原理图 (基于 Fritzing 设计)
<p align="center">
<img src="https://raw.githubusercontent.com/TheTechTiger/AgroSmart/refs/heads/main/images/CircuitDiagram.png" alt="Connection Diagram" width="500"/>
</p>

### 🖥️ 本地 OLED 屏幕显示效果示例
<p align="center">
<img src="https://raw.githubusercontent.com/TheTechTiger/AgroSmart/refs/heads/main/images/OLEDScreen.jpg" alt="OLED Screen Display" width="400"/>
</p>

### ⚙️ PCB 实际组装效果 (实物落地)
<p align="center">
<img src="https://raw.githubusercontent.com/TheTechTiger/AgroSmart/refs/heads/main/images/PCB_Assembly.png" alt="PCB Assembly" width="500"/>
</p>

---

## 🌍 社会效益
该系统切中丘陵山地农业中**水源稀缺和人力劳动成本高**的痛点,带来了以下实际效益:
- **精准按需灌溉**:基于多维度的土壤 hydration 状态实现全自动灌溉,杜绝水资源浪费。
- **数据透明化**:使农户对微气候与农田土壤健康状况有了实时的、量化的认知。
- **打破空间限制**:利用云平台和手机移动端,让农户在山脚下就能轻松掌控山顶大棚的喷淋。
- **赋能绿色农业**:为地形复杂、自然条件恶劣的偏远地区提供了一种可落地的可持续农业科技方案。