ESP32入门学习笔记

  • Post author:
  • Post category:其他




概述

ESP32-DevKitC V4 是 乐鑫 一款基于 ESP32 的小型开发板,板上模组的绝大部分管脚均已引出,开发人员可根据实际需求,轻松通过跳线连接多种外围器件,或将开发板插在面包板上使用。

本文档旨在指导用户搭建 ESP32 硬件开发的软件环境,通过一个简单的示例展示如何使用 ESP-IDF (Espressif IoT Development Framework) 配置菜单,并编译、下载固件至 ESP32 开发板等步骤。



准备工作



硬件

ESP32-DevKitC V4开发板
USB A / micro USB B 数据线
PC(Windows、Linux 或 Mac OS)



软件

如需在 ESP32 上使用 ESP-IDF,请安装以下软件:
1、设置 工具链,用于编译 ESP32 代码;
2、编译构建工具 —— CMake 和 Ninja 编译构建工具,用于编译 ESP32 应用程序;
3、获取 ESP-IDF 软件开发框架。该框架已经基本包含 ESP32 使用的 API(软件库和源代码)和运行 工具链 的脚本;*



功能说明

在这里插入图片描述

在这里插入图片描述



电源选项

开发板可从以下三种供电方式中任选其一:

Micro USB 供电(默认)

5V / GND 管脚供电

3V3 / GND 管脚供电

注意:上述供电模式

不可同时连接

,否则可能会损坏开发板和/或电源。



排针

下表列出了开发板两侧排针(J1 和 J3)的名称和功能,排针名称如图 ESP32-DevKitC V4(板载 ESP32-WROOM-32) 中所示。

J1.

在这里插入图片描述

J3.

在这里插入图片描述

1(1,2)

P:电源;I:输入;O:输出。

2(1,2,3,4,5,6)

管脚 D0、D1、D2、D3、CMD 和 CLK 用于 ESP32 芯片与 SPI flash 间的内部通信,集中分布在开发板两侧靠近 USB 端口的位置。通常而言,这些管脚最好不连,否则可能影响 SPI flash / SPI RAM 的工作。

3(1,2)

管脚 GPIO16 和 GPIO17 仅适用于板载 ESP32-WROOM 系列和 ESP32-SOLO-1 的开发板,板载 ESP32-WROVER 系列开发板的管脚 GPIO16 和 GPIO17 保留内部使用。



管脚布局

在这里插入图片描述



安装



IDE

建议您通过自己喜欢的集成开发环境 (IDE) 安装 ESP-IDF


Eclipse Plugin



VSCode Extension



手动安装

请根据您的操作系统选择对应的手动安装流程。


Windows Installer



Linux and macOS



编译第一个工程(windows)



概述

ESP-IDF 需要安装一些必备工具,才能围绕 ESP32 构建固件,包括 Python、Git、交叉编译器、CMake 和 Ninja 编译工具等。

在本入门指南中,我们通过 命令提示符 进行有关操作。不过,您在安装 ESP-IDF 后还可以使用 Eclipse Plugin 或其他支持 CMake 的图形化工具 IDE。



ESP-IDF 工具安装器

安装 ESP-IDF 必备工具最简易的方式是下载一个 ESP-IDF 工具安装器。


Windows Installer Download



在线安装与离线安装的区别

在线安装程序非常小,可以安装 ESP-IDF 的所有版本。在安装过程中,安装程序只下载必要的依赖文件,包括 Git For Windows 安装器。在线安装程序会将下载的文件存储在缓存目录 %userprofile%/espressif 中。

离线安装程序不需要任何网络连接。安装程序中包含了所有需要的依赖文件,包括 Git For Windows 安装器。



安装内容

安装程序会安装以下组件:

内置的 Python
交叉编译器
OpenOCD
CMake 和 Ninja 编译工具
ESP-IDF

安装程序允许将程序下载到现有的 ESP-IDF 目录。推荐将 ESP-IDF 下载到 %userprofile%\Desktop\esp-idf 目录下,其中 %userprofile% 代表家目录。



启动 ESP-IDF 环境

安装结束时,如果勾选了 Run ESP-IDF PowerShell Environment 或 Run ESP-IDF Command Prompt (cmd.exe),安装程序会在选定的提示符窗口启动 ESP-IDF。

Run ESP-IDF PowerShell Environment:

在这里插入图片描述

在这里插入图片描述

Run ESP-IDF Command Prompt (cmd.exe):

在这里插入图片描述

在这里插入图片描述



使用命令提示符

在后续步骤中,我们将使用 Windows 的命令提示符进行操作。

