使用Arduino开发ESP32(01):开发环境搭建
为什么使用Arduino开发ESP32
简单!(还能为什么呢?) 相比《Arduino for esp8266》,这次的《Arduino core for the ESP32》是由乐鑫官方主导的,项目地址在这里:https://github.com/espressif/arduino-esp32
开发环境搭建
使用Arduino开发ESP32开发环境搭建方式和用Arduino开发ESP8266相似:
- 下载安装Arduino IDE:
- Arduino IDE中添加ESP32开发板数据: 安装完成后选择:文件>首选项>附加开发板管理器网址 中加入Arduino core for esp32的地址 https://dl.espressif.com/dl/package_esp32_index.json
- 完成网址添加后就可以在:工具>开发板>开发板管理器 中搜索并下载esp32开发板数据包。(此过程可能需要科学上网!)
如果安装困难请参考下面文章:
另外实际开发过程中Arduino IDE并不是很好用,可以使用VS Code替代:
程序下载测试
安装完开发板数据包后可以直接测试下,以输出Hello World为例,编写以下代码:
void setup() { Serial.begin(115200); Serial.println(""); } void loop() { Serial.println("Hello World"); delay(1000); }
上传到模块中就可以看到输出内容了: 这里用的电路模块原理图见下面说明: https://blog..net/Naisu_kun/article/details/84583785#_23
批量烧录固件到模块中
上面讲了如何编写上传程序,接下来讲讲如何量产。 相比《Arduino for esp8266》的量产烧录,这次的ESP32相对来说麻烦些。 仔细观察上面程序的上传过程(具体的字节数可能和上文程序有出入): 整个过程向ESP32模块中烧录了四块内容,这四块内容是什么?
- 第一块是boot_app0.bin,你可以在用户目录AppDataLocalArduino15packagesesp32hardwareesp321.0.0 oolspartitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它;
- 第二块是bootloader,你可以在用户目录AppDataLocalArduino15packagesesp32hardwareesp321.0.0 oolssdkin中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/bin 这里找到它,bootloader有很多个,分别对应不同的Flash芯片通讯接口模式和速度;
- 第三块是你的程序内容,可以在Arduino IDE中导出二进制文件,然后在项目文件夹中获得:
- 第四块是闪存区域划分信息,默认为default.bin,你可以在用户目录AppDataLocalArduino15packagesesp32hardwareesp321.0.0 oolspartitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它; 项目在每次编译或上传时会根据你的设置在用户文件夹临时目录生成临时的项目名称.ino.partitions.bin文件,你可以通过文件搜索找到它,当你在IDE中修改Partition Scheme设置后,就不能用默认的default.bin了,需要找到对应文件;
有了全部的四个文件后就可以进行烧录了。 烧录工具这里用乐鑫官方的:https://www.espressif.com/zh-hans/support/download/other-tools 软件打开不是很快,耐心等待。打开后选择ESP32 DownloadTool,然后再烧录软件界面选择对应的bin文件,填写对应地址,选择Flash速度、接口和大小,最后点击下方START按钮即可烧录。
总结
到此为止所有用arduino开发esp32的开发环境就建立完成了,这个相比用官方的IDF开发环境搭建来说就简单不少,比较适合新手体验esp32。