ESP32开发之初体验

引言:

又将近一个月快没有更新了,最近比较废柴,每天除了略微动一下工作进度,基本上都是在躺尸。但是每个月的照例更新还是要的,今天就主要来说说ESP32开发板的开发环境的配置,到点亮一盏LED小灯(也就是所谓的入门)这样一个过程。大家要是遇到什么问题也可以在留言区留言交流。

开发环境的安装

说明:博主为了成功安装配置环境,且获得最佳的编程体验,查阅了多种方式安装,已经摸爬滚打了一星期才找到一种比较方便舒适的方案。网上主要有几种方式:因为我们知道ESP32支持Lua编程,C编程(类C),以及Python编程。所以对应着有一部分人会采用Arduino(编程语言是类C)来开发,这种方式比较适合创客群体,国外比较多,他们往往有创意,但是没有系统的学过单片机,希望可以快速实现,不需要那么关注底层代码,这样的一类群体;还有就是采用Lua开发,这个本质上还是调用C函数模块;还有就是MicroPython开发,这种都是比较易于实现一些简单的功能,但是无法实现一些复杂的通讯方面的编程;所以最推荐的还是使用乐鑫官方推荐的ESP-IDF-TOOLS编译烧录工具,虽然官方没有明确推荐使用哪个编程软件,可以是Eclipse(这个是安信可推荐的),也可以使用VSCode,事实上我们可以从B站官方视频中看出官方的开发人员习惯性使用VSCode作为默认的编程工具。接下来长话短说,只要照着做,就是目前最不容易出问题,最快捷舒适的方式。

Git安装

说明:官网下载如果没有梯子的话会比较慢,可以从我分享的百度网盘链接下载。
链接: https://pan.baidu.com/s/10CxeeJ5Mivpq5dL6fXiURw
提取码: jvcx

操作说明:如下动图所示,除了安装路径可以选择其它盘(注意路径尽可能的短,且不要出现中文和空格,避免不必要的麻烦),还有默认编辑器可以选择你常用的,比如Notepad++或者VSCode都可以,其余全部选择默认进行安装即可。

Git安装.gif

Python安装

说明:官网下载如果没有梯子的话会比较慢,可以从我分享的百度网盘链接下载。
链接: https://pan.baidu.com/s/1lge_BKIiVxaMzWGEHPe26g
提取码: gnt9

操作说明:32位还是64位请选择不同的安装包,现在的电脑一般都是64位的,下面的动图演示用的是32位的,除了安装路径可以选择其它盘(注意路径尽可能的短,且不要出现中文和空格,避免不必要的麻烦),还有记得勾选添加路径那个选项,其余可以全部选择默认进行安装即可,具体如下图所示。

Python安装.gif

VSCode安装

说明:官网下载如果没有梯子的话会比较慢,可以从我分享的百度网盘链接下载。
链接: https://pan.baidu.com/s/1FgsFRl2om8Biz59lvTCtdA
提取码: 8ghf

操作说明:除了安装路径可以选择其它盘(注意路径尽可能的短,且不要出现中文和空格,避免不必要的麻烦),以及可以选择在桌面生成个图标,其余全部默认,具体如下图所示。

VSCode安装.gif

VSCode相关插件安装

1.打开Vscode
2.点击下图箭头处搜索标记为1、2、3的插件,并安装,不需要进行任何配置

VSCode插件安装.png

3.安装第四个插件,并进行初始化配置,初始化配置如下:

乐鑫插件配置.gif

4.上面那一张动图是我已经安装好了给大家作的演示,其中到了Configure ESP-IDF这一步建议选择直接下载(最好不要使用移动网络,移动网络会下载的非常慢,实在下载的慢的话,可以选择我下面提供的文件),如下图所示。

Configure-ESP-IDF.png

5.到了ESP-IDF Tools Configuration这个页面,同样建议选择直接下载安装,可以减少很多不必要的麻烦,系统可以帮你自动添加路径,不然你就得自己手动添加了,比较麻烦。如下图所示。
ESP-IDF-Tools.png

6.接下来如下图所示,如果你已经完成了上一步的下载,这些路径是系统帮你自动添加好的,点击箭头所指检查按钮,如果没有问题的话,如下面第二张图所示,如果有某些问题的话,可以根据错误信息进行相应的修改路径,或者安装某些文件来解决。
ESP-IDF-1.png
ESP-IDF-2.png

7.(补充说明)如果确实下载不懂第四步和第五步要求下载的文件,可以直接下载我下方提供的百度网盘链接,并把相应文件解压放到某个路径尽量短的不含中文和空格的目录下,然后按照我的那张乐鑫插件配置的动图填写你的相应路径来完成配置。
说明:其中包含esp-idf文件即第四步要求的文件和.expressif文件即第五步要求的文件
链接: https://pan.baidu.com/s/1VXdSW0USVnydiDIkHm37Yw
提取码: fc5n

创建第一个工程

前提说明:

请把你的ESP32 DEVKIT V1开发板插在电脑的USB口上。
接下来如下动图所示,包含几个过程:打开工程->系统会提示是否要配置compile_commands.json,点击是,如果没有弹出来就算了,就是.vscode文件夹的那些东西->点击选择当前COM口->点击构建工程->点击Flash烧录->点击串口监视。当然也可以直接点击火花那个按钮一键完成构建烧录监视三个操作。

构建烧录监视.gif

备注:

1.工程出现找不到头文件的报错,如何解决?
答:参见https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/C_CPP_CONFIGURATION.md 通常只需要关闭VSCode软件,再重新启动,系统会提示是否要配置copile_commands.json,点击是,头文件找不到的错误就会消失。我们可以从上面那个github链接中获知,要想找到头文件,首先我们先得把这个工程进行构建,然后这个错误才会消失。

吐槽:

乐鑫身为一家国内公司,不管是论坛还是官网主要感觉是面向海外的,它的官网产品的说明使用文档也不能说写的不好,相比于STC宏晶科技,虽然显得高大上洋气,STC就显得页面非常丑,但是非常便于找到自己想要的资料,一个Crtl+F轻轻松松可以找到任何自己想要的元器件手册和说明,当然STC也有自己的缺点,就是没事喜欢吹吹牛,产品却迟迟出不来,比如说32位的51单片机吹了好几年了,到现在样品都还没有出来。而乐鑫虽然界面洋气,但是找份资料异常困难,资料在多级目录里面,还得仔细辨别,而且大多数资料以英文优先,给产品推广以及普通用户使用造成了很大的困难,加之本身按理是应该在Linux环境下开发的,在Windows下开发就得想办法模拟linux环境,所以给编译环境的配置也造成了一定的困难。另一方面又由于乐鑫的wifi开发板使用的是一个比较小众的双核芯片xtensa,一些大的提供集成硬件开发环境的厂商比如说IAR,以及被ARM收购的Keil自然不会主动为xtensa集成相应的环境。只好通过整合多个工具链来实现编程,编译以及烧录和串口监视。