# ESP32固件编译烧录指南 ## 🔧 **编译步骤** ### 1. 打开ESP-IDF环境 ```powershell cd d:\XinJiaPo\Firefly_code\smart-home\firefly_esp32 & "D:\Espressif5.5.2\Espressif\frameworks\esp-idf-v5.5.2\export.ps1" ``` ### 2. 清理之前的构建 ```bash idf.py clean ``` ### 3. 配置项目 ```bash idf.py menuconfig ``` **重要配置项**: - Component config → HTTP Server → Max HTTP Request Headers: 32 - Component config → HTTP Server → Max HTTP URI Handlers: 30 - Component config → LWIP → Max number of open sockets: 16 ### 4. 编译固件 ```bash idf.py build ``` ### 5. 烧录固件 ```bash idf.py -p COM7 flash ``` ### 6. 监控串口输出 ```bash idf.py -p COM7 monitor ``` ## 🎯 **验证步骤** ### 1. 检查HTTP服务器启动 串口应该显示: ``` I (xxx) ACRemoteAPI: HTTP服务器启动成功,端口: 80 ``` ### 2. 测试/ir接口 ```bash curl "http://192.168.1.3/ir?cmd=PING" ``` 应该返回: ```json {"success":true,"status":"ok","action":"PING","message":"设备在线"} ``` ### 3. 测试红外控制 ```bash curl "http://192.168.1.3/ir?cmd=SOCKET:ON" ``` 应该返回: ```json {"success":true,"status":"ok","action":"SOCKET:ON","pending":true,"message":"命令已接收,正在执行"} ``` ## 🐛 **常见问题** ### 问题1: 编译失败 **解决**: 检查ESP-IDF环境是否正确配置 ### 问题2: 烧录失败 **解决**: - 检查COM端口是否正确 - 确保ESP32处于下载模式 - 尝试按住BOOT按钮后重新烧录 ### 问题3: HTTP服务器启动失败 **解决**: - 检查内存是否足够 - 确认配置参数正确 - 查看串口日志获取详细错误信息 ## 📊 **预期结果** 编译烧录成功后: 1. ✅ `/ir`接口可以正常访问 2. ✅ 红外控制命令可以正确执行 3. ✅ APP客厅监控页面可以正常控制设备 4. ✅ 串口显示红外发射日志 ## 🔍 **调试技巧** ### 查看HTTP路由注册 串口搜索:`HTTP服务器启动成功` ### 查看红外命令执行 串口搜索:`红外控制命令` 或 `红外发射` ### 查看内存使用 串口搜索:`free heap` 或 `memory`