记录一下记录一下,写给需要的好兄弟看🐛🐛🐛
以下所有资源邮箱问我要就行。
硬件
需要一个esp32板子。
IDE
使用Arduino来对esp32进行开发。直接去arduino中文社区下就行。Arduino IDE下载。
我使用的是这个版本的,现在估计已经更新了,不过影响不大。
双击下下的来的这个安装即可。
sketchbook
安装好之后,打开Arduino,在文件/首选项里,可以看到有个 项目文件夹位置,这就是sketchbook,一般刚安装都会在C盘,可以在这里更改之后重启Arduino,就会在对应的路径下生成文件夹了。最好修改到非C盘下的位置。
创建esp32目录
在上方修改过的sketchbook位置中,可以看到有一个libraries的文件夹。
在它同级目录下新建一个hardware文件夹,hardware里新建espressif文件夹,espressif里新建esp32文件夹,最后的层级结构如下:
下载esp32库
很多途径可以下。
- 这是github路径。https://github.com/espressif/arduino-esp32。直接打包下载,如果网速足够的话。
- 也可以在码云里导入这个仓库,导入之后在码云里下就速度很快了。
我已经导入了,公开的应该能用git直接clone,git clone https://gitee.com/yuanyiguang/arduino-esp32.git ,应该能🤐。
- 实在嫌麻烦,3027025220@qq.com,直接邮箱问我要,啥啥直接打包发🙃。
下载好之后,把里面的文件全都复制到上一步新建的 sketchbook目录/hardware/espressif/esp32 目录下。
现在打开Arduino,就可以在 工具/开发板 下看到一个新的esp32页签。选择其中一个开发板,Arduino就会切换底层的编译链,在这之后,点击验证和上传,就都会使用esp32的编译链来编译构建烧录程序了。
选择 esp32 dev module 之后,工具栏就会变成这样,可以选择对应的配置。一开始验证可以不用修改。
这时候可以在 文件/实例/ESP32 中选择一个自带的例程来测试,例如获取ID。
这个时候在打开的工程里点击验证或上传肯定会报错:
因为下载了ESP32的库之后,还需要下载相关的编译链才能够正常的编译连接烧录。
构建工具
esp32的构建工具都放在库文件夹中的 tools 文件夹中,即 sketchbook目录/hardware/espressif/esp32/tools 目录下。
打开可以看到里面有个get.exe,这是官方给出的获取构建工具的途径,没有这些工具就没法正常构建工程。
网上很多教程都是直接双击这个get.exe然后等待完成。但是实际上双击之后,大概率等不到结果,或者提示失败,网络问题、python环境等等问题都有可能。
那么实际上打开这个get.py文件可以发现其实就是根据平台选择不同的json索引去对应的url下载。
其实就在和 tools 同级的package文件夹下。
打开可以看到,要下载的工具根据py文件中指出的平台分成了不同的索引,所以实际上双击的 get.exe 就是去github上对应的仓库下载去了。
github,懂得都懂🙃。
实际上要下载的工具就三个:
esptool
mkspiffs-0.2.3-arduino-esp32-win32
xtensa-esp32-elf
最后下载成功之后,tools文件夹应该是这样的。就增加了这三个文件夹。
下载方式跟上面下esp32仓库的时候一样:
- 直接复制json文件中的链接去github上下,虽然还是慢,至少能看到进度。
- 复制到gitee仓库再下。
- 邮箱问我要。
那么把这三个工具都下载完,并放入 tools 文件夹之后,重启Arduino,这个时候再验证之前打开的获取ID的工程,就能够正常的编译链接了。
CP2102
没想到吧还没完💀。我买的这个ESP32是并不搭载较为普遍使用的CH340芯片的,而是使用的CP2102芯片。所以当你用USB接上ESP32的时候,会发现设备管理器的 通用串行总线控制器 里,多了一个黄色感叹号的未知设备,就在下图这个位置,我装了所以没有,没装CP2102驱动就会有。
没有这个驱动,就无法通过串口下载烧录程序了。当然安装也不难,网上一搜一大堆。装好之后再插上,就会识别到CP2102的端口了。
接下来,在Arduino的 工具/端口 中,选择对应的COM口,点击上传,就可以正常的烧录进ESP32的flash中了。
并且在烧录完成之后,系统会自动的重启,程序会自动从头运行。
出现上图画面,直接打开串口助手,就可以看到打印了。
切记别在烧录的时候打开串口,会爆炸(不是)。
总结
至此基于arduino的esp32环境搭建就完成了,之后的开发可以和正常的arduino板子开发一样,去库管理器中下载库,然后引入头文件就能够直接使用了。
不过毕竟是arduino,上层简单是简单,但是在IDE里除了个主文件啥也看不到,对我这种喜欢 go to define 的人很不友好🙃。
顺便,以上包括esp32库、三个构建工具以及CP2102驱动,我都打包好了,但是我不会共享baiduyun,传一个资源又没必要,想要直接邮箱问我要就行。