Skip to content

快速开始指南

欢迎使用温室智能监控与自动化控制系统!本指南帮助你在 10 分钟内完成系统部署和首次使用。

项目简介

温室大棚智能监控与自动化控制系统(Greenhouse Ops)是一套完整的温室环境管理解决方案,集实时监控、历史分析、设备控制和自动化策略于一体。

核心功能

  • 🌡️ 实时监控:采集温度、湿度、土壤湿度、光照、CO₂ 等核心指标,15秒级刷新
  • 📊 历史分析:支持小时/天级数据聚合对比,趋势分析与数据导出
  • 🎮 设备控制:风机、水泵、补光灯等设备的远程控制,支持手动与自动模式
  • ⚙️ 自动策略:灵活配置环境阈值与联动规则,实现高效自动化管理
  • 🚨 告警通知:异常检测与多渠道告警(前端展示、邮件、微信等)

系统架构

┌─────────────────┐
│   传感器网络    │  温度、湿度、土壤、光照、CO₂
└────────┬────────┘
         │ MQTT
┌────────▼────────┐
│   MQTT Broker   │  消息总线
└────────┬────────┘

    ┌────┴────┐
    │          │
┌───▼──┐  ┌───▼──┐
│后端  │  │前端  │  FastAPI + Vue 3
│服务  │  │应用  │
└───┬──┘  └─┬────┘
    │       │ HTTP/WebSocket
┌───▼───┬──▼────┐
│SQLite │Influx │  数据存储
│       │DB     │
└───────┴───────┘

开发环境快速启动

-### 前置要求

  • Node.js 16+ 和 pnpm(用于前端与文档构建)
  • Python 3.11+ 和 pip(后端,FastAPI)
  • Docker 和 docker-compose
  • MQTT Broker(可选,本地测试可使用内置)
  • Docker 和 docker-compose
  • MQTT Broker(可选,本地测试可使用内置)

方式一:Docker Compose(推荐)

bash
# 克隆项目
git clone <repo-url>
cd greenhouse-ops

# 启动所有服务
docker-compose -f docker-compose.yml up -d

# 访问应用
# 前端: http://localhost:3000
# 后端API: http://localhost:8000
# API文档: http://localhost:8000/docs

方式二:本地开发模式

启动后端服务(仓库根目录):

bash
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload
# 后端运行在 http://localhost:8000

启动前端应用(新终端):

bash
cd frontend
pnpm install
pnpm dev
# 前端运行在 http://localhost:3000

首次使用

1. 访问仪表盘

打开浏览器访问 http://localhost:3000,进入仪表盘主页,你将看到:

  • 核心指标卡:实时温度、湿度、土壤湿度、光照值
  • 系统状态:MQTT连接、API服务、在线设备数
  • 趋势概览:近 24 小时的数据走势图

2. 实时监控

点击顶部导航的「实时监控」:

  • 实时显示各项指标的当前值
  • 温度/湿度火焰线图动态更新
  • 可暂停/继续实时刷新

3. 设备控制

在「设备控制」页面:

  • 查看所有已接入设备的状态
  • 手动控制单个设备的开/关
  • 切换自动/手动模式
  • 支持批量操作(全部打开/关闭)

4. 历史数据分析

「历史数据」页面提供:

  • 灵活的时间范围与指标筛选
  • 数据表格显示与趋势对比
  • 统计摘要(最小值、最大值、平均值)
  • 便于导出与分析

5. 系统设置

在「系统设置」中配置:

  • 环境阈值(温度、湿度、土壤、光照、CO₂ 的上下限)
  • 告警策略与通知方式
  • 设备与传感器参数

核心页面导航

页面路由功能
仪表盘/dashboard核心指标卡、系统状态、趋势概览
实时监控/monitor实时数据轮询、图表动态更新
历史数据/data时间范围筛选、趋势对比、数据导出
设备控制/control设备列表、开关控制、自动模式
系统设置/settings阈值配置、策略管理、通知设置

API 概览

获取实时传感器数据

bash
curl http://localhost:8000/api/sensors/current

响应示例:

json
{
  "timestamp": "2024-01-15T10:30:00Z",
  "temperature": 25.3,
  "humidity": 65.2,
  "soil_moisture": 45.8,
  "light_level": 550,
  "co2": 420
}

查询历史数据

bash
curl -X POST http://localhost:8000/api/sensors/history \
  -H "Content-Type: application/json" \
  -d '{
    "start_time": "2024-01-15T00:00:00Z",
    "end_time": "2024-01-15T23:59:59Z",
    "metrics": ["temperature", "humidity"],
    "interval": "1h"
  }'

控制设备

bash
# 打开设备
curl -X POST http://localhost:8000/api/devices/fan_1/control \
  -H "Content-Type: application/json" \
  -d '{"status": true}'

# 启用自动模式
curl -X POST http://localhost:8000/api/devices/fan_1/auto \
  -H "Content-Type: application/json" \
  -d '{"auto_mode": true}'

获取系统健康状态

bash
curl http://localhost:8000/health/detailed

常见问题

Q: 传感器数据为何不更新?

A: 检查以下项目:

  1. MQTT Broker 是否正常运行(docker ps | grep mqtt
  2. 后端日志中是否有连接错误(docker logs greenhouse_backend
  3. 传感器设备是否已连接到 MQTT 并发布数据

Q: 设备控制不响应怎么办?

A:

  1. 确认设备在线(设备列表中显示"在线"状态)
  2. 检查后端 API 日志获取具体错误
  3. 尝试手动 MQTT 发布指令进行测试

Q: 生产环境如何部署?

A:

  1. 使用 docker-compose.prod.yml 配置
  2. 设置 .env.production 中的关键参数(API 地址、MQTT 连接、数据库等)
  3. 启用 HTTPS 和 MQTT 认证
  4. 配置反向代理(nginx)和备份策略

下一步

获取帮助

如有问题,请:

  1. 查阅本文档相关章节
  2. 检查项目 GitHub Issues
  3. 联系技术支持团队(见团队页面)

最后更新:2025年11月18日

温室智能管理系统