2. Arduino IDE 环境搭建:安装Arduino IDE、配置ESP32开发板支持包、安装必要的库(ESP32Servo、WiFi库)。验证开发环境是否正常。

好,咱们正式开始动手了。

做嵌入式开发,第一步永远是搭环境。你别嫌烦,这一步要是没弄好,后面所有代码都跑不起来。我见过太多同学卡在编译报错上,最后发现是开发板支持包没装对。嗯,咱们今天就把这事一次搞定。

2.1 下载与安装 Arduino IDE

Arduino IDE 是啥?说白了就是一个写代码、编译、下载的集成工具。官方免费,跨平台,Windows、macOS、Linux 都能用。

下载地址: 去 Arduino 官网(arduino.cc)找到 Software 页面,下载最新版。我个人习惯用 1.8.x 系列,稳定。2.0 版本虽然界面好看,但有些老库兼容性偶尔会翻车。

安装步骤:

  • Windows 用户:双击 exe,一路 Next。注意勾选「安装 USB 驱动」。
  • macOS 用户:解压后把 app 拖进 Applications 文件夹。
  • Linux 用户:解压后运行 install.sh,或者直接用包管理器装。
我的小建议: 安装路径不要带中文。我之前有个项目,学生用中文路径死活编译不过,折腾了半小时才发现是路径编码问题。

2.2 配置 ESP32 开发板支持包

Arduino IDE 默认只支持 Arduino 自家的板子。ESP32 是乐鑫的芯片,得额外装支持包。

具体操作:

  1. 打开 Arduino IDE,点击 文件 → 首选项
  2. 在「附加开发板管理器网址」里填入:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. 点击 工具 → 开发板 → 开发板管理器
  4. 搜索 ESP32,找到由 Espressif Systems 提供的版本,点击安装。
注意: 这个包大概 200MB 左右,下载速度取决于你的网络。如果卡住不动,可以试试用手机热点。我曾经在客户现场用酒店 WiFi 下了 40 分钟没下完,最后用手机 5G 两分钟搞定。

安装完成后,在 工具 → 开发板 菜单里就能看到 ESP32 系列的板子了。我们选 ESP32 Dev Module 就行。

2.3 安装必要的库

库是什么?就是别人写好的功能模块,咱们直接拿来用。做智能窗帘,需要两个核心库:

库名称 用途 安装方式
ESP32Servo 控制舵机(驱动窗帘开合) 库管理器搜索安装
WiFi ESP32 联网(后续场景模式用) ESP32 自带,无需额外安装

安装 ESP32Servo 库:

  • 点击 工具 → 管理库
  • 搜索 ESP32Servo,作者是 Kevin Harrington。
  • 点击安装,版本选最新的稳定版就行。

WiFi 库不用装,ESP32 的 Arduino 核心包里已经自带了。你想想看,如果连 WiFi 库都要自己装,那乐鑫也太不厚道了。

避坑指南: 别装错了 Servo 库!Arduino 官方也有一个 Servo 库,但那是给 AVR 芯片用的,ESP32 用不了。一定要装 ESP32Servo。我曾经有个学生装错了,编译报错「Servo.h: No such file」,一脸懵地来找我。

2.4 验证开发环境是否正常

环境搭好了,得跑个程序试试。咱们写一个最简单的 Blink 程序,让 ESP32 板载的 LED 灯闪烁。

测试步骤:

  1. 用 USB 线把 ESP32 开发板连到电脑。
  2. 在 Arduino IDE 里选择正确的开发板和端口:
    工具 → 开发板 → ESP32 Dev Module
    工具 → 端口 → 选择对应的 COM 口(Windows)或 /dev/cu.usbserial-xxx(macOS)
  3. 输入以下代码:
void setup() {
  pinMode(2, OUTPUT);  // ESP32 板载 LED 通常接 GPIO2
}

void loop() {
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}
  1. 点击上传按钮(右箭头)。
  2. 观察 ESP32 板子上的 LED 是否以 1 秒间隔闪烁。
如果上传失败: 按住 ESP32 板子上的 BOOT 按钮不放,再按一下 EN 按钮(复位),然后松开 BOOT。这是让芯片进入下载模式。我刚开始用 ESP32 时也经常忘记这一步,后来养成了习惯——上传前先按 BOOT。

LED 闪起来了?恭喜你,环境搭建成功!

咱们再验证一下库能不能用。写个简单的舵机测试代码(先别接舵机,只编译看看):

#include <ESP32Servo.h>

Servo myServo;

void setup() {
  myServo.attach(13);  // 假设舵机接 GPIO13
}

void loop() {
  myServo.write(90);
  delay(1000);
}

点击编译(对勾按钮),如果没报错,说明 ESP32Servo 库安装正确。WiFi 库不用测,后面用到时自然就知道了。

2.5 常见问题与解决

我整理了几个新手最容易踩的坑,你对照看看:

  • 编译报错「A fatal error occurred: Failed to connect to ESP32」 —— 八成是没按住 BOOT 键,或者 USB 线质量太差。换根数据线试试,有些便宜线只能充电不能传数据。
  • 上传成功但 LED 不亮 —— 检查一下 GPIO 引脚号。不同厂家的 ESP32 开发板,板载 LED 可能接在不同的引脚上。有些接 GPIO2,有些接 GPIO5,甚至有些接 GPIO16。
  • 端口列表里找不到 ESP32 —— 驱动没装好。Windows 用户去装个 CP210x 或 CH340 驱动,具体看你的开发板用的是什么 USB 转串口芯片。
我的经验: 做嵌入式开发,USB 线是最大的变量。我工作室里备了十几根不同品牌的线,有些线就是死活连不上某些板子。建议你买几根带屏蔽的、粗一点的 USB 线,省心很多。

好,环境搭建就到这里。下一章咱们开始写真正的窗帘控制代码,让舵机动起来。