2、开发环境搭建:安装Arduino IDE或PlatformIO,配置ESP32开发板支持包,安装必要的库文件

好,咱们正式开始动手了。这一章要解决的是「工欲善其事,必先利其器」的问题。说白了,就是给你的电脑装上能跟ESP32对话的工具链。

我个人习惯用Arduino IDE入门,因为它简单、直观,适合快速验证想法。但如果你做过稍微复杂一点的项目,比如我们这个多房间温控系统,我建议你试试PlatformIO。为什么?因为它项目管理更规范,依赖库管理也更智能。嗯,咱们两种都讲,你自己选。

2.1 选择你的开发工具

先看看这两个工具的区别,心里有个底。

特性 Arduino IDE PlatformIO
上手难度 极低,5分钟就能跑起来 中等,需要一点VS Code基础
项目管理 单个文件为主,项目大了容易乱 专业级,多文件、多环境轻松管理
库管理 内置库管理器,够用 基于platformio.ini,版本锁定,团队协作友好
调试支持 基本没有 支持串口监视器、断点调试(需硬件)
适合场景 快速原型、教学、小项目 中大型项目、团队开发、生产级代码

我个人建议:如果你刚接触ESP32,先用Arduino IDE跑通第一个例程,感受一下。等你要做温控面板这种多任务、多传感器、带WiFi通信的项目时,果断切到PlatformIO。我在项目中遇到过好几次因为库版本冲突导致编译失败的情况,PlatformIO的依赖锁定机制帮我省了不少时间。

2.2 安装Arduino IDE并配置ESP32支持

好,咱们先从Arduino IDE开始。步骤很简单,跟着走就行。

2.2.1 下载与安装

  1. 去 Arduino 官网下载最新版 IDE(我写稿时是2.x版本,界面比1.x好看不少)
  2. 安装时一路默认就行,Windows用户注意勾选「安装驱动」
  3. 打开IDE,你会看到一个简洁的编辑界面

2.2.2 添加ESP32开发板支持包

这一步是关键。Arduino IDE默认不认识ESP32,得给它装个「翻译官」。

  1. 打开 文件 → 首选项(Windows按 Ctrl+逗号
  2. 在「附加开发板管理器网址」里填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  1. 点击「好」保存,然后打开 工具 → 开发板 → 开发板管理器
  2. 搜索框输入 ESP32,找到由 Espressif Systems 提供的包,点击安装
注意: 这个包大概有200多MB,下载速度取决于你的网络。我曾经在客户现场用手机热点下载,等了快半小时。建议提前准备好,或者用我下面要讲的PlatformIO方式,它下载更智能。

2.2.3 选择正确的开发板型号

安装完成后,在 工具 → 开发板 → ESP32 Arduino 里找到你的板子。市面上最常见的型号是 ESP32 Dev Module,如果你用的是NodeMCU-32S、ESP32-DevKitC这类,选这个就行。

小技巧: 不确定选哪个?看板子上的芯片型号。如果是ESP32-WROOM-32,就选「ESP32 Dev Module」。如果是ESP32-S3,得选对应的S3系列。选错了也能编译,但某些功能可能不正常。

2.3 安装PlatformIO(推荐进阶用户)

说实话,我现在做项目基本都用PlatformIO。它其实是VS Code的一个插件,但功能强大得多。

2.3.1 安装步骤

  1. 先安装 Visual Studio Code(去官网下载,免费)
  2. 打开VS Code,点击左侧扩展图标(或按 Ctrl+Shift+X
  3. 搜索 PlatformIO IDE,点击安装
  4. 安装完成后,重启VS Code,底部会出现一个蚂蚁头图标——那就是PlatformIO的家

2.3.2 创建第一个ESP32项目

点击PlatformIO首页的 New Project,然后:

  • Name: 输入项目名,比如 esp32-thermostat
  • Board: 搜索 ESP32 Dev Module 并选中
  • Framework: 选择 Arduino(没错,PlatformIO可以用Arduino框架,但管理方式更专业)
  • Location: 默认就行,它会自动创建文件夹

点击「Finish」,PlatformIO会自动下载ESP32的工具链和框架。这个过程大概几分钟,去泡杯茶吧。

2.4 安装必要的库文件

咱们这个温控系统要用到不少库。我列个清单,你一次性装好,后面写代码就不用反复折腾了。

2.4.1 核心库清单

库名 用途 安装方式
DallasTemperature 读取DS18B20温度传感器 库管理器搜索安装
OneWire DS18B20的底层通信协议 DallasTemperature的依赖,会自动装
Adafruit SSD1306 驱动OLED显示屏(128x64) 库管理器搜索安装
Adafruit GFX OLED的图形绘制基础库 SSD1306的依赖,会自动装
WiFiManager 简化WiFi配网流程 库管理器搜索安装
ArduinoJson 解析和生成JSON数据(用于通信) 库管理器搜索安装
PubSubClient MQTT协议客户端(中央空调控制) 库管理器搜索安装

2.4.2 在Arduino IDE中安装库

打开 工具 → 管理库(或按 Ctrl+Shift+I),搜索上面的库名,找到后点击「安装」。

避坑指南: 我曾经在安装DallasTemperature时,没注意版本,装了个旧的。结果DS18B20读出来的温度全是85°C——这是传感器的上电默认值,说明通信没成功。后来发现是库版本不匹配。所以,安装时尽量选「最新稳定版」,别贪新鲜装beta版。

2.4.3 在PlatformIO中安装库

PlatformIO的库管理更优雅。打开项目根目录下的 platformio.ini 文件,在 lib_deps 后面添加库名:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps = 
    adafruit/Adafruit SSD1306
    adafruit/Adafruit GFX Library
    milesburton/DallasTemperature
    tzapu/WiFiManager
    bblanchon/ArduinoJson
    knolleary/PubSubClient
    paulstoffregen/OneWire

保存文件后,PlatformIO会自动下载并安装这些库。而且它会锁定版本号,下次别人拉你的代码,装到的库版本跟你一模一样——这个特性在团队协作时太香了。

2.5 验证环境是否搭建成功

装完别急着高兴,跑个例程验证一下。

2.5.1 最简单的LED闪烁测试

在Arduino IDE中,打开 文件 → 示例 → ESP32 → GPIO → Blink。或者新建一个文件,粘贴以下代码:

void setup() {
  pinMode(2, OUTPUT);  // 大多数ESP32开发板的板载LED在GPIO2
}

void loop() {
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

连接ESP32到电脑,选择正确的端口(工具 → 端口),点击上传。如果看到板载LED以1秒间隔闪烁,恭喜你,环境搭建成功了!

提示: 如果上传失败,检查一下是不是按住了板子上的「BOOT」按钮。有些ESP32开发板需要手动进入下载模式。嗯,这个坑我踩过好几次,后来干脆买了个带自动下载电路的板子。

2.6 小结

到这步,你的开发环境就准备好了。Arduino IDE适合快速上手,PlatformIO适合正经做项目。我个人建议你两个都装,平时用PlatformIO写代码,偶尔用Arduino IDE快速验证某个传感器的例程——互补嘛。

下一章,咱们就要开始搭建硬件电路了。DS18B20传感器怎么接线?OLED屏幕怎么连?我会把每个引脚的接法都讲清楚。到时候你拿着这块板子,跟着一步步焊就行。