快速入门

[English]

本文档帮助开发者基于乐鑫 ESP32 系列芯片搭建多媒体应用的开发环境,并通过一个完整的示例工程,演示如何使用 ESP-ADF(Espressif Advanced Development Framework)。

读完本文档后,您将能够:

  • 安装并配置一个受支持的 ESP-IDF 版本

  • 获取一个 ESP-ADF 示例工程

  • 编译、烧录工程并通过串口监视示例工程的运行

关于 ESP-ADF

ESP-ADF 是乐鑫基于 ESP-IDF 和 ESP-GMF 构建的多媒体开发框架,提供音视频采集与播放、AI 语音、蓝牙音频、多媒体传输等产品级方案组件。其各类应用组件已发布至 IDF 组件管理器,可在工程中声明依赖后由组件管理器自动获取。

开发者通常只需在工程的 idf_component.yml 中声明依赖,构建时由组件管理器自动获取,无需设置额外的环境变量。本文提供克隆仓库与组件管理器两种方式获取示例工程。

备注

ESP-ADF 当前支持的 ESP-IDF 版本请参阅 README

Step 1. 安装 ESP-IDF

请按 ESP-IDF 编程指南 中“快速入门”章节,根据您所在的操作系统(Windows、Linux 或 macOS)完成 ESP-IDF 工具链与依赖的安装。

安装完成并激活环境后,确认终端中可正常运行:

idf.py --version

并输出一个受支持的版本号(参见 关于 ESP-ADF 中的版本说明)。

备注

如已安装但版本不在支持范围内,可参考 ESP-IDF 版本管理 切换分支。

Step 2. 获取 ESP-ADF 示例工程

ADF 示例工程存放在仓库的 adf_examples 目录下。本文以 music_player 为例演示完整的编译与运行流程:该示例扫描 microSD 卡中的本地音乐文件,在屏幕上显示播放器界面、歌曲信息与播放控制,并通过音频输出设备播放音乐。

可通过以下两种方式获取示例工程,二选一即可。

  • 方式 A(克隆仓库):下载 ESP-ADF 完整源码及全部示例,适合深入学习框架、对比测试各示例,或向 ESP-ADF 贡献代码。

  • 方式 B(组件管理器):仅下载一个示例工程,所需组件在编译阶段由组件管理器自动获取,此方式与实际产品项目的开发方式一致,适合快速验证或集成评估。

方式 A(克隆仓库):

在终端中执行以下命令获取 ESP-ADF 完整源码仓库:

git clone --recursive https://github.com/espressif/esp-adf.git

备注

下文出现的 $ADF_PATH 为文档中使用的占位符,代表克隆得到的 esp-adf 仓库根目录,实际操作时请按本地克隆位置替换。

中国用户可从 Gitee 下载,速度更快:

git clone --recursive https://gitee.com/EspressifSystems/esp-adf.git

方式 B(通过 IDF 组件管理器直接下载示例):

在目标目录下执行以下命令,由 IDF 组件管理器直接获取示例工程:

idf.py create-project-from-example "espressif/adf_examples:music_player"

执行完成后,当前目录下会生成 music_player 工程文件夹,无需克隆整个 ESP-ADF 仓库。

Step 3. 启动示例工程

进入示例工程目录:

方式 A(克隆仓库):Linux / macOS

cd $ADF_PATH/adf_examples/player/music_player

方式 A(克隆仓库):Windows

cd %ADF_PATH%\adf_examples\player\music_player

方式 B(组件管理器):

cd music_player

备注

ESP-IDF 构建系统不支持路径中包含空格,请确认 ESP-IDF 与工程的完整路径中均不含空格。

Step 4. 连接开发板

music_player 需要带有 microSD、LCD 与触摸的开发板。通过 USB 数据线将其连接到 PC,并按 ESP-IDF 文档:建立串口连接 确认开发板对应的串口号:

  • Linux 下通常为 /dev/ttyUSB0/dev/ttyACM0

  • macOS 下通常为 /dev/cu.usbserial-*/dev/cu.SLAB_USBtoUART

  • Windows 下通常为 COM3COM4

请在 microSD 卡(FAT 格式)的 /sdcard 挂载点或其一层子目录中放入 .mp3.aac.wav 测试文件。乐鑫支持的音频开发板列表请参阅 多媒体开发板

备注

请记下当前开发板对应的串口号,后续 Step 8. 烧录固件Step 9. 监视输出 步骤需要使用。

