跳到主要内容

ESP-IDF 开发

本章节包含以下内容,请按需阅读:

ESP-IDF 入门教程

初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

备注

以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明

安装 ESP-IDF 开发环境

  1. 前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。

    在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你要安装的版本。

    下载 EIM 和整合包

    确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)

    下载 EIM 和整合包2

    请耐心等待两个文件下载完成。

  2. 下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)

    启动后,可在右上角将界面语言切换为中文。

    切换 EIM 语言

    安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装

    自动检测整合包

    接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装

    选择安装路径
  3. 当看到如下界面时,表示 ESP-IDF 已安装成功。

    安装成功
  4. 建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序

    用 ESP-IDF 安装管理器安装驱动

安装 Visual Studio Code 与 ESP-IDF 扩展

  1. 下载并安装 Visual Studio Code

  2. 安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。

  3. 在 VS Code 中,点击侧边活动栏中的 扩展图标 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。

  4. 在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。

    在 VS Code 中搜索并安装 ESP-IDF 扩展

  5. ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。

示例程序

ESP-IDF 示例程序位于 示例程序包ESP-IDF 目录中。

01_Hello world

本示例演示了在 TERMINAL 窗口以 10 秒间隔输出 Hello world!

01_Hello world 示例输出

02_RGB

本示例演示了板载 RGB 灯珠以 1 秒间隔进行闪烁

02_RGB 示例输出

03_UART

本示例演示了短接 GPIO4 与 GPIO5 情况下进行 UART 的数据自收发

03_UART 示例输出

硬件连接

  • 通过杜邦线(母对母)短接 GPIO4 和 GPIO5
ESP32-C5-N16R4ESP32-C5-N16R4(同一块)
GPIO4GPIO5

代码解释

  • 发送任务(tx_task):
    每隔 2 秒向 UART 发送字符串 "Hello waveshare"

  • 接收任务(rx_task):
    持续从 UART 读取数据,若读到数据则打印字符串

04_IIC

本示例点亮 0.96inch OLED (B),显示一段字符

04_IIC示例输出1
04_IIC示例输出2

硬件连接

  • 将开发板插入电脑,并通过杜邦线将下列屏幕和引脚连接
0.96inch OLED (B)ESP32-C5-N16R4
VCC3V3
GNDGND
DINGPIO3
CLKGPIO4
CSGND
D/CGND
RSTGPIO9

05_WIFI

本示例实现 ESP32-C5 连接 WIFI 获取心知天气 API 数据的功能

05_WIFI 示例输出

06_WIFI_AP

本示例实现开发板开启 WiFi 热点并支持手机端连接的功能

06_WIFI_AP 示例输出

07_BLE

本示例实现手机端连接蓝牙 BLE 信标并接收广播数据的功能

07_BLE 示例输出

08_ZIGBEE

本示例实现两块 ESP32-C5,使用其中一块(烧录 HA_on_off_switch 程序)的 BOOT 按键控制另一块的 RGB 灯珠的亮灭

  • 注:请先往一块烧录 HA_on_off_switch 程序,再往另一块烧录 HA_on_off_light 程序
08_ZIGBEE 示例输出

硬件连接

  • 1:准备两块 ESP32-C5-N16R4 开发板,确保它们供电正常且处于可烧录程序的状态。
  • 2:将第一块开发板与电脑连接,使用烧录工具往该开发板烧录 HA_on_off_light 程序(此程序用于控制 RGB 灯),烧录完成后保持开发板上电状态。
  • 3:将第二块开发板与电脑连接,使用烧录工具往该开发板烧录 HA_on_off_switch 程序(此程序用于通过 BOOT 按键实现控制功能),烧录完成后保持开发板上电状态。