烘培设备AI自动控制系统 (HONGPEI AI Control System)

Python FastAPI ESP32 License

📋 系统概述

本系统是一套智能烘培设备控制系统,通过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

访问系统


📁 目录结构

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!

  1. Fork本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情


📞 联系方式

  • GitHub Issues: 问题反馈与功能建议
  • 技术论坛: 讨论与交流

🥖 让每一个人都能做出大师级的面包 🥖