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 是乐鑫的芯片,得额外装支持包。
具体操作:
- 打开 Arduino IDE,点击 文件 → 首选项。
- 在「附加开发板管理器网址」里填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 点击 工具 → 开发板 → 开发板管理器。
- 搜索 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 灯闪烁。
测试步骤:
- 用 USB 线把 ESP32 开发板连到电脑。
- 在 Arduino IDE 里选择正确的开发板和端口:
工具 → 开发板 → ESP32 Dev Module
工具 → 端口 → 选择对应的 COM 口(Windows)或 /dev/cu.usbserial-xxx(macOS) - 输入以下代码:
void setup() {
pinMode(2, OUTPUT); // ESP32 板载 LED 通常接 GPIO2
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
- 点击上传按钮(右箭头)。
- 观察 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 线,省心很多。
好,环境搭建就到这里。下一章咱们开始写真正的窗帘控制代码,让舵机动起来。