嵌入式物联网实战开发笔记-乐鑫ESP32开发环境ESP-IDF搭建【doc.yotill.com】

乐鑫ESP32入门到精通项目开发参考百例下载:

链接:百度网盘 请输入提取码**
提取码:4e33**

==========================================

3.1 ESP-IDF 简介
ESP-IDF(Espressif IoT Development Framework)是乐鑫(Espressif Systems)为 ESP 系列芯片开发的物联网开发框架。它支持 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC,基于 C/C++语言提供了一个自给自足的 SDK,方便用户在这些平台上开发通用应用程序。ESP-IDF 具有免费开源、专业稳定、功能丰富和易于使用等特点。它支持 Eclipse 和 VSCode 等 IDE,集成了大量的软件组件,包括 RTOS、外设驱动程序、网络栈、多种协议实现技术以及常见应用程序的使用助手。此外,ESP-IDF 还提供了详尽的软件组件使用和设计文档,包含 100 多个示例,有助于开发人员充分理解 ESP-IDF 功能,并从中挑选最适合构建其应用程序的模块。
下面我们来看一下 Windows 系统下 ESP-IDF 的安装流程。
3.2 安装 ESP-IDF 物联网开发框架
3.2.1 下载 ESP-IDF 物联网开发框架
打开乐鑫官方 Windows 安装下载中心下载 ESP32-IDF 安装包,找到 5.1.2 离线安装包。ESP32 的开源物联网开发框架安装包如下图所示:


图 3.2.1.1 ESP32-IDF 安装包(部分截图)
上图中 ESP32-IDF v5.1.2 - Offine Installer,5.1.2 是当前最新版本,如果没有 ESP32-IDF v5.1.2 - Offine Installer,说明官方有更新最新版本。我们建议使用离线 ESP32-IDF 安装包,因为使用在线 ESP32-IDF 安装包搭建环境需要网络的支持,所以我们不能保证网络下载过程中丢失某些文件,从而导致搭建环境失败。
下载成功后,在安装程序上单击右键选择<以管理员身份运行>运行 esp-idf-tools-setup-

图 3.2.1.2 以管理员身份运行 IDF 安装文件打开安装程序后选择简体中文安装,如下图所示:
图 3.2.1.3 选择简体中文
往下走就是许可协议,勾选"我同意此协议",单击下一步,如下图所示:

图 3.2.1.4 勾选"我同意此协议"
如果是第一次安装,会出现如下图提示。

安装程序会检查你当前系统有没有打开"长路径支持",因为 GNU 编译器产生的编译文件会有非常深的目录结构,如果不支持长路径,编译可能出现文件不存在,目录不存在等奇怪的错误。这里单击应用修复按钮,可以修复这个问题。
在弹出的确认对话框中,选择是,开始修复。

图 3.2.1.6 在注册表中启用长路径如果修复不成功,一般情况是安装软件打开时没有使用管理员权限打开,可以手动修改注册表来支持长路径:打开注册表 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPat hsEnabled 设置为 1。如下图所示:
修复完成之后,点击下一步。
接下来一步,开始选择安装目录,安装程序默认的安装位置为 C:\Espressif,但这里我是安装在 D 盘,如果全部源码编译后可能产生几十 G 的大小占用,我们在 D 盘下创建 ESP32\Espre ssif 文件夹来保存 ESP32-IDF 库安装过程中生成的文件,如下图所示:

图 3.2.1.8 设置安装路径
这个安装路径非常重要,因为 VS Code 软件的 IDF 插件需要此路径来获取相关文件,所以开发者务必牢记该路径。
下一步,确认安装组件,这里全部打勾,默认完全安装时 ESP32C2 是不打勾的(如下图所示),看需要自己选择。然后单击下一步。

图 3.2.1.9 选择安装组件我们选择全部安装。点击下一步再次确认安装目录信息,然后单击安装。安装完成,三个全部勾选,1、2 用于测试环境安装是否成功,3 是将 IDF 工具链加入杀毒工具排除项,以加快编译速度,如下图所示:
3.2.2 验证 ESP-IDF 库
ESP-IDF 安装完成之后,系统自动打开两个窗口,它们分别为 PowerShell 命令行和传统的 cmd 命令行窗口,分别如下图所示:


