3、开发环境搭建:Arduino IDE / PlatformIO 安装、ESP32 板级支持包配置、串口驱动安装与测试
好,咱们正式开始动手了。做嵌入式开发,第一件事就是把“家伙事儿”备齐。说白了,就是装好IDE、配好编译器、让电脑能跟板子说话。
我个人习惯用两套环境:Arduino IDE 和 PlatformIO。前者适合快速验证、写小demo;后者适合正经做项目、管理依赖。你想想看,一个项目里可能用到十几个库,PlatformIO 一键搞定,省心不少。
核心要点:无论选哪个,最终目标都是让 ESP32 能编译、能烧录、能打印日志。别贪多,先把这条路走通。
3.1 Arduino IDE 安装与配置
Arduino IDE 的安装没什么难度,去官网下载对应系统的版本就行。我记得最早用 1.x 版本时,界面确实简陋,但胜在稳定。现在 2.x 版本有了代码补全和串口监视器增强,体验好了不少。
安装完成后,第一件事不是写代码,而是添加 ESP32 的板级支持包。为什么?因为 Arduino IDE 默认只支持自家的板子,ESP32 需要额外配置。
添加 ESP32 板级支持包
- 打开 Arduino IDE,进入 文件 → 首选项
- 在“附加开发板管理器网址”中填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 点击 工具 → 开发板 → 开发板管理器
- 搜索
esp32,找到由 Espressif Systems 提供的版本,点击安装
注意:安装过程需要下载约 200MB 的编译工具链。网速不好的话,可能会卡住。我曾经在客户现场用手机热点下载,等了快半小时。建议提前准备好网络环境。
安装完成后,在 工具 → 开发板 下就能看到 ESP32 系列的板子了。选一个跟你手头硬件匹配的,比如 ESP32 Dev Module 或 NodeMCU-32S。
3.2 PlatformIO 安装与配置
如果你打算认真做项目,我强烈推荐 PlatformIO。它本质上是 VS Code 的一个插件,但功能比 Arduino IDE 强太多了。
安装步骤很简单:
- 先装好 Visual Studio Code
- 在扩展商店搜索 PlatformIO IDE,点击安装
- 重启 VS Code 后,左侧会出现一个小蚂蚁图标
嗯,这里要注意:第一次启动 PlatformIO 时,它会自动下载核心组件和 Python 环境。这个过程比较慢,别急,让它跑完。
创建 ESP32 项目
点击 PlatformIO 主页的 New Project,填写项目名称,在 Board 中搜索 esp32,选一个你手头的板子。Framework 选 Arduino——这样你就能用 Arduino 的语法写代码,同时享受 PlatformIO 的工程管理能力。
项目创建后,会自动生成 platformio.ini 配置文件。我习惯在里面加上串口波特率设置:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
这个 monitor_speed 一定要跟代码里 Serial.begin() 的参数一致。不然你看到的全是乱码。我在项目中吃过这个亏,排查了半天才发现是波特率没对上。
3.3 串口驱动安装
把 ESP32 用 USB 线连上电脑,正常情况下系统会识别出一个串口设备。但如果你用的是某些便宜的开发板,可能会遇到驱动问题。
ESP32 常用的 USB 转串口芯片有两种:
| 芯片型号 | 常见于 | 驱动下载 |
|---|---|---|
| CP2102 | 官方 ESP32 DevKitC | Silicon Labs 官网 |
| CH340 | 国产兼容板 | WCH 官网 |
我个人建议直接装一个 驱动精灵 或 Zadig,能自动识别并安装。当然,如果你喜欢手动,去芯片厂商官网下载对应系统的驱动也行。
小技巧:在 Windows 上,插上板子后打开设备管理器,看“端口 (COM 和 LPT)”下面有没有出现新设备。如果出现黄色感叹号,就是驱动没装好。Mac 和 Linux 用户一般不用操心驱动,系统自带。
3.4 串口通信测试
环境搭好了,咱们写个最简单的程序验证一下。打开 Arduino IDE 或 PlatformIO,输入以下代码:
void setup() {
Serial.begin(115200);
Serial.println("Hello from ESP32!");
Serial.println("系统启动成功");
}
void loop() {
Serial.print("运行时间: ");
Serial.print(millis() / 1000);
Serial.println(" 秒");
delay(1000);
}
这段代码做了三件事:
- 初始化串口,波特率 115200
- 启动时打印一条欢迎信息
- 每秒打印一次系统运行时间
编译并烧录到 ESP32 后,打开串口监视器(Arduino IDE 右上角放大镜图标,或 PlatformIO 的 Serial Monitor 按钮)。如果一切正常,你应该能看到不断滚动的打印信息。
常见问题:如果串口监视器里什么也没有,先检查端口是否选对。在 Arduino IDE 里,工具 → 端口 下选择正确的 COM 口。PlatformIO 会自动识别,但偶尔也需要手动在 platformio.ini 里指定 upload_port。
我曾经遇到过一个奇葩问题:代码能烧录,但串口就是不打印。折腾了半天,发现是 USB 线的问题——那根线只能充电,不能传数据。所以,如果你也遇到类似情况,先换根数据线试试。
3.5 知识体系总览
下面这张图帮你理清整个开发环境搭建的逻辑:
你看,整个流程其实就三条线:选一个 IDE、装好驱动、跑通串口。这三件事做完,你的开发环境就算搭好了。
我的建议:初学者先用 Arduino IDE 上手,等熟悉了再切换到 PlatformIO。别一上来就搞复杂了,先把“Hello World”跑出来,信心就有了。
好了,环境搭好了,下一件事就是写真正的传感器代码了。不过在那之前,记得把串口测试跑通——这是你调试所有后续代码的“眼睛”。
公众号:蓝海资料掘金营,微信deep3321