1. ESP32 开发环境搭建:工欲善其事,必先利其器
各位同学,咱们正式开始。做嵌入式开发,第一件事就是把“家伙事儿”备齐。Arduino IDE 虽然看起来简单,但背后要配置的东西其实不少。我刚开始带项目时,就见过有人卡在板级支持包下载这一步,折腾了一下午。咱们今天把这步走稳了,后面写代码才痛快。
1.1 为什么选 Arduino IDE?
说实话,ESP32 的开发方式有好几种:ESP-IDF(乐鑫官方框架)、PlatformIO、MicroPython……但我个人习惯用 Arduino IDE 入门。原因很简单——门槛低,生态好。
- 上手快:装好就能写,不用折腾 Makefile 和 CMake。
- 库多:你要的传感器驱动、显示驱动,社区基本都封装好了。
- 调试方便:串口监视器一键打开,看日志、调参数都很顺手。
当然,如果你以后要做量产产品,ESP-IDF 是更优的选择。但咱们课程是实战驱动,先把原型跑起来再说。
1.2 安装 Arduino IDE
去官网下载最新版(目前是 2.x 系列)。我建议你下载 Windows 版 或 macOS 版,Linux 用户用包管理器装也行。
- 打开
arduino.cc/en/software,选对应系统版本下载。 - 双击安装包,一路默认选项即可。
- 安装完成后,打开 IDE,界面应该是英文的。别慌,后面可以改中文。
1.3 配置 ESP32 板级支持包
Arduino IDE 默认不支持 ESP32,需要手动添加板级支持包(Board Support Package,简称 BSP)。说白了,就是告诉 IDE:“我要用 ESP32 这颗芯片,你把它的编译工具链和库给我准备好。”
操作步骤如下:
- 打开 Arduino IDE,点击 File → Preferences。
- 在 Additional Boards Manager URLs 输入框里,粘贴以下地址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 点击 OK 保存。
- 然后点击 Tools → Board → Boards Manager。
- 在搜索框输入
ESP32,找到 ESP32 by Espressif Systems,点击 Install。
安装过程大概 5-10 分钟,取决于你的网速。安装完成后,你会看到 INSTALLED 的提示。
1.4 安装 USB 转串口驱动
ESP32 开发板通过 USB 连接到电脑,但电脑需要识别它的串口芯片。常见的串口芯片有两种:
| 芯片型号 | 常见开发板 | 驱动下载 |
|---|---|---|
| CP2102 | ESP32 DevKit V1(很多淘宝板) | Silicon Labs 官网 |
| CH340 | NodeMCU-32S、便宜板子 | WCH 官网 |
| FT232 | 一些高端开发板 | FTDI 官网 |
怎么判断你的板子用哪种?看板子上的 USB 接口附近,一般会印着芯片型号。或者插上电脑,打开设备管理器,看“端口 (COM 和 LPT)”下面显示什么。
1.5 选择开发板与测试
驱动装好后,把 ESP32 开发板插到电脑上。打开 Arduino IDE,按以下步骤操作:
- 点击 Tools → Board → ESP32 Arduino,选择你的板型。大部分通用板选 ESP32 Dev Module 就行。
- 点击 Tools → Port,选择你板子对应的 COM 口(Windows)或 /dev/cu.usbserial-xxx(macOS)。
- 点击 Tools → Upload Speed,建议选 115200。速度太快容易掉线。
然后我们来写一个最简单的测试程序——点亮板载 LED:
void setup() {
pinMode(2, OUTPUT); // 大部分 ESP32 开发板的板载 LED 接在 GPIO2
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
点击 Upload 按钮(右箭头),等待编译和上传。如果一切顺利,你会看到板子上的 LED 开始一秒一闪。
A fatal error occurred: Failed to connect to ESP32,多半是因为你没按住 BOOT 键。上传前按住 BOOT 键不放,点上传,等出现 Connecting... 时松开。有些新板子支持自动复位,就不用按了。
1.6 本章知识体系总览
下面这张图把咱们刚才讲的内容串起来了。你对照着看,心里就有谱了。
1.7 避坑指南
最后,我把这些年踩过的坑总结一下,你遇到了直接对照着查:
- 下载 BSP 超时:我曾经在公司内网配环境,死活下不下来。后来发现是防火墙把 raw.githubusercontent.com 给拦了。解决办法:用手机热点,或者手动下载离线包放到
%LOCALAPPDATA%/Arduino15/staging/packages目录下。 - 上传时一直 Connecting:按住开发板上的 BOOT 键不放,直到出现
Connecting...字样再松手。有些板子需要按 EN 键复位一下。 - 串口监视器乱码:检查波特率是否设置正确。ESP32 默认串口输出波特率是 115200,别选成 9600。
- 板子插上没反应:换一根数据线。很多 USB 线只能充电,不能传数据。我抽屉里至少有五根这样的“废线”。