已写文章链接
本专栏主要内容是记录基于ESP32的开发工作,包括介绍 ESP32 基础知识、开发环境搭建、基础外设使用、蓝牙、WiFi 、与微信小程序联动等知识,达到自己动手做一些智能硬件的目的。
开发过程中主要参考官方资料,包括官网、规格书、参考手册、编程指南、驱动包等。
本专栏适合对ESP32感兴趣,想要找一个简单入手教程的同学。
ESP32 基础知识(已完成)
开发环境搭建(已完成)
(2-1)开发环境搭建(基于Arduino)
(2-2)开发环境搭建(基于VS Code+PlatformIO)
(2-3)开发环境搭建(基于ESP-IDF软件)
基础外设使用(已完成)
(3-1)基础外设使用(GPIO)
(3-2)基础外设使用(USART)
蓝牙(已完成)
WiFi(已完成)
微信小程序(已完成)
使用本文档记录 ESP32 开发基于基于ESP-IDF的过程。
准备工作
硬件
- ESP32 开发板。我手上的开发板型号为(ESP32-WROOM-32E)
- USB-A 转 micro USB 线。
软件
安装 ESP-IDF 软件。
用于日常开发,可以完成从项目构建、编译、下载等多个步骤。如何安装参考Windows 平台工具链的标准设置。我安装的是这个版本
串口助手
用于查看 ESP32 通过串口输出的启动信息和调试数据。
要记得开发板与电脑连接的串口号,后面开发要用。比如通过数据线将开发板连接至电脑,并且电脑上安装好了串口芯片驱动(我这个开发板串口芯片为 CP2102),就可以在任务管理器中看到串口号了。
ESP-IDF 软件
上一章的 ESP-IDF 软件安装好之后有两个快捷方式,按照官方的说法,后续开发会使用第一个快捷方式,此快捷方式在 Windows 命令行的基础上,运行了export.bat
脚本以设置各环境变量(比如 PATH
,IDF_PATH
等)。
安装文件夹
ESP-IDF 安装好之后内容如下:frameworks
文件夹下就是 ESP-IDF 组件、文档、例程之类的。python_env
文件夹下是 ENV 控制台相关。tools
文件夹下是用到的一些工具。
使用 ESP-IDF 创建第一个工程
按照官方给出的示例,第一个教程是get_started
。用户文件夹路径如下。
复制示例工程至用户文件夹
首先要复制 ESP-IDF 安装文件夹下的例程到用户文件夹中,直接在例程目录开发也行,但为了不污染例程,所有的开发流程均在用户文件夹下进行,出了问题好有个对照。
运行ESP-IDF 5.1 CMD
,红框中的是当前路径,也就是软件的安装路径,我们需要切换到用户路径下("D:\ESP32\Project_File\001_get_started"
)。
使用 cd 命令切换即可。
然后使用 xcopy 命令复制 ESP-IDF 安装路径的例程,路径为"D:\esp32IDF\Espressif\frameworks\esp-idf-v5.1.1\examples\get-started\blink"
复制完成的工程目录如下。
连接设备
将开发板连接至电脑,串口号为 COM9。
配置工程
使用 cd 命令 进入工程目录中(D:\ESP32\Project_File\001_get_started\blink
)。
使用下列指令配置工程:
idf.py set-target esp32
idf.py menuconfig
打开新工程后,应首先使用第一条指令设置目标芯片为 ESP32。
输入第二条指令会打开配置工具。
目前工程没有什么要修改的,直接退出即可,工程按照默认配置进行。
编译工程
使用idf.py build
命令编译工程。
可以看到编译成功,生成了一些 bin 文件。
下载程序
使用idf.py -p PORT flash
命令就可以将 bin 文件下载至开发板,其中 PORT 要用串口号(COM9)替代。
查看串口输出
下载完程序后,打开串口 9,设置串口参数为 115200 8 n 1。
查看blink_example_main.c
文件内容,确认程序运行无误。
也可以使用idf.py -p COM9 monitor
指令来查看串口输出(此时要关闭串口助手,不能是打开 COM9 的状态)。