Step 5. 配置硬件

ESP-ADF 示例工程通过 ESP Board Manager 统一管理开发板的外设描述与板级初始化代码。推荐安装辅助工具 esp-bmgr-assist 作为默认工具。

在已激活的 ESP-IDF Python 环境下安装(同一环境只需安装一次):

pip install esp-bmgr-assist

如需升级至最新版本:

pip install --upgrade esp-bmgr-assist

查看支持的开发板:

idf.py bmgr -l

选择开发板:

idf.py bmgr -b <board_index|board_name>

例如选择 esp32_s3_korvo_2_3

idf.py bmgr -b esp32_s3_korvo_2_3

首次执行 idf.py bmgr 时,工具会根据工程依赖自动下载 espressif/esp_board_manager 组件。

备注

  • 如需切换为其他 esp_board_manager 支持的开发板,请按相同步骤执行并替换板型名称/索引。

  • 如需使用未列出的自定义开发板,请参考 创建开发板指南

  • esp_board_manager 更多信息请参考 ESP Board Manager 入门指南

Step 6. 工程配置

打开工程配置菜单:

idf.py menuconfig

对于 music_player 示例,默认配置通常即可直接编译运行。如需调整 LVGL、字体等显示相关选项,请参考示例工程目录下的 README

修改完成后按 S 保存,再按 Q 退出菜单。

Step 7. 编译工程

执行以下命令开始编译:

idf.py build

该命令会按依赖关系编译 ESP-IDF、ESP-ADF 涉及到的所有组件,并生成 bootloader、分区表与应用 bin 文件。首次编译用时较长,后续增量编译会显著加快。

编译成功后,终端会输出类似以下日志,并提示对应的烧录命令:

Project build complete. To flash, run:
 idf.py flash
or
 idf.py -p PORT flash

如出现编译错误,请按错误提示检查 ESP-IDF 版本、Step 5. 配置硬件 中开发板配置是否完成、依赖组件是否正确获取等。

Step 8. 烧录固件

PORT 替换为 Step 4. 连接开发板 中记录的串口号,运行以下命令完成烧录并打开串口监视:

idf.py -p PORT flash monitor

备注

  • idf.py flash 会在烧录前自动重新编译,因此不必单独执行 idf.py build

  • 默认烧录波特率为 460800,可通过 -b BAUD 参数调整。

  • 若开发板没有自动复位电路,烧录前请按住 Boot 键、短按一次 Reset 键后再松开 Boot 键,使芯片进入下载模式。

  • 如果开发板使用 USB Serial JTAG,且找不到串口,可以尝试按照上述方式手动进入下载模式后查看串口。

Step 9. 监视输出

烧录完成后,开发板会自动复位并运行示例程序。串口监视器中将输出类似以下日志(仅截取关键步骤):

I (1435) main_task: Calling app_main()
I (1438) MUSIC_PLAYER: [ 1 ] Initialize board peripherals
I (1517) BOARD_MANAGER: Device fs_sdcard initialized
I (1578) BOARD_MANAGER: Device audio_dac initialized
I (1621) MUSIC_PLAYER: [ 2 ] Initialize display and LVGL music UI
I (1839) BOARD_MANAGER: Device display_lcd initialized
I (1884) BOARD_MANAGER: Device lcd_touch initialized
I (1999) MUSIC_PLAYER: [ 3 ] Scan SD card playlist from /sdcard
I (2114) MUSIC_PLAYER: [ 4 ] Start playback controller
I (2121) MUSIC_PLAYER: [ 5 ] Music player ready

若一切正常,屏幕会显示播放器界面;若 SD 卡中存在音乐文件,例程会自动开始播放第一首。可使用触摸屏底部控制栏进行播放、暂停、切歌与音量调节。

使用快捷键 Ctrl+] 可退出串口监视器。

后续阅读

完成本示例后,您已经掌握 ESP-ADF 工程的基础工作流。建议按以下方向继续探索:

  • 浏览 多媒体基础组件,了解 ESP-ADF 提供的音频编解码、效果处理、媒体协议与 GMF 等基础组件。

  • 浏览 多媒体上层组件,了解服务基础设施、媒体服务、外设服务与 AI 对接等上层组件。

  • 查阅 adf_examples 目录下的其他示例工程,包括录音、AI Agent、视频等更多应用场景。

相关文档