烘培设备AI自动控制系统 (HONGPEI AI Control System)
📋 系统概述
本系统是一套智能烘培设备控制系统,通过AI算法实时监控和调整烘培参数,使面包制作达到大师级水平。系统集成了小智ESP32-S3语音助手,支持语音交互控制烘培流程。
✨ 核心亮点
- 🤖 AI智能决策 - 基于机器学习的参数优化与实时反馈调整
- 🗣️ 语音交互 - 集成小智ESP32,支持语音控制烘培流程
- 📊 实时监控 - 多传感器数据采集,Web实时数据可视化
- 🎯 精准控制 - PID闭环控制,工艺参数精确调节
- 🔧 模块化设计 - 易于扩展和定制
🎯 核心功能
1. 三大核心问题解决方案
| 问题 | 解决方案 | 关键技术 |
|---|---|---|
| 原料准确性控制 | 智能配料系统 | 条码识别 + 电子秤 + 实时引导 |
| 工艺精准控制 | 全流程监控系统 | 多传感器 + PID控制 + 阶段管理 |
| 智能化管理 | AI决策引擎 | 机器学习 + 语音交互 + 自动优化 |
2. 工艺流程支持
原料准备 → 搅拌 → 一次发酵 → 整形 → 二次发酵 → 烘烤 → 冷却
│ │ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼ ▼
称重数据 电流/时间 温湿度 手动确认 温湿度 温度曲线 温度监测
配方验证 面团温度 CO2 重量 膨胀度 蒸汽控制 品质评估
3. 美味面包元素分解
- 面团发酵参数: 温度、湿度、时间、酵母活性
- 烘烤参数: 温度曲线、湿度控制、时间管理
- 原料配比: 面粉、水、盐、糖、油脂比例
- 口感指标: 外皮酥脆度、内部松软度、气孔分布
🏗️ 系统架构
┌─────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web控制面板 │ │ REST API │ │ 语音助手 │ │
│ │ (实时仪表盘)│ │ (FastAPI) │ │ (小智ESP32) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ AI决策引擎层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ BakingAI │ │ 配方优化器 │ │ 预测器 │ │
│ │ (核心决策) │ │ (参数调优) │ │ (状态预测) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 工艺控制层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 搅拌控制 │ │ 发酵控制 │ │ 烘烤控制 │ │
│ │ MixingCtrl │ │ FermentCtrl │ │ BakingCtrl │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 数据处理层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 传感器管理 │ │ 数据预处理 │ │ 原料管理 │ │
│ │ SensorMgr │ │ DataProc │ │ IngredMgr │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 设备控制层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ PID控制器 │ │ 设备控制器 │ │ 无线网关 │ │
│ │ PIDCtrl │ │ DeviceCtrl │ │ WirelessGW │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 硬件接口层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ ESP32节点 │ │ 传感器模块 │ │ 执行器模块 │ │
│ │ WiFi/MQTT │ │ 温度/湿度 │ │ 继电器/SSR │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
🗣️ 小智ESP32语音助手集成
系统集成了小智ESP32-S3智能语音助手,支持语音控制烘培流程。
语音交互示例
用户: "小智,帮我做法式面包"
小智: "好的,开始制作法式面包。预热烤箱中,预计3分钟后可以开始发酵。"
用户: "小智,烤箱温度多少了?"
小智: "当前烤箱温度215度,目标230度,正在升温中。"
用户: "小智,把温度调低10度"
小智: "好的,已将目标温度调整为220度。"
用户: "小智,停!"
小智: "已紧急停止所有设备!"
MCP协议支持
系统通过MCP协议与小智ESP32通信,提供以下工具:
| 工具名称 | 功能描述 |
|---|---|
baking.read_oven_temperature |
读取烤箱当前温度 |
baking.set_oven_temperature |
设置烤箱目标温度 |
baking.read_ferment_status |
读取发酵箱状态 |
baking.start_fermentation |
开始发酵 |
baking.start_baking_process |
开始烘培流程 |
baking.get_current_status |
获取当前烘培状态 |
baking.emergency_stop |
紧急停止所有设备 |
详细集成文档: docs/XIAOZHI_ESP32_INTEGRATION.md
💻 技术栈
| 类别 | 技术 |
|---|---|
| 后端框架 | Python 3.10+, FastAPI, Uvicorn |
| AI引擎 | TensorFlow/PyTorch, Scikit-learn |
| 实时通信 | WebSocket, MQTT |
| 数据库 | SQLite/PostgreSQL, Redis |
| 前端界面 | HTML5, TailwindCSS, Chart.js |
| 嵌入式 | ESP32-S3, ESP-IDF |
| 语音助手 | 小智ESP32 (xiaozhi-esp32) |
| 硬件接口 | Serial, GPIO, I2C, SPI |
🚀 快速开始
环境要求
- Python 3.10+
- pip 或 conda
- (可选) ESP32开发环境
安装步骤
# 1. 克隆项目
git clone https://github.com/yourusername/HONGPEI.git
cd HONGPEI
# 2. 创建虚拟环境 (推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 3. 安装依赖
pip install -r requirements.txt
# 4. 创建必要目录
mkdir -p logs data
# 5. 启动服务
python main.py
访问系统
- Web控制面板: http://localhost:8000
- API文档: http://localhost:8000/docs
- WebSocket: ws://localhost:8000/ws
📁 目录结构
HONGPEI/
├── main.py # 主程序入口
├── requirements.txt # Python依赖
├── README.md # 项目说明
│
├── config/ # 配置文件
│ ├── __init__.py
│ └── settings.py # 系统配置
│
├── core/ # 核心模块
│ ├── ai_engine/ # AI决策引擎
│ │ ├── baking_ai.py # 核心AI决策
│ │ ├── recipe_optimizer.py # 配方优化器
│ │ └── predictor.py # 状态预测器
│ │
│ ├── data_collector/ # 数据采集
│ │ ├── sensor_manager.py # 传感器管理
│ │ └── data_processor.py # 数据预处理
│ │
│ ├── controller/ # 设备控制
│ │ ├── pid_controller.py # PID控制器
│ │ └── device_controller.py# 设备控制器
│ │
│ ├── hardware/ # 硬件接口
│ │ ├── wireless_gateway.py # 无线网关
│ │ └── xiaozhi_mcp_client.py # 小智MCP客户端
│ │
│ ├── ingredient_control/ # 原料控制
│ │ └── ingredient_manager.py # 原料管理器
│ │
│ ├── process_control/ # 工艺流程控制
│ │ ├── process_manager.py # 流程管理器
│ │ ├── mixing_control.py # 搅拌控制
│ │ ├── fermentation_control.py # 发酵控制
│ │ └── baking_control.py # 烘烤控制
│ │
│ └── models/ # 数据模型
│ └── bread_models.py # 面包模型定义
│
├── api/ # API接口
│ ├── routes.py # REST API路由
│ └── websocket.py # WebSocket处理
│
├── docs/ # 文档
│ ├── HARDWARE_SOLUTION.md # 硬件方案
│ └── XIAOZHI_ESP32_INTEGRATION.md # 小智集成文档
│
├── xiaozhi/ # 小智ESP32固件
│ ├── main/
│ │ ├── baking/ # 烘培扩展模块
│ │ │ ├── baking_tools.h # MCP工具头文件
│ │ │ └── baking_tools.cc # MCP工具实现
│ │ └── ... # 其他小智模块
│ └── ...
│
├── tests/ # 测试文件
│ └── test_baking_system.py # 系统测试
│
├── logs/ # 日志目录 (运行时生成)
└── data/ # 数据目录 (运行时生成)
⚙️ API接口
REST API
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /api/v1/sensors |
获取所有传感器状态 |
| GET | /api/v1/sensors/{id} |
获取单个传感器数据 |
| POST | /api/v1/session/start |
开始烘培会话 |
| POST | /api/v1/session/stop |
停止烘培会话 |
| GET | /api/v1/session/status |
获取当前会话状态 |
| POST | /api/v1/control/temperature |
设置目标温度 |
| POST | /api/v1/control/emergency-stop |
紧急停止 |
| GET | /api/v1/ai/decision |
获取AI决策结果 |
| GET | /api/v1/recipes |
获取配方列表 |
WebSocket
// 连接WebSocket
const ws = new WebSocket('ws://localhost:8000/ws?channels=all');
// 接收消息类型
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
// msg.type: sensor_data | system_status | ai_decision | alert | quality_update
};
🔧 硬件方案
推荐硬件配置
| 设备 | 型号 | 数量 | 用途 |
|---|---|---|---|
| 主控 | 小智ESP32-S3套件 | 1 | 语音交互+传感器采集 |
| 温度传感器 | K型热电偶+MAX6675 | 2 | 烤箱温度测量 |
| 温度传感器 | DS18B20 | 2 | 发酵箱/面团温度 |
| 湿度传感器 | SHT30 | 1 | 发酵箱湿度 |
| 控制模块 | 4路继电器 | 1 | 设备开关控制 |
| 功率控制 | SSR固态继电器 | 2 | 加热器控制 |
预算参考: 基础版约500-800元,进阶版约1500-2000元
详细硬件方案: docs/HARDWARE_SOLUTION.md
📊 Web控制面板
系统提供功能完善的Web控制面板:
- 📈 实时数据监控 - 温度、湿度曲线实时显示
- 🎛️ 设备控制 - 一键启动/停止,参数调节
- 🤖 AI状态显示 - 置信度、决策原因展示
- ⭐ 品质评估 - 实时品质评分
- 📝 系统日志 - 操作记录与告警信息
🧪 测试
# 运行所有测试
pytest tests/
# 运行特定测试
pytest tests/test_baking_system.py -v
# 生成覆盖率报告
pytest --cov=core tests/
📖 文档
🤝 贡献
欢迎提交Issue和Pull Request!
- Fork本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
📞 联系方式
- GitHub Issues: 问题反馈与功能建议
- 技术论坛: 讨论与交流
🥖 让每一个人都能做出大师级的面包 🥖