Skip to content

Repository files navigation

🌱 Greenhouse Controller

智能温室设备控制与监控 Skill for QClaw。

支持 REST API 和 MQTT 双协议,可接入任意厂商的温室设备,实现传感器监控、异常告警、设备控制、萤石云摄像头 AI 分析。


✨ 功能特性

功能 说明
🔌 协议适配 自动识别 REST API / MQTT,支持 API Key、Bearer Token、Basic Auth、OAuth2 等鉴权方式
🌡️ 传感器监控 温度、湿度、CO₂、光照、土壤湿度、EC、pH 等 10+ 传感器类型
⚠️ 智能告警 阈值告警 + 设备离线 + 状态变化 + 快速变化,微信通知
🎛️ 设备控制 自然语言指令控制风机、补光灯、灌溉、遮阳帘等设备
📷 摄像头 AI 萤石云接入,植物健康检测 + 园区场景分析
🧠 阈值预生成 基于地区 + 作物 + 生长阶段,AI 自动生成合理阈值

📦 安装

方法一:QClaw 内安装

在 QClaw 中搜索 greenhouse-controller 或导入 .skill 文件。

方法二:手动安装

# 克隆仓库
git clone https://github.com/YOUR_USERNAME/greenhouse-controller.git
cd greenhouse-controller

# 安装依赖
pip install paho-mqtt

🚀 快速开始

1. 配置设备接口

向 AI 提供接口信息:

请帮我配置温室设备:
- 接口地址:http://192.168.1.100:8080
- 协议类型:REST API
- 鉴权方式:Bearer Token
- Token:xxx
- 传感器接口:/api/sensors

或直接粘贴接口文档,AI 会自动解析协议和鉴权方式。

2. 联通性测试

  • ✅ 读取类接口:自动测试,展示传感器数据
  • ⚠️ 控制类接口:提示你配合确认设备响应

3. 生成阈值配置

地区:山东寿光
作物:番茄
生长阶段:开花结果期

AI 从农业知识库预生成阈值,展示给你确认/修改。

4. 启动监控

确认阈值后,AI 启动实时监控和告警系统,发现异常自动发送微信通知。


💡 使用示例

设备控制

"开灯" → 开启补光灯
"调温到25度" → 设置目标温度 25℃
"灌溉10分钟" → 开启灌溉阀,10分钟后关闭

告警通知

🚨 温室告警
━━━━━━━━━━━━━━
传感器:温度
当前值:38.5℃(上限:32℃)
超出幅度:+20%(紧急)
时间:2026-03-21 14:30

💡 建议:立即开启风机降温
━━━━━━━━━━━━━━

摄像头分析

"帮我看看植物状态" → AI 截图分析叶片颜色、萎蔫程度、病虫害迹象
"查看园区是否有积水" → AI 检测地面是否有积水或漏水

📁 项目结构

greenhouse-controller/
├── SKILL.md                      # Skill 核心文档
├── README.md                     # 本文件
├── LICENSE                       # MIT License
├── scripts/
│   ├── rest_client.py            # REST API 通用客户端
│   ├── mqtt_client.py            # MQTT 订阅/发布客户端
│   ├── ezviz_client.py           # 萤石云截图+分析
│   ├── threshold_gen.py          # 智能阈值预生成器
│   ├── alert_monitor.py          # 告警监控守护进程
│   └── connectivity_test.py      # 联通性测试工具
├── references/
│   ├── auth-patterns.md          # 鉴权方式识别指南
│   ├── sensor-thresholds.md      # 传感器阈值参考数据库
│   ├── control-commands.md       # 设备控制指令映射
│   ├── ezviz-api.md             # 萤石云 API 参考
│   ├── alert-rules.md           # 告警规则设计
│   └── connectivity-guide.md    # 联通性测试指南
└── assets/
    └── config-template.json      # 配置文件模板

🔧 配置文件说明

REST API 配置

{
  "rest": {
    "base_url": "http://192.168.1.100:8080",
    "auth_type": "bearer",
    "auth": {
      "token": "your_token"
    }
  }
}

MQTT 配置

{
  "mqtt": {
    "broker": "mqtt.example.com",
    "port": 1883,
    "auth_type": "userpass",
    "auth": {
      "username": "user",
      "password": "pass"
    },
    "subscribe": [
      {"name": "greenhouse/sensors/#", "qos": 1}
    ]
  }
}

🌿 支持的作物阈值

  • 🍅 番茄(育苗期 / 生长期 / 开花结果期)
  • 🥒 黄瓜
  • 🍓 草莓
  • 🥬 叶菜类(生菜、菠菜、小白菜)
  • 🌸 花卉类(玫瑰、菊花、百合)

📖 平台接入示例

农业物联网平台

已支持 http://111.230.94.152:8191/openapi 平台,详情见 平台接入指南。

支持的设备类型:

  • 🌤️ 气象站(温度、湿度、风速、光照、CO₂、降雨量)
  • 🌱 土壤墒情(多深度温湿度、EC、pH)
  • 🐛 虫情监测(图片、数量统计)
  • 📷 萤石云摄像头(视频流、截图分析)
  • 🔌 继电器控制柜(Web 面板控制)
  • 📊 人流/车流统计
  • 🔬 孢子捕捉
  • 🛰️ 高光谱植被指数(NDVI、LAI、叶绿素等 30+ 指数)

📷 萤石云分析场景

植物检测类

  • plant-health — 叶片颜色分析
  • water-stress — 萎蔫/缺水检测
  • disease-pest — 病斑/虫害识别
  • growth-density — 生长密度评估
  • flowering — 开花/结果状态

园区监控类

  • intrusion — 人员入侵检测
  • equipment-status — 设备运行状态
  • water-leak — 积水/漏水检测
  • light-distribution — 光照均匀性
  • scene-overview — 场景综合分析

🤝 贡献

欢迎提交 Issue 和 Pull Request!


📝 许可证

MIT License


📧 定制服务

如有特殊需求(如接入特定厂商设备、定制告警规则、扩展分析场景等),可联系作者定制开发。


让农业数字化触手可及

About

a greenhouse-controller skill

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages