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

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

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

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

15 KiB
Raw Blame History

智能家居火灾报警系统 - 项目运行指南

📋 项目概述

本项目是一个基于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基础连接

1. 将ESP32开发板固定在面包板或PCB上
2. 连接电源线5V → VINGND → GND
3. 连接USB数据线到电脑用于烧录和调试

步骤2传感器连接

# 温度传感器 (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红外发射器连接

# 红外发射器模块
VCC → 3.3V
GND → GND
DATA → GPIO4

注意红外发射器需要对准空调接收窗口距离建议1-3米

步骤4433MHz模块连接可选

# RTM300-433M模块
VCC → 3.3V
GND → GND
SDA → GPIO22
SCL → GPIO23
IRQ → GPIO25

注意433MHz模块需要外接天线以提高通信距离

步骤5指示器连接

# LED指示灯
正极 → GPIO2
负极 → GND (通过220Ω电阻)

# 蜂鸣器
正极 → GPIO5
负极 → GND

4. 硬件测试验证

基础功能测试:

1. 上电测试LED应该闪烁表示系统启动
2. WiFi测试长按GPIO0按钮进入配置模式
3. 传感器测试:用打火机测试烟雾传感器
4. 红外测试:对准空调测试遥控功能

💻 软件环境搭建

1. ESP32开发环境

安装ESP-IDF 5.5.2

# 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项目配置

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开发环境

安装要求:

- Android Studio 2023.1+
- JDK 11+
- Android SDK API 34
- Gradle 8.11.1

项目配置:

cd d:\XinJiaPo\Firefly_code\smart-home\Smarthome_android\Smarthome_android

# 同步项目
./gradlew sync

# 编译项目
./gradlew assembleDebug

3. Python测试环境

安装依赖:

pip install requests
pip install pyserial
pip install json

🚀 系统部署流程

1. ESP32固件烧录

编译固件:

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

烧录验证:

# 查看启动日志
I (0) cpu_start: Starting scheduler on APP CPU.
I (1000) MAIN: 🔥 智能火灾报警系统启动
I (1010) WIFI: WiFi初始化完成
I (1020) HTTP: HTTP服务器启动在端口80

2. Android应用安装

编译APK

cd d:\XinJiaPo\Firefly_code\smart-home\Smarthome_android\Smarthome_android

# 编译Debug版本
./gradlew assembleDebug

# APK位置
app/build/outputs/apk/debug/app-debug.apk

安装到设备:

# 通过ADB安装
adb install app/build/outputs/apk/debug/app-debug.apk

# 或者直接拷贝APK到手机安装

3. 系统配置

WiFi配置

1. 长按ESP32的GPIO0按钮3秒
2. ESP32进入SoftAP模式LED快速闪烁
3. 手机连接WiFiESP32-Config
4. 浏览器打开192.168.4.1
5. 输入家庭WiFi信息并保存
6. ESP32重启后自动连接WiFi

设备配对:

1. 打开Android应用
2. 点击"添加设备"
3. 扫描局域网中的ESP32设备
4. 选择设备并完成配对
5. 测试空调控制功能

🔍 功能测试指南

1. 火灾报警测试

温度报警测试:

# 使用热风枪或打火机加热温度传感器
# 预期结果:
- 温度超过60°C时触发报警
- 蜂鸣器响起
- LED红灯闪烁
- Android应用收到报警推送

烟雾报警测试:

# 在烟雾传感器附近点燃纸张
# 预期结果:
- 检测到烟雾时触发报警
- 蜂鸣器响起
- LED红灯闪烁
- 云端收到报警数据

2. 红外控制测试

空调控制测试:

# 在Android应用中测试
1. 点击"电源"按钮 → 空调开关
2. 点击"温度+"按钮 → 温度上升
3. 点击"温度-"按钮 → 温度下降
4. 点击"模式"按钮 → 制冷/制热/除湿循环
5. 点击"风量"按钮 → 风量调节

# 验证方法:
- 观察空调面板显示变化
- 检查ESP32日志输出
- 确认红外信号发送成功

3. 网络功能测试

WiFi连接测试

# 检查ESP32日志
I (5000) WIFI: WiFi连接成功
I (5010) WIFI: IP地址: 192.168.1.100
I (5020) HTTP: HTTP服务器启动成功

云端通信测试:

# 使用Python脚本测试
cd d:\XinJiaPo\Firefly_code\smart-home\python_test
python test_cloud_alarm_integration.py

# 预期结果:
- 成功连接云端服务器
- 报警数据上传成功
- 收到服务器响应

🛠️ 故障排除

1. 硬件问题

ESP32无法启动

问题:上电后无反应
解决:
1. 检查电源电压应为5V/2A
2. 检查USB线连接
3. 按下RST按钮重启
4. 检查GPIO0是否被误触发

传感器无读数:

问题传感器数据为0或异常
解决:
1. 检查传感器供电3.3V
2. 检查信号线连接
3. 用万用表测试传感器输出
4. 更换传感器模块

红外控制无效:

问题:空调不响应红外信号
解决:
1. 检查红外发射器方向
2. 减少发射距离1-2米
3. 检查GPIO4连接
4. 重新配对空调遥控器

2. 软件问题

编译错误:

问题ESP32编译失败
解决:
1. 检查ESP-IDF版本需要5.5.2
2. 清理构建idf.py fullclean
3. 检查sdkconfig配置
4. 更新组件idf.py update-dependencies

WiFi连接失败

问题无法连接WiFi
解决:
1. 检查WiFi密码正确性
2. 确认WiFi为2.4GHz频段
3. 重置WiFi配置长按GPIO0按钮
4. 检查路由器MAC过滤设置

Android应用崩溃

问题:应用启动崩溃
解决:
1. 检查Android版本兼容性
2. 清除应用数据和缓存
3. 重新安装APK
4. 查看logcat日志定位问题

3. 网络问题

设备发现失败:

问题Android应用找不到ESP32设备
解决:
1. 确认手机和ESP32在同一WiFi网络
2. 检查路由器防火墙设置
3. 手动输入ESP32 IP地址
4. 重启路由器和设备

云端通信失败:

问题:无法上传报警数据
解决:
1. 检查网络连接
2. 验证云端服务器状态
3. 检查防火墙设置
4. 使用Python脚本测试API

📊 性能监控

1. 系统监控指标

ESP32性能监控

# 内存使用情况
I (10000) HEAP: 剩余内存: 180KB/320KB

# CPU使用率
I (10010) CPU: CPU使用率: 45%

# WiFi信号强度
I (10020) WIFI: RSSI: -45dBm (信号良好)

# 传感器读取频率
I (10030) SENSOR: 传感器更新频率: 1Hz

网络性能监控:

# HTTP响应时间
平均响应时间: 50ms
最大响应时间: 200ms

# 数据上传成功率
上传成功率: 98.5%
重试次数: 平均1.2次

2. 日志分析

关键日志标识:

🔥 - 系统启动和关键事件
✅ - 操作成功
⚠️ - 警告信息
❌ - 错误信息
🎯 - 调试信息

日志文件位置:

ESP32日志通过串口监控获取
Android日志adb logcat | grep "Esp32JsBridge"
云端日志:服务器日志文件

📝 维护指南

1. 定期维护

每周检查:

1. 检查设备运行状态
2. 清理传感器灰尘
3. 检查网络连接稳定性
4. 测试报警功能

每月维护:

1. 更新固件版本
2. 备份配置数据
3. 检查硬件连接
4. 性能数据分析

2. 版本更新

ESP32固件更新

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应用更新

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或内部问题跟踪系统

常用命令速查

# 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. 数据隐私

    • 了解数据上传和存储政策
    • 定期备份重要配置数据
    • 注意个人隐私保护

📚 相关文档

本项目包含以下详细指南文档:

核心文档:

专项文档:

技术文档:

快速参考:

🚀 快速启动流程:

  1. 硬件连接 → 参考《硬件接线详细指南》
  2. 软件配置 → 参考《软件配置详细指南》
  3. 固件烧录 → 参考《ESP32编译烧录指南》
  4. 功能测试 → 参考本文档的测试章节
  5. 故障排除 → 参考《故障排除与维护指南》

📞 获取帮助:

  • 硬件问题 → 查看硬件接线详细指南
  • 软件问题 → 查看软件配置详细指南
  • 网络问题 → 查看WiFi配置相关文档
  • 功能异常 → 查看故障排除与维护指南

文档版本v1.0
最后更新2026年2月26日
适用版本ESP32固件v2.1.0Android应用v1.0.0

文档完整性检查

  • 项目运行指南.md
  • 硬件接线详细指南.md
  • 软件配置详细指南.md
  • 故障排除与维护指南.md