2、开发环境搭建:工欲善其事,必先利其器
做嵌入式开发,第一件事就是搭环境。这事看着简单,但坑不少。我见过太多新手卡在驱动安装上,一卡就是半天。今天咱们就把这事捋清楚。
说白了,ESP32的开发环境就两条路:Arduino IDE 和 VS Code + PlatformIO。我个人习惯两个都装。Arduino IDE 适合快速验证,PlatformIO 适合正经项目。你想想看,一个项目做大了,代码文件几十个,Arduino IDE 那编辑器确实有点吃力。
2.1 Arduino IDE 安装与 ESP32 板级支持包配置
先讲 Arduino IDE。这东西轻量,上手快。去官网下载最新版就行,别用商店版,那个更新慢。
安装步骤
- 下载安装包,一路默认安装
- 打开 Arduino IDE,进入 文件 → 首选项
- 在「附加开发板管理器网址」里填入 ESP32 的 JSON 地址
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 进入 工具 → 开发板 → 开发板管理器
- 搜索 "ESP32",找到 Espressif 官方包,点击安装
验证安装
装完后,在 工具 → 开发板 里应该能看到一大串 ESP32 型号。选一个常用的,比如 "ESP32 Dev Module"。然后打开示例代码:文件 → 示例 → ESP32 → Blink。编译一下,不报错就说明环境成了。
2.2 VS Code + PlatformIO 环境搭建
说实话,我现在大部分项目都用 PlatformIO。为什么?因为它集成了库管理、编译、烧录、调试,一条龙。而且 VS Code 的编辑器体验比 Arduino IDE 好太多。
安装步骤
- 先装 VS Code,这个不用多说
- 打开 VS Code,点左侧扩展图标,搜索 "PlatformIO IDE"
- 点击安装,等它自动下载核心组件
这里有个坑:PlatformIO 安装时会自动装 Python 和一堆依赖。如果电脑上 Python 环境乱,可能会报错。我遇到过好几次,最后把系统 Python 卸了重装才解决。
创建第一个项目
- 点击 PlatformIO 主页的 "New Project"
- 项目名随便起,比如 "ESP32_Test"
- Board 选 "Espressif ESP32 Dev Module"
- Framework 选 "Arduino"
- Location 选默认就行
创建完后,项目结构是这样的:
ESP32_Test/
├── .pio/ # 编译缓存,不用管
├── .vscode/ # VS Code 配置
├── include/ # 头文件
├── lib/ # 第三方库
├── src/ # 源代码
│ └── main.cpp
├── platformio.ini # 项目配置文件
└── test/ # 测试文件
打开 platformio.ini,你会看到类似这样的内容:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
嗯,这里要注意 monitor_speed 这个参数。串口波特率默认 115200,和 Arduino IDE 保持一致。如果你改了固件里的波特率,这里也要同步改。
2.3 驱动安装与串口调试
环境搭好了,板子插上电脑,结果发现没识别?别急,八成是驱动问题。
ESP32 开发板用的串口芯片主要有两种:CP2102 和 CH340。怎么区分?看板子上的芯片型号。CP2102 是 SILICON LABS 的,CH340 是南京沁恒的。
| 芯片型号 | 驱动名称 | 下载方式 |
|---|---|---|
| CP2102 | CP210x USB to UART Bridge | SILICON LABS 官网 |
| CH340 | CH340/CH341 USB to UART | 沁恒官网 |
| FT232 | FTDI VCP Driver | FTDI 官网 |
验证驱动
插上板子,打开设备管理器。在「端口 (COM 和 LPT)」下面应该能看到一个 COM 口。比如 "CP2102 USB to UART Bridge Controller (COM3)"。记住这个 COM 号,后面烧录要用。
如果没出现,或者显示黄色感叹号,那就是驱动没装好。右键更新驱动,手动选择你下载的驱动文件夹。
串口调试
驱动装好了,怎么知道板子在工作?写个简单的串口打印程序:
void setup() {
Serial.begin(115200);
Serial.println("ESP32 启动成功!");
}
void loop() {
Serial.println("系统运行中...");
delay(1000);
}
烧录进去后,打开串口监视器。Arduino IDE 里是右上角的放大镜图标,PlatformIO 里是底部栏的插头图标。波特率选 115200,你应该能看到板子每秒打印一次 "系统运行中..."。
2.4 环境验证:跑个 Blink 试试
最后,咱们用经典的 Blink 程序验证整个环境。这个程序让板载 LED 闪烁,是嵌入式界的 "Hello World"。
void setup() {
pinMode(2, OUTPUT); // ESP32 板载 LED 通常接 GPIO2
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
烧录成功后,你会看到板子上一个小灯一闪一闪的。嗯,到这步,你的开发环境就算彻底搭好了。
总结一下:
- Arduino IDE 适合快速验证,PlatformIO 适合正经项目
- 驱动装不上?先看芯片型号,再去官网下驱动
- 串口没输出?检查波特率、COM 口、USB 线
- Blink 跑起来,环境就算成了
下一章咱们开始写真正的代码——让 ESP32 连上 WiFi,读取电能数据。到时候你就知道,今天搭环境花的功夫,全值了。