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