2、开发环境搭建:工欲善其事,必先利其器

做嵌入式开发,第一件事就是搭环境。这事看着简单,但坑不少。我见过太多新手卡在驱动安装上,一卡就是半天。今天咱们就把这事捋清楚。

说白了,ESP32的开发环境就两条路:Arduino IDEVS Code + PlatformIO。我个人习惯两个都装。Arduino IDE 适合快速验证,PlatformIO 适合正经项目。你想想看,一个项目做大了,代码文件几十个,Arduino IDE 那编辑器确实有点吃力。

2.1 Arduino IDE 安装与 ESP32 板级支持包配置

先讲 Arduino IDE。这东西轻量,上手快。去官网下载最新版就行,别用商店版,那个更新慢。

小提示:我建议下载 2.x 版本。1.x 虽然经典,但 2.x 的自动补全和串口监视器好用太多了。

安装步骤

  1. 下载安装包,一路默认安装
  2. 打开 Arduino IDE,进入 文件 → 首选项
  3. 在「附加开发板管理器网址」里填入 ESP32 的 JSON 地址
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  1. 进入 工具 → 开发板 → 开发板管理器
  2. 搜索 "ESP32",找到 Espressif 官方包,点击安装
注意:这个包大概 200MB,下载速度看网络。我曾经在公司用内网下,等了半小时没动静。后来换了手机热点才搞定。如果卡住了,试试科学上网或者换个时间段。

验证安装

装完后,在 工具 → 开发板 里应该能看到一大串 ESP32 型号。选一个常用的,比如 "ESP32 Dev Module"。然后打开示例代码:文件 → 示例 → ESP32 → Blink。编译一下,不报错就说明环境成了。

2.2 VS Code + PlatformIO 环境搭建

说实话,我现在大部分项目都用 PlatformIO。为什么?因为它集成了库管理、编译、烧录、调试,一条龙。而且 VS Code 的编辑器体验比 Arduino IDE 好太多。

安装步骤

  1. 先装 VS Code,这个不用多说
  2. 打开 VS Code,点左侧扩展图标,搜索 "PlatformIO IDE"
  3. 点击安装,等它自动下载核心组件

这里有个坑:PlatformIO 安装时会自动装 Python 和一堆依赖。如果电脑上 Python 环境乱,可能会报错。我遇到过好几次,最后把系统 Python 卸了重装才解决。

创建第一个项目

  1. 点击 PlatformIO 主页的 "New Project"
  2. 项目名随便起,比如 "ESP32_Test"
  3. Board 选 "Espressif ESP32 Dev Module"
  4. Framework 选 "Arduino"
  5. 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 开发板用的串口芯片主要有两种:CP2102CH340。怎么区分?看板子上的芯片型号。CP2102 是 SILICON LABS 的,CH340 是南京沁恒的。

芯片型号 驱动名称 下载方式
CP2102 CP210x USB to UART Bridge SILICON LABS 官网
CH340 CH340/CH341 USB to UART 沁恒官网
FT232 FTDI VCP Driver FTDI 官网
我的经验:CH340 在 Windows 10/11 上经常自动装不上。这时候去沁恒官网下个最新版,手动安装。别用驱动精灵那些,容易装错。

验证驱动

插上板子,打开设备管理器。在「端口 (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,你应该能看到板子每秒打印一次 "系统运行中..."。

常见问题:串口监视器打开后,如果显示乱码,检查波特率是否匹配。如果没显示任何内容,检查 COM 口是否选对。我曾经有一次折腾了半天,结果是 USB 线坏了——那根线只能充电,不能传数据。

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,读取电能数据。到时候你就知道,今天搭环境花的功夫,全值了。