ESP-IDF 工具安装器可在“开始”菜单中,创建一个打开 ESP-IDF 命令提示符窗口的快捷方式。本快捷方式可以打开 Windows 命令提示符(即 cmd.exe),并运行 export.bat 脚本以设置各环境变量(比如 PATH,IDF_PATH 等)。此外,您可还以通过 Windows 命令提示符使用各种已经安装的工具。

注意,本快捷方式仅适用 ESP-IDF 工具安装器中指定的 ESP-IDF 路径。如果您的电脑上存在多个 ESP-IDF 路径(比如您需要不同版本的 ESP-IDF),您有以下两种解决方法:
1、为 ESP-IDF 工具安装器创建的快捷方式创建一个副本,并将新快捷方式的 ESP-IDF 工作路径指定为您希望使用的 ESP-IDF 路径。
2、或者,您可以运行 cmd.exe,并切换至您希望使用的 ESP-IDF 目录,然后运行 export.bat。注意,这种方法要求 PATH 中存在 Python 和 Git。如果您在使用时遇到有关“找不到 Python 或 Git”的错误信息,请使用第一种方法。



开始使用 ESP-IDF

现在您已经具备了使用 ESP-IDF 的所有条件,接下来将介绍如何开始您的第一个工程。

本指南将帮助您完成使用 ESP-IDF 的第一步。按照本指南,您将使用 ESP32 创建第一个工程,并构建、烧录和监控设备输出。



开始创建工程

现在,您可以准备开发 ESP32 应用程序了。您可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。

可以将get-started/hello_world 工程复制到本地工作目录,也可以直接编译示例,无需进行复制。



连接设备

现在,请将您的 ESP32 开发板连接到 PC,并查看开发板使用的串口。

在 Windows 操作系统中,串口名称通常以 COM 开头。

在设备管理器查看具体串口号。

在这里插入图片描述



配置工程

请进入 hello_world 目录,设置 ESP32 为目标芯片,然后运行工程配置工具 menuconfig。

在这里插入图片描述

idf.py set-target esp32
idf.py menuconfig

打开一个新工程后,应首先使用 idf.py set-target esp32 设置“目标”芯片。注意,此操作将清除并初始化项目之前的编译和配置(如有)。您也可以直接将“目标”配置为环境变量(此时可跳过该步骤)。更多信息,请见

Select the Target Chip: set-target

正确操作上述步骤后,系统将显示以下菜单:

在这里插入图片描述

您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等。hello_world 示例项目会以默认配置运行,因此在这一项目中,可以跳过使用 menuconfig 进行项目配置这一步骤。


注意:如果您使用的是 ESP32-DevKitC(板载 ESP32-SOLO-1 模组)或 ESP32-DevKitM-1(板载 ESP32-MINI-1(1U) 模组),请在烧写示例程序前,前往 menuconfig 中使能单核模式(CONFIG_FREERTOS_UNICORE)。



编译工程

请使用以下命令,编译烧录工程:

idf.py build

运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成引导加载程序、分区表和应用程序二进制文件。

如果一切正常,编译完成后将生成 .bin 文件。



烧录到设备

请运行以下命令,将刚刚生成的二进制文件烧录至您的 ESP32 开发板:

idf.py -p PORT flash

请将 PORT 替换为 ESP32 开发板的串口名称。如果 PORT 未经定义,idf.py 将尝试使用可用的串口自动连接。

更多有关 idf.py 参数的详情,请见

idf.py



若在烧录过程中遇到问题,请前往

烧录故障排除

或 与

ESP32 创建串口连接

获取更多详细信息。



常规操作

在烧录过程中,您会看到类似如下的输出日志:

在这里插入图片描述

如果一切顺利,烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行。



监视输出

您可以使用 idf.py -p PORT monitor 命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 PORT 替换为您的串口名称。

运行该命令后,IDF 监视器 应用程序将启动::

在这里插入图片描述

此时,您就可以在启动日志和诊断日志之后,看到打印的 “Hello world!” 了。

您可使用快捷键 Ctrl+],退出 IDF 监视器。

如果 IDF 监视器在烧录后很快发生错误,或打印信息全是乱码(如下),很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。

在这里插入图片描述

此时,您可以:

1、退出监视器。

2、返回 menuconfig。

3、进入 Component config –> Hardware Settings –> Main XTAL Config –> Main XTAL frequency 进行配置,将 CONFIG_XTAL_FREQ_SEL 设置为 26 MHz。

4、重新 编译和烧录 应用程序。

在当前的 ESP-IDF 版本中,ESP32 支持的主晶振频率如下:

26 MHz

40 MHz

您也可以运行以下命令,一次性执行构建、烧录和监视过程:

idf.py -p PORT flash monitor


恭喜,您已完成 ESP32 的入门学习!

现在,您可以尝试一些其他

examples

,或者直接开发自己的应用程序。



版权声明:本文为qq_41172823原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。