功能模块详解
本文档详细介绍系统的核心功能模块、使用方法和最佳实践。
一、仪表盘(Dashboard)
功能概述
仪表盘是系统的首页,提供温室环境的全景视图。
核心组件
1. 环境指标卡
实时显示 4 项关键环境参数:
| 指标 | 范围 | 单位 | 说明 |
|---|---|---|---|
| 温度 | 0~50 | °C | 温室内空气温度 |
| 湿度 | 0~100 | % | 相对湿度 |
| 土壤湿度 | 0~100 | % | 根层土壤含水量 |
| 光照 | 0~10000 | Lux | 光合有效辐射强度 |
更新频率:15 秒刷新一次
告警提示:如指标超出设定阈值,卡片背景变红,显示⚠️警告图标
2. 系统健康状态
实时显示系统组件状态:
- MQTT连接:绿色(在线)/红色(离线)
- API服务:绿色(正常)/黄色(响应缓慢)/红色(故障)
- 在线设备数:显示 N/M 已连接设备总数
3. 24小时趋势图
以折线图展示近 24 小时的数据走势:
- X轴:时间(2小时为一个刻度)
- Y轴:根据选中指标自动缩放
- 可切换查看温度/湿度/土壤/光照
交互操作
- 点击指标卡:进入"实时监控"页面查看详细数据
- 点击趋势图:进入"历史数据"页面进行深度分析
- 自动刷新:系统每15秒自动刷新所有数据
设计原则
- 首屏加载 ≤ 2秒(本地)
- 数据更新流畅无卡顿
- 重要告警应该一目了然
二、实时监控(Monitor)
功能概述
实时监控提供高频率的数据刷新和动态图表展示,适合运维人员进行实时观察。
核心组件
1. 实时指标显示
四个大型数字卡片展示当前值:
温度 湿度 土壤 光照
25.3°C 65.2% 45.8% 550Lux更新频率:5 秒刷新一次
特殊显示:
- 若数据 3 分钟未更新,显示"数据失联"
- 如数据异常高或低,以不同颜色提示(红/黄/绿)
2. 火焰线图(Sparkline)
实时动态更新的滚动折线图:
- 温度线(红色):采样每 5 秒一个点,保留最近 100 个点(8+ 分钟数据)
- 湿度线(蓝色):同温度线规则
- 滚动效果:新数据点在右侧进入,左侧旧数据点逐渐消失
3. 播放控制
- 暂停按钮(⏸):停止数据刷新,保留当前图表状态
- 继续按钮(▶):恢复数据刷新
- 时间戳显示:当前数据的采集时间
交互操作
- 点击"暂停"可固定观察某个时刻的数据
- 点击图表可查看当前点的具体数值
- 可在这里进行快速故障排查
性能要求
- 数据轮询延迟 ≤ 5 秒
- 图表动画流畅,无明显卡顿
- 长期运行(8+ 小时)不出现内存泄漏
三、历史数据分析(Data)
功能概述
支持灵活的时间范围和指标筛选,进行历史数据查询、对比分析和统计。
核心功能
1. 数据查询
时间范围选择:
- 快速选项:今天、昨天、本周、本月、自定义范围
- 支持日期时间选择器
指标多选:
- ☑ 温度
- ☑ 湿度
- ☑ 土壤湿度
- ☑ 光照
- ☑ CO₂
聚合间隔:
- 1分钟、5分钟、15分钟、1小时、1天
- 间隔越大,数据量越少,查询越快
2. 数据表格
显示查询结果的详细数据:
| 时间 | 温度 | 湿度 | 土壤 | 光照 |
|---|---|---|---|---|
| 2024-01-15 08:00 | 22.5°C | 58% | 42% | 120 Lux |
| 2024-01-15 09:00 | 24.3°C | 62% | 45% | 450 Lux |
- 支持排序(点击列标题)
- 支持分页显示
3. 趋势对比图
多指标趋势曲线在同一图表中展示:
- 不同颜色代表不同指标
- 可点击图例隐藏/显示特定指标线
- 支持缩放与平移
4. 统计摘要卡
为每个指标计算并显示:
温度摘要
├─ 最小值:20.1°C
├─ 最大值:28.5°C
├─ 平均值:24.3°C
└─ 变化幅度:8.4°C典型场景
- 品种对比:选择两个相同时长的生长周期,对比两批作物的环境参数
- 问题诊断:查询产量下降期间的历史数据,寻找环境异常
- 策略优化:分析策略调整前后的数据变化,评估效果
性能指标
- 单次查询 ≤ 3 秒(200万数据点以内)
- 表格可加载 1000+ 行不卡顿
- 图表缩放与平移流畅
四、设备控制(Control)
功能概述
远程控制温室各类执行设备,支持手动操作和自动模式。
核心功能
1. 设备列表
展示所有已接入的设备:
| 设备名 | 类型 | 状态 | 模式 | 操作 |
|---|---|---|---|---|
| 风机 A | 通风扇 | 🟢 在线 | 自动 | 手动控制 |
| 灌溉泵 | 水泵 | 🟢 在线 | 手动 | 手动控制 |
| 补光灯 | 照明 | 🔴 离线 | - | 检查连接 |
设备类型:
- 🌀 通风扇:控制温室通风
- 💧 水泵:控制灌溉系统
- 💡 补光灯:补充光照
- 🪟 遮阳帘:控制遮阳
- 🔥 加热设备:温室加热
2. 手动控制
每个设备卡片上有开关按钮:
- 打开(绿色):设备启动,LED 指示灯点亮
- 关闭(灰色):设备停止
操作反馈:
- 命令发出后,前端显示"执行中..."
- 收到设备应答后,显示"✓ 成功"
- 若 3 秒无应答,显示"⚠ 超时,请重试"
3. 自动模式切换
每个设备支持两种模式:
- 手动模式:需要人工操作
- 自动模式:根据环境参数和策略自动执行
切换自动模式的开关:
设备: 风机 A
当前模式: [手动] ← → [自动] ← 点击切换
自动模式说明:
- 当温度 > 28°C 时,自动打开
- 当温度 < 24°C 时,自动关闭4. 批量操作
页面上方提供快速操作按钮:
- 全部打开:一键启动所有在线设备
- 全部关闭:一键关闭所有在线设备
- 全部手动:切换所有设备到手动模式
- 全部自动:切换所有设备到自动模式
交互流程示例
场景:温度过高,需要紧急打开风机
- 进入"设备控制"页面
- 在风机卡片上点击"打开"按钮
- 系统向 MQTT 发送控制指令
- 设备执行操作(物理风机启动)
- 前端收到反馈,显示"✓ 风机已打开"
- 页面实时显示风机状态为"打开中"
安全设计
- 关键设备(如加热器)的控制需要二次确认
- 批量操作前提示确认
- 所有操作记录在案便于审计
五、系统设置(Settings)
功能概述
配置环境阈值、自动策略和告警通知方式。
核心配置项
1. 环境阈值配置
为每个环境参数设置上下限:
温度阈值
- 最高温 (上限):28°C
- 最低温 (下限):20°C
触发条件:温度 > 28°C 或 温度 < 20°C 时告警
湿度阈值
- 最高湿 (上限):75%
- 最低湿 (下限):45%
土壤湿度阈值
- 最高土壤:70%
- 最低土壤:35%
光照阈值
- 最低光照:200 Lux
- 最高光照:8000 Lux
CO₂ 阈值(可选)
- 最低CO₂:350 ppm
- 最高CO₂:1000 ppm
2. 自动策略配置
定义设备与环境参数的联动关系:
示例策略 1:温度控制
IF 温度 > 28°C THEN 打开风机 A
IF 温度 < 20°C THEN 打开加热器
IF 温度 在 [20°C, 28°C] THEN 保持当前状态示例策略 2:灌溉控制
IF 土壤湿度 < 40% THEN 启动灌溉泵(持续 30 分钟)
IF 土壤湿度 > 65% THEN 停止灌溉3. 告警通知配置
通知方式(多选):
- ☑ 前端弹窗通知
- ☑ 邮件通知(需配置邮件服务)
- ☑ 微信通知(需绑定企业号)
- ☑ 钉钉通知(需集成钉钉 Bot)
告警级别:
- 🔴 严重:超出阈值 > 5 分钟
- 🟡 警告:超出阈值 > 2 分钟
- 🟢 信息:恢复正常
通知接收人:
- 温室负责人
- 技术支持
- 管理层
4. 数据保留策略
- 实时数据保留:7 天
- 汇总数据保留:90 天
- 归档数据保留:1 年
- 自动清理间隔:每周日 2:00
操作流程
- 进入"系统设置"页面
- 根据作物需求调整各项阈值
- 配置自动策略的触发条件
- 选择告警通知方式
- 点击"保存配置"
- 系统立即生效,新规则应用于后续监控
最佳实践
- ✅ 根据不同作物类型创建不同的配置预设
- ✅ 定期审查阈值设置的有效性
- ✅ 在测试温室验证策略后再部署到生产
- ✅ 保留配置变更记录便于追溯
六、系统集成与扩展
MQTT 主题标准
greenhouse/sensors/temperature → 温度数据
greenhouse/sensors/humidity → 湿度数据
greenhouse/sensors/soil_moisture → 土壤湿度
greenhouse/sensors/light → 光照
greenhouse/sensors/co2 → CO₂
greenhouse/devices/fan/status → 风机状态
greenhouse/devices/pump/status → 水泵状态
greenhouse/devices/*/command → 设备控制指令支持的第三方集成
- ✅ Grafana:数据可视化与仪表板
- ✅ InfluxDB:时序数据存储
- ✅ Kafka:数据流处理
- ✅ 企业邮件系统
- ✅ 微信/钉钉企业号
未来规划
- AI 环境预测与智能决策
- 移动应用(iOS/Android)
- 多温室统一管理
- 视频监控集成
- 数据导出与报表
最后更新:2025年11月18日