# 温室大棚环境模拟系统 **Repository Path**: TYLEE/green_house ## Basic Information - **Project Name**: 温室大棚环境模拟系统 - **Description**: 温室大棚环境模拟系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Greenhouse Simulator 大棚温室空调模拟仿真系统 (Greenhouse Air Conditioner Simulation System) ## 项目简介 这是一个基于物理模型的温室环境仿真系统,精确模拟温室内部温度、湿度、光照、土壤温度等环境参数的动态变化。系统实现智能控制策略,通过通风优先策略降低空调能耗,实现节能减排。 ## 功能特性 - **环境仿真**:基于热平衡方程模拟温度、湿度、光照、土壤温度等环境参数 - **智能控制**:通风优先策略,减少空调能耗 - **作物适配**:支持6种作物类型(西红柿、黄瓜、辣椒、茄子、生菜、草莓),根据生长阶段自动调整环境控制策略 - **季节自适应**:根据春夏秋冬自动调整温室参数配置 - **数据持久化**:将温室环境和天气数据存储到MySQL数据库,支持历史查询 - **多种覆盖材料**:支持玻璃、双层玻璃、PC板、塑料薄膜等多种温室覆盖材料 ## 技术栈 | 组件 | 技术/版本 | |------|-----------| | 框架 | Spring Boot 3.2.0 | | Java | JDK 17 | | 构建工具 | Maven | | 数据库 | MySQL (JPA/Hibernate) | | 天气API | Open-Meteo (免费开源) | ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 数据库配置 在 `src/main/resources/application.yml` 中配置数据库连接: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/greenhouse?useSSL=false&serverTimezone=UTC username: your_username password: your_password ``` 创建数据库: ```sql CREATE DATABASE greenhouse; ``` 执行建表脚本 `src/main/resources/db/schema.sql` ### 编译运行 ```bash # 编译项目 mvn clean package # 运行项目 mvn spring-boot:run ``` 服务启动后访问:`http://localhost:8081` ## API接口 ### 仿真控制 | 方法 | 路径 | 功能 | |------|------|------| | GET | `/api/simulation/status` | 获取仿真状态 | | POST | `/api/simulation/start` | 启动仿真 | | POST | `/api/simulation/stop` | 停止仿真 | | POST | `/api/simulation/tick` | 单步执行 | | POST | `/api/simulation/run` | 运行指定步数 | ### 空调控制 | 方法 | 路径 | 功能 | |------|------|------| | POST | `/api/simulation/ac/target` | 设置目标温度 | | POST | `/api/simulation/ac/mode` | 设置工作模式 | ### 季节控制 | 方法 | 路径 | 功能 | |------|------|------| | GET | `/api/simulation/season/info` | 获取季节信息 | | POST | `/api/simulation/season/auto-control` | 启用/禁用季节控制 | ### 数据查询 | 方法 | 路径 | 功能 | |------|------|------| | GET | `/api/simulation/climate/history` | 获取气候历史 | | GET | `/api/simulation/report` | 获取仿真报告 | | GET | `/api/simulation/db/records` | 获取数据库记录 | ## 项目结构 ``` GreenhouseSimulator/ ├── pom.xml ├── src/main/ │ ├── java/com/greenhouse/ │ │ ├── GreenhouseSimulatorApplication.java │ │ ├── config/ # 配置类 │ │ ├── controller/ # REST API控制器 │ │ ├── model/ # 数据模型 │ │ ├── repository/ # 数据访问层 │ │ └── service/ # 业务服务 │ └── resources/ │ ├── application.yml # 应用配置 │ └── db/schema.sql # 数据库脚本 └── docs/ # 项目文档 ``` ## 配置说明 ### 温室参数 在 `application.yml` 中可以配置温室尺寸、热传递系数、空调参数等: - 温室尺寸:长度、宽度、高度 - 热传递系数:墙体、屋顶 - 覆盖材料:玻璃、PC板、薄膜等 - 空调参数:功率、能效比、风量 - 作物参数:类型、生长阶段 ## License MIT