smart-home/使用手册/手册指南/项目运行指南.md
小羊肉肉. 0548c1555f 更新项目文档和传感器模块
主要更改:
1. 新增使用手册:
   - AI算法更新指南
   - HTPA60x40传感器升级指南
   - 环境配置教程

2. 传感器模块优化:
   - HTPA60x40dR1L0.9传感器集成
   - HTPAd32x32L1k7传感器更新
   - 传感器配置文档完善

3. 项目文档整理:
   - 删除过期的433MHz使用指南
   - 更新README文档结构
   - 完善配置教程链接

 目标:完善项目文档,优化传感器集成
2026-02-26 18:11:43 +08:00

637 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 智能家居火灾报警系统 - 项目运行指南
## 📋 项目概述
本项目是一个基于ESP32的智能火灾报警系统包含以下核心功能
- **火灾检测**:温度传感器、烟雾传感器、人体移动检测
- **红外控制**:空调遥控器功能,支持开关、温度、模式控制
- **433MHz通信**RTM300-433M模块支持
- **WiFi连接**支持SoftAP配置和云端数据上报
- **Android应用**:完整的移动端控制界面
## 🏗️ 项目结构
```
smart-home/
├── firefly_esp32/ # ESP32固件代码
│ ├── main/ # 主程序代码
│ ├── managed_components/ # ESP-IDF组件
│ └── sdkconfig # ESP32配置文件
├── Smarthome_android/ # Android应用代码
│ └── app/ # Android应用主代码
├── cloud-backend-jdk8/ # 云端后台服务
├── python_test/ # Python测试脚本
└── ziyuan/ # SDK和资源文件
```
---
## 🔧 硬件运行指南
### 1. 硬件清单
#### 必需硬件:
- **ESP32开发板** (推荐ESP32-WROOM-32)
- **红外发射模块** (连接GPIO4)
- **温度传感器** (DS18B20或类似)
- **烟雾传感器** (MQ-2或类似)
- **人体红外传感器** (PIR)
- **蜂鸣器** (报警提示)
- **LED指示灯** (状态显示)
- **电源适配器** (5V/2A)
#### 可选硬件:
- **433MHz模块** (RTM300-433M)
- **雷达传感器** (距离检测)
- **外部天线** (提高WiFi信号)
### 2. 硬件连接图
```
ESP32 引脚连接:
┌─────────────────┬─────────────────┬─────────────────┐
│ ESP32 GPIO │ 连接设备 │ 功能说明 │
├─────────────────┼─────────────────┼─────────────────┤
│ GPIO4 │ 红外发射器 │ 空调控制信号 │
│ GPIO2 │ LED指示灯 │ 状态显示 │
│ GPIO5 │ 蜂鸣器 │ 报警提示 │
│ GPIO18 │ 温度传感器 │ 火灾检测 │
│ GPIO19 │ 烟雾传感器 │ 烟雾检测 │
│ GPIO21 │ PIR传感器 │ 人体移动检测 │
│ GPIO22 │ 433MHz模块(SDA) │ 无线通信 │
│ GPIO23 │ 433MHz模块(SCL) │ 无线通信 │
│ GPIO0 │ 配置按钮 │ WiFi配置模式 │
│ 3.3V │ 传感器电源 │ 供电 │
│ GND │ 公共地线 │ 接地 │
└─────────────────┴─────────────────┴─────────────────┘
```
### 3. 硬件安装步骤
#### 步骤1ESP32基础连接
```bash
1. 将ESP32开发板固定在面包板或PCB上
2. 连接电源线5V → VINGND → GND
3. 连接USB数据线到电脑用于烧录和调试
```
#### 步骤2传感器连接
```bash
# 温度传感器 (DS18B20)
VCC → 3.3V
GND → GND
DATA → GPIO18
# 烟雾传感器 (MQ-2)
VCC → 3.3V
GND → GND
AOUT → GPIO19
# PIR人体传感器
VCC → 3.3V
GND → GND
OUT → GPIO21
```
#### 步骤3红外发射器连接
```bash
# 红外发射器模块
VCC → 3.3V
GND → GND
DATA → GPIO4
注意红外发射器需要对准空调接收窗口距离建议1-3米
```
#### 步骤4433MHz模块连接可选
```bash
# RTM300-433M模块
VCC → 3.3V
GND → GND
SDA → GPIO22
SCL → GPIO23
IRQ → GPIO25
注意433MHz模块需要外接天线以提高通信距离
```
#### 步骤5指示器连接
```bash
# LED指示灯
正极 → GPIO2
负极 → GND (通过220Ω电阻)
# 蜂鸣器
正极 → GPIO5
负极 → GND
```
### 4. 硬件测试验证
#### 基础功能测试:
```bash
1. 上电测试LED应该闪烁表示系统启动
2. WiFi测试长按GPIO0按钮进入配置模式
3. 传感器测试:用打火机测试烟雾传感器
4. 红外测试:对准空调测试遥控功能
```
---
## 💻 软件环境搭建
### 1. ESP32开发环境
#### 安装ESP-IDF 5.5.2
```bash
# Windows环境
1. 下载ESP-IDF 5.5.2安装包
2. 安装到D:\Espressif5.5.2\
3. 配置环境变量:
- IDF_PATH=D:\Espressif5.5.2\Espressif\frameworks\esp-idf-v5.5.2
- 添加到PATHD:\Espressif5.5.2\Espressif\tools\
# 验证安装
idf.py --version
```
#### ESP32项目配置
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\firefly_esp32
# 配置项目
idf.py menuconfig
# 重要配置项:
- Component config → ESP32-specific → CPU frequency → 240 MHz
- Component config → FreeRTOS → Tick rate → 1000 Hz
- Component config → Wi-Fi → WiFi Task Core ID → Core 1
- Partition Table → Custom partition table CSV → partitions.csv
```
### 2. Android开发环境
#### 安装要求:
```bash
- Android Studio 2023.1+
- JDK 11+
- Android SDK API 34
- Gradle 8.11.1
```
#### 项目配置:
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\Smarthome_android\Smarthome_android
# 同步项目
./gradlew sync
# 编译项目
./gradlew assembleDebug
```
### 3. Python测试环境
#### 安装依赖:
```bash
pip install requests
pip install pyserial
pip install json
```
---
## 🚀 系统部署流程
### 1. ESP32固件烧录
#### 编译固件:
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\firefly_esp32
# 清理构建
idf.py fullclean
# 编译固件
idf.py build
# 烧录固件
idf.py -p COM3 flash
# 监控日志
idf.py -p COM3 monitor
```
#### 烧录验证:
```bash
# 查看启动日志
I (0) cpu_start: Starting scheduler on APP CPU.
I (1000) MAIN: 🔥 智能火灾报警系统启动
I (1010) WIFI: WiFi初始化完成
I (1020) HTTP: HTTP服务器启动在端口80
```
### 2. Android应用安装
#### 编译APK
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\Smarthome_android\Smarthome_android
# 编译Debug版本
./gradlew assembleDebug
# APK位置
app/build/outputs/apk/debug/app-debug.apk
```
#### 安装到设备:
```bash
# 通过ADB安装
adb install app/build/outputs/apk/debug/app-debug.apk
# 或者直接拷贝APK到手机安装
```
### 3. 系统配置
#### WiFi配置
```bash
1. 长按ESP32的GPIO0按钮3秒
2. ESP32进入SoftAP模式LED快速闪烁
3. 手机连接WiFiESP32-Config
4. 浏览器打开192.168.4.1
5. 输入家庭WiFi信息并保存
6. ESP32重启后自动连接WiFi
```
#### 设备配对:
```bash
1. 打开Android应用
2. 点击"添加设备"
3. 扫描局域网中的ESP32设备
4. 选择设备并完成配对
5. 测试空调控制功能
```
---
## 🔍 功能测试指南
### 1. 火灾报警测试
#### 温度报警测试:
```bash
# 使用热风枪或打火机加热温度传感器
# 预期结果:
- 温度超过60°C时触发报警
- 蜂鸣器响起
- LED红灯闪烁
- Android应用收到报警推送
```
#### 烟雾报警测试:
```bash
# 在烟雾传感器附近点燃纸张
# 预期结果:
- 检测到烟雾时触发报警
- 蜂鸣器响起
- LED红灯闪烁
- 云端收到报警数据
```
### 2. 红外控制测试
#### 空调控制测试:
```bash
# 在Android应用中测试
1. 点击"电源"按钮 → 空调开关
2. 点击"温度+"按钮 → 温度上升
3. 点击"温度-"按钮 → 温度下降
4. 点击"模式"按钮 → 制冷/制热/除湿循环
5. 点击"风量"按钮 → 风量调节
# 验证方法:
- 观察空调面板显示变化
- 检查ESP32日志输出
- 确认红外信号发送成功
```
### 3. 网络功能测试
#### WiFi连接测试
```bash
# 检查ESP32日志
I (5000) WIFI: WiFi连接成功
I (5010) WIFI: IP地址: 192.168.1.100
I (5020) HTTP: HTTP服务器启动成功
```
#### 云端通信测试:
```bash
# 使用Python脚本测试
cd d:\XinJiaPo\Firefly_code\smart-home\python_test
python test_cloud_alarm_integration.py
# 预期结果:
- 成功连接云端服务器
- 报警数据上传成功
- 收到服务器响应
```
---
## 🛠️ 故障排除
### 1. 硬件问题
#### ESP32无法启动
```bash
问题:上电后无反应
解决:
1. 检查电源电压应为5V/2A
2. 检查USB线连接
3. 按下RST按钮重启
4. 检查GPIO0是否被误触发
```
#### 传感器无读数:
```bash
问题传感器数据为0或异常
解决:
1. 检查传感器供电3.3V
2. 检查信号线连接
3. 用万用表测试传感器输出
4. 更换传感器模块
```
#### 红外控制无效:
```bash
问题:空调不响应红外信号
解决:
1. 检查红外发射器方向
2. 减少发射距离1-2米
3. 检查GPIO4连接
4. 重新配对空调遥控器
```
### 2. 软件问题
#### 编译错误:
```bash
问题ESP32编译失败
解决:
1. 检查ESP-IDF版本需要5.5.2
2. 清理构建idf.py fullclean
3. 检查sdkconfig配置
4. 更新组件idf.py update-dependencies
```
#### WiFi连接失败
```bash
问题无法连接WiFi
解决:
1. 检查WiFi密码正确性
2. 确认WiFi为2.4GHz频段
3. 重置WiFi配置长按GPIO0按钮
4. 检查路由器MAC过滤设置
```
#### Android应用崩溃
```bash
问题:应用启动崩溃
解决:
1. 检查Android版本兼容性
2. 清除应用数据和缓存
3. 重新安装APK
4. 查看logcat日志定位问题
```
### 3. 网络问题
#### 设备发现失败:
```bash
问题Android应用找不到ESP32设备
解决:
1. 确认手机和ESP32在同一WiFi网络
2. 检查路由器防火墙设置
3. 手动输入ESP32 IP地址
4. 重启路由器和设备
```
#### 云端通信失败:
```bash
问题:无法上传报警数据
解决:
1. 检查网络连接
2. 验证云端服务器状态
3. 检查防火墙设置
4. 使用Python脚本测试API
```
---
## 📊 性能监控
### 1. 系统监控指标
#### ESP32性能监控
```bash
# 内存使用情况
I (10000) HEAP: 剩余内存: 180KB/320KB
# CPU使用率
I (10010) CPU: CPU使用率: 45%
# WiFi信号强度
I (10020) WIFI: RSSI: -45dBm (信号良好)
# 传感器读取频率
I (10030) SENSOR: 传感器更新频率: 1Hz
```
#### 网络性能监控:
```bash
# HTTP响应时间
平均响应时间: 50ms
最大响应时间: 200ms
# 数据上传成功率
上传成功率: 98.5%
重试次数: 平均1.2次
```
### 2. 日志分析
#### 关键日志标识:
```bash
🔥 - 系统启动和关键事件
✅ - 操作成功
⚠️ - 警告信息
❌ - 错误信息
🎯 - 调试信息
```
#### 日志文件位置:
```bash
ESP32日志通过串口监控获取
Android日志adb logcat | grep "Esp32JsBridge"
云端日志:服务器日志文件
```
---
## 📝 维护指南
### 1. 定期维护
#### 每周检查:
```bash
1. 检查设备运行状态
2. 清理传感器灰尘
3. 检查网络连接稳定性
4. 测试报警功能
```
#### 每月维护:
```bash
1. 更新固件版本
2. 备份配置数据
3. 检查硬件连接
4. 性能数据分析
```
### 2. 版本更新
#### ESP32固件更新
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\firefly_esp32
# 拉取最新代码
git pull origin main
# 编译新固件
idf.py build
# OTA更新推荐
python simple_ota.ps1
# 或串口更新
idf.py -p COM3 flash
```
#### Android应用更新
```bash
cd d:\XinJiaPo\Firefly_code\smart-home\Smarthome_android\Smarthome_android
# 更新版本号
# 编辑 app/build.gradle.kts
versionCode = 2
versionName = "1.1.0"
# 编译新版本
./gradlew assembleRelease
```
---
## 📞 技术支持
### 联系信息
- **项目负责人**[原开发者姓名]
- **技术文档**:项目根目录下的各种.md文件
- **代码仓库**Git仓库地址
- **问题反馈**GitHub Issues或内部问题跟踪系统
### 常用命令速查
```bash
# ESP32相关
idf.py build # 编译固件
idf.py -p COM3 flash # 烧录固件
idf.py -p COM3 monitor # 监控日志
idf.py menuconfig # 配置项目
# Android相关
./gradlew assembleDebug # 编译Debug版本
./gradlew assembleRelease # 编译Release版本
adb install app-debug.apk # 安装APK
adb logcat # 查看日志
# Python测试
python test_cloud_alarm_integration.py # 云端测试
python test_ir_control.py # 红外测试
python wifi_config_simple.py # WiFi配置
```
---
## ⚠️ 重要注意事项
1. **安全警告**
- 火灾报警系统仅作为辅助设备,不能替代专业消防设备
- 定期测试系统功能,确保正常工作
- 传感器需要定期校准和清洁
2. **电气安全**
- 使用合适的电源适配器5V/2A
- 避免短路和过载
- 在潮湿环境中注意防水
3. **网络安全**
- 定期更新固件以修复安全漏洞
- 使用强密码保护WiFi网络
- 监控异常网络活动
4. **数据隐私**
- 了解数据上传和存储政策
- 定期备份重要配置数据
- 注意个人隐私保护
---
## 📚 相关文档
本项目包含以下详细指南文档:
### 核心文档:
- **[项目运行指南.md](./项目运行指南.md)** - 本文档,项目总体概述
- **[硬件接线详细指南.md](./硬件接线详细指南.md)** - 详细的硬件连接和电路图
- **[软件配置详细指南.md](./软件配置详细指南.md)** - 开发环境和软件配置
- **[故障排除与维护指南.md](./故障排除与维护指南.md)** - 故障诊断和维护流程
### 专项文档:
- **[433MHz_使用指南.md](./433MHz_使用指南.md)** - 433MHz模块配置和使用
- **[WiFi省电测试指南.md](./WiFi省电测试指南.md)** - WiFi功耗管理
- **[ESP32编译烧录指南.md](./ESP32编译烧录指南.md)** - 固件编译和烧录
### 技术文档:
- **[SDK_data_hex转红外脉冲算法详解.md](./SDK_data_hex转红外脉冲算法详解.md)** - 红外信号处理算法
- **[diagnose_ir_system.md](./diagnose_ir_system.md)** - 红外系统诊断
- **各种修复和优化文档** - 项目根目录下的其他.md文件
### 快速参考:
#### 🚀 快速启动流程:
1. **硬件连接** → 参考《硬件接线详细指南》
2. **软件配置** → 参考《软件配置详细指南》
3. **固件烧录** → 参考《ESP32编译烧录指南》
4. **功能测试** → 参考本文档的测试章节
5. **故障排除** → 参考《故障排除与维护指南》
#### 📞 获取帮助:
- **硬件问题** → 查看硬件接线详细指南
- **软件问题** → 查看软件配置详细指南
- **网络问题** → 查看WiFi配置相关文档
- **功能异常** → 查看故障排除与维护指南
---
**文档版本**v1.0
**最后更新**2026年2月26日
**适用版本**ESP32固件v2.1.0Android应用v1.0.0
**文档完整性检查**
- ✅ 项目运行指南.md
- ✅ 硬件接线详细指南.md
- ✅ 软件配置详细指南.md
- ✅ 故障排除与维护指南.md