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
小提示:安装路径不要带中文和空格。我之前有个学生,装在了「D:\编程工具\Arduino」,结果编译一直报路径错误,折腾了半小时才发现是中文目录的问题。

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,下载速度取决于你的网络环境。

注意:如果下载失败,通常是 GitHub 被墙了。解决办法有两个:一是开代理,二是用乐鑫的国内镜像源。我个人习惯用代理,稳定一些。

安装完成后,在 工具 → 开发板 菜单里就能看到一大串 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)。记下这个端口号,后面烧录程序要用。

避坑指南:我曾经遇到过一块板子,插上电脑后设备管理器里啥都没显示。折腾了半天,发现是 USB 线只能充电不能传数据。所以,请务必用 数据线,不要用充电线。

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 灯在闪,那是串口通信的信号。

常见问题:如果上传失败,提示「A fatal error occurred: Failed to connect to ESP32」,通常是因为没有按住板子上的 BOOT 按钮。解决方法:按住 BOOT 按钮不放,点击上传,看到「Connecting...」时松开 BOOT 按钮。这是 ESP32 的下载模式,很多新手会在这里卡住。

上传成功后,打开 工具 → 串口监视器,把波特率设为 115200,你会看到:

Hello World! ESP32 is ready.

恭喜你,第一个程序跑通了!

1.5 本章知识体系

下面这张图帮你梳理了本章的核心流程,从零到跑通第一个程序,每一步都环环相扣:

ESP32 开发环境搭建流程 下载 Arduino IDE 安装 Arduino IDE 添加 ESP32 板级支持包 安装 USB 驱动 编写 Hello World 常见问题 • 下载慢 → 用国内镜像 • 烧录失败 → 按住 BOOT • 不识别 → 换数据线 关键配置 • 开发板:ESP32 Dev Module • 波特率:115200 • Flash Size:4MB

1.6 本章小结

到这一步,你的 ESP32 开发环境已经搭建完毕。我们做了四件事:

  1. 安装了 Arduino IDE 2.x
  2. 配置了 ESP32 板级支持包
  3. 安装了 USB 转串口驱动
  4. 跑通了第一个 Hello World 程序

嗯,这里要注意:很多初学者觉得环境搭建不重要,直接跳过去学 MQTT。结果后面烧录程序时各种报错,又回头来查环境问题,反而更浪费时间。所以,别急,把这一步走稳了,后面会顺畅很多。