文档库
自行编译与下载
本章只给出项目命令,不展开环境安装。请自行按ESP-IDF v5.5.3文档准备并启用环境。这里采用本项目已验证的v5.5.3基线,不将其他版本的可编译性视为已验证。
命令约定
在官网下载中心取得本产品完整源码,保留examples/与components/的相对目录关系。以下从esp32s3-cam-mini源码根目录开始,PORT替换为实际端口,例如Windows的COM5、macOS的/dev/cu.usbmodem101或Linux的/dev/ttyACM0。
idf.py --version
应看到v5.5.3。此命令找不到时先解决环境加载问题。工程不是Arduino草图,不能直接放入Arduino IDE按默认开发板编译。
factory
cd examples/factory
idf.py build
idf.py -p PORT flash monitor
六足图传
从源码根目录执行:
cd examples/nodehexa-video
idf.py build
idf.py -p PORT flash monitor
视觉案例:菜单选择
从源码根目录执行:
cd examples/vision-demos
idf.py menuconfig
idf.py build
idf.py -p PORT flash monitor
在ESP32-S3-CAM-Mini vision demos中选择一个任务。默认是色块;每次编译只启用一个识别算法,网页不能在线切换模型。
视觉案例:独立配置构建
例如巡线,在examples/vision-demos目录执行。命令用双引号包住含分号的配置参数,可在常见终端中逐行执行:
idf.py -B build-line -D SDKCONFIG=sdkconfig.line -D "SDKCONFIG_DEFAULTS=sdkconfig.defaults;configs/line-tracking.defaults" build
idf.py -B build-line -D SDKCONFIG=sdkconfig.line -D "SDKCONFIG_DEFAULTS=sdkconfig.defaults;configs/line-tracking.defaults" -p PORT flash monitor
配置、编译和烧录必须使用同一组-B与-D。否则可能编译了巡线,却烧入默认build目录里的色块。
| 固件任务 | 配置片段 |
|---|---|
| 色块 | 默认sdkconfig.defaults,无额外片段 |
| 巡线 | configs/line-tracking.defaults |
| 运动 | configs/motion.defaults |
| 亮点 | configs/bright-spot.defaults |
| 亮度统计 | configs/frame-stats.defaults |
| 二维码 | configs/qrcode.defaults |
| 人脸 | configs/face-detect.defaults |
| 行人 | configs/pedestrian.defaults |
| 猫 / 狗 / 手部 | configs/cat.defaults / dog.defaults / hand.defaults |
为不同任务换不同build目录及sdkconfig文件名,避免残留配置。已有sdkconfig优先于defaults,修改defaults并不保证改变旧构建配置;确认当前菜单与启动日志。
恢复辅助固件
从源码根目录执行:
cd examples/camera-power-safe-off
idf.py build
idf.py -p PORT flash monitor
它保持GPIO5低,不提供图像。疑似短路时先断电并检查排线/器件,不要通过反复烧固件尝试修复硬件。
构建后要检查什么
build完成只是编译通过。flash写入对应构建输出;monitor查看启动与运行日志,按Ctrl+]退出。ESP-IDF会根据构建信息烧录各分区,完整地址与选项可查看生成的flasher_args.json。官方USB Serial/JTAG说明解释了端口与下载行为。
首次编译可能需要联网恢复dependencies.lock中的组件。不要随意删除锁文件升级所有依赖。项目已有固定ESP32-S3目标,无需每次set-target;换目标或清理配置会影响已选参数。
实际验收至少包括:启动日志任务名称正确、摄像头初始化成功、网页或串口行为正确、复位后能恢复。记录源码版本、SDK版本、配置与二进制校验值,才能把自己的实验复现出来。