1. ESP32 开发环境搭建:工欲善其事,必先利其器
各位同学,咱们正式开始第一课。说实话,做嵌入式开发这么多年,我见过太多人卡在环境搭建这一步。明明代码逻辑没问题,就是编译不过、烧录失败,最后发现是工具链没配好。所以这一章,咱们把地基打牢。
ESP32 的开发方式有好几种:ESP-IDF(乐鑫官方框架)、MicroPython、Arduino IDE。我个人最推荐新手从 Arduino IDE 入手。为什么?因为它的生态成熟,库多,遇到问题随便一搜就有答案。等你跑通了 MQTT 通信,再回头学 ESP-IDF 也不迟。
1.1 下载与安装 Arduino IDE
去官网下载 Arduino IDE,版本选 2.x 以上。老版本 1.8.x 也能用,但界面太简陋,我建议直接用新版。
- Windows 用户:下载 .exe 安装包,一路 Next 就行
- macOS 用户:下载 .dmg 文件,拖到 Applications 文件夹
- Linux 用户:下载 .zip 压缩包,解压后运行 install.sh
1.2 配置 ESP32 板级支持包
Arduino IDE 默认不支持 ESP32,需要手动添加开发板管理器地址。打开 IDE,进入 文件 → 首选项,在「附加开发板管理器网址」里填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
然后点击 工具 → 开发板 → 开发板管理器,搜索「ESP32」,找到 esp32 by Espressif Systems,点击安装。这个包大概 200MB,下载速度取决于你的网络环境。
安装完成后,在 工具 → 开发板 菜单里就能看到一大串 ESP32 型号。咱们课程用的是 ESP32 Dev Module,选它就行。
1.3 安装 USB 转串口驱动
ESP32 开发板通过 USB 连接到电脑,本质上是一个串口设备。不同厂家的板子用的 USB 芯片不一样,常见的有两种:
| USB 芯片型号 | 常见于 | 驱动下载 |
|---|---|---|
| CP2102 | 安信可 ESP32-DevKitC | Silicon Labs 官网 |
| CH340 | 国产低价开发板 | 南京沁恒官网 |
怎么看你的板子用的是什么芯片?把板子插到电脑上,打开 设备管理器(Windows)或 系统信息(macOS),看「端口 (COM 和 LPT)」下面显示的是什么。如果是 Silicon Labs CP210x,那就是 CP2102;如果是 USB-SERIAL CH340,那就是 CH340。
驱动装好后,你会看到一个 COM 端口号(Windows)或 /dev/cu.usbserial-xxx(macOS/Linux)。记下这个端口号,后面烧录程序要用。
1.4 第一个 Hello World 程序
环境搭好了,咱们来写个程序验证一下。打开 Arduino IDE,新建一个文件,输入以下代码:
void setup() {
// 初始化串口,波特率设为 115200
Serial.begin(115200);
Serial.println("Hello World! ESP32 is ready.");
}
void loop() {
// 什么也不做,程序只运行一次
}
这段代码很简单:setup() 函数在 ESP32 上电时执行一次,初始化串口并打印一句话;loop() 函数会循环执行,这里我们让它空着。
接下来配置开发板参数:
- 工具 → 开发板:选择 ESP32 Dev Module
- 工具 → 端口:选择刚才记下的 COM 端口
- 工具 → Flash Size:选 4MB (32Mb)(大部分 ESP32 开发板都是 4MB Flash)
- 工具 → Partition Scheme:选 Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
点击 上传 按钮(右箭头图标),IDE 会先编译,然后烧录到 ESP32。烧录时你会看到板子上的两个 LED 灯在闪,那是串口通信的信号。
上传成功后,打开 工具 → 串口监视器,把波特率设为 115200,你会看到:
Hello World! ESP32 is ready.
恭喜你,第一个程序跑通了!
1.5 本章知识体系
下面这张图帮你梳理了本章的核心流程,从零到跑通第一个程序,每一步都环环相扣:
1.6 本章小结
到这一步,你的 ESP32 开发环境已经搭建完毕。我们做了四件事:
- 安装了 Arduino IDE 2.x
- 配置了 ESP32 板级支持包
- 安装了 USB 转串口驱动
- 跑通了第一个 Hello World 程序
嗯,这里要注意:很多初学者觉得环境搭建不重要,直接跳过去学 MQTT。结果后面烧录程序时各种报错,又回头来查环境问题,反而更浪费时间。所以,别急,把这一步走稳了,后面会顺畅很多。