从上图中可以看到,当出现红色方框内的内容时,可以初步证明安装是没有问题的,同时这两个窗口都提示"idf.py build"字符串,它是 ESP32-IDF 库提供的编译代码命令。到此,我们如何验证 ESP32-IDF 库安装是否成功呢?这里我们使用 ESP32-IDF 库提供的实例来验证安装是否成功。首先我们打开 D:\ESP32\Espressif\frameworks\esp-idf-v5.1.2\examples\get-started 路径,在此路径下包含三个 ESP32-S3 例程,如下图所示:
这里我们使用第二个例程(hello_world)来验证 ESP32-IDF 库是否安装成功,首先拷贝这里例程的路径,然后在 PowerShell 或 cmd 命令行窗口输入命令"cd D:\ESP32\Espressif\framew orks\esp-idf-v5.1.2\examples\get-started\hello_world",最后按回车进入此例程,如下图①所示:
此时在此窗口输入命令"idf.py build"(上图②)编译此工程,编译结果如下所示:
窗口提示命令"idf.py -p (port) flash",证明 ESP32-IDF 库安装完成。开发者也可以使用其他命令来验证,如命令(idf.py Menuconfig 进入菜单配置、idf.py set-target xxx 选择芯片或者是 idf.py monitor 开启监控等)。
3.2.3 添加 ESP32-IDF 的环境变量
按照此过程(此电脑→属性→高级系统→环境变量)打开,如下图所示:

图 3.2.3.1 添加环境变量
如果 ESP32-IDF 库安装成功,则系统自动为我们添加上图中的 IDF_TOOLS_PATH 和
IDF_PATH 环境变量,否则手动添加这两个环境变量。
3.3 搭建开发环境
3.3.1 下载与安装 VSCode
鉴于我们使用的是 VSCode IDE 搭配官方 IDF 的方式进行开发,我们接下来便介绍一下
VSCode 的安装过程。
首先,进入 VSCode 官方下载页面,根据系统需求选择下载安装包下图是 VSCode

图 3.3.1.1 VSCode 官网下载界面
这里,我们选择 Windows 版本进行下载。因为,我们是在 Windows 环境下进行的开发,故在此介绍 Windows 版本的下载步骤。不出意外,其它版本的下载方式应该也是一样的。这里我们不多废话,直接点击下载。
下载完后,我们按照如下所示步骤进行即可:


在该步骤中,路径如需更改的,请您点击"浏览"进行更改,但请注意:修改的路径最好不要出现中文,以避免在往后的开发过程中遇到问题而导致重装软件,这对您来说就得不偿失了。
如需修改,同样点击"浏览"进行设置,无需修改的话直接点击"下一步"即可。
这一步骤同样是有需求的都勾上,我们建议是都勾上。


详细的个性化设置我们便不多介绍了,在这里我们介绍如何设置中文界面。
我们在上图 3.4.8 中找到最左边一栏的"扩展"在搜索框中输入"Chinese"即可出现红色框内的扩展应用,然后我们点击安装并重启软件即可。
至此,VSCode 的安装与配置便算是大功告成了。感谢您能耐心看到此处。

3.3.2 安装 Espressif IDF 插件
打开VS Code软件,然后按下快捷键"Ctrl+Shift+X"进入应用商城,在搜索栏下搜索Espressif
IDF 插件,点击安装即可:

至此 Espressif IDF 插件就算安装好了,接下来我们来看看插件的配置。
3.3.3 配置 Espressif IDF
快捷键 ctrl+shift+p 呼出命令栏,在弹如下提示框后,搜索"配置 ESP 插件",或者在使用快捷键 ctrl+shift+p 呼出命令栏后,在搜索框输入配置命令:Configure ESP-IDF。



到这一步需要注意的两点:
①:这一项有两个选项,我们选择"Espressif",不选择"Github"。因为,国内用户安装 "Github"会非常的慢,有时甚至会下载失败,所以我们选择"Espressif"选项即可。经过之前的配置选择该选项也会快很多。
②:这一项也很关键,这是我们编译工具目录,路径选择不对安装也会失败。
然后我们点击右下角"install"进行安装:

这里我们选择下载"ESP-IDF Tools":


安装完成后会出现如下提示:


问题来了?我们知道 ESP32-S3 可以使用串口下载,那么它的串口波特率是多少呢?这里我们可在上图扩展设置中设置串口波特率,如下图所示:
图 3.6.12 串口波特率设置
安装 Espressif IDF 插件之后,按下快捷键"Ctrl+,"进入设置界面,在此界面下将设置以 json 文件打开,如下所示:

将设置以 JSON 方式打开,上面的部分是我们自己创建的一些设置,下面是 Espressif IDF 插件根据 ESP 环境变量自动生成的一些配置,一般不需要更改,如下代码所示:
{
/* 上面的部分是我自己创建的一些设置 */
"editor.insertSpaces": false, /* 自动插入空格禁用*/
"editor.detectIndentation": false, /* 启用时根据文件内容进行重写*/
"editor.renderControlCharacters": true, /* 是否显示控制字符:启用*/
"editor.renderWhitespace": "all", /* 显示4个空格是.... */
"editor.tabSize": 4, /* tab设置为4个空格*/
"editor.fontSize": 18, /* 代码字体大小*/
"editor.fontFamily": "Monaco, 'Courier New', monospace", /* 代码字体*/ "update.mode": "manual", /* 设置不自动更新*/
}
3.4 调试相关工具介绍
经过前面的配置,我们已经完成了 VSCode 软件下开发 ESP32-S3 的环境搭建。下面我们重点来讲解 VS Code 软件提供用户调试相关的工具有哪些,如下所示:

图 3.4.1 调试相关工具
1,选择串口(插头):即连接开发板的下载串口号,VS 会列出当前连接电脑的所有串口让你选择,这个会记录,再新打开 VSCode 不用重新选择,开发过程中尽量不要更换 USB 线的电脑插口,否则串口号会变。
2,选择目标芯片:对应 idf 命令 idf.py set-target xxxx。即你当前这个工程是要下载到什么芯片上面,如 ESP32 S2,S3,C2,C3 等等,工程要与芯片相匹配,这个选择是写入当前工程配置的,一般不用更改,工程下配置文件基本已经选择好的。
3,选择当前工程目录(文件夹):也不用修改,一般打开工程时会默认操作都在这个工程目录下
4,工程配置菜单(齿轮):对应 idf 命令 idf.py menuconifg,用来配置当前工程的一些设置,配置项非常多,建议使用到再修改。一般代码工程都是配置好的,且不用修改
5,清除工程(垃圾桶):清除工程编译文件,一般用于压缩拷贝工程文件时用到,清除后工程目录占用空间会占用非常小,KB 级,编译后为百 MB 级,还有一些编译过程中奇奇怪怪的问题也可以先清除编译后再编译
6,编译工程(圆柱体):编译当前工程,只是编译,没有下载功能
7,选择下载模式(五角星):一般都是选择串口 UART 方式下载
8,下载(闪电):下载编译好的固件到设备芯片上,这里只是下载,没有编译功能,修改代码后要先编译再点这个下载,所做的修改才有效。
9,串口监控(小电视):打开与设备连接的串口,打印设备串口信息
10,编译/下载/监控(一团火):最常用的一个,它将编译下载和打开串口监控做在了一起,点一次全部搞定
11,打开命令行:打开命令行窗口,且会定位在当前项目路径下,可以执行 idf 的一些命令
12,执行自定义任务:不使用
13,工程的错误与警告提示

相关推荐
南城花随雪。7 分钟前
单片机:实现驱动超声波(附带源码)
单片机·嵌入式硬件
车轮滚滚__23 分钟前
uniapp对接unipush 1.0 ios/android
笔记
云边有个稻草人3 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
中科岩创3 小时前
榆能横山煤电厂及周边建筑物爆破振动和位移自动化监测
物联网
yutian06069 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil
冷眼看人间恩怨11 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
析木不会编程12 小时前
【小白51单片机专用教程】protues仿真独立按键控制LED
单片机·嵌入式硬件·51单片机
光路科技15 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
枯无穷肉15 小时前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
不过四级不改名67716 小时前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件