1. ESP32开发环境搭建:Arduino IDE配置、ESP32板级支持包安装、第一个LED闪烁程序
好,咱们直接开始。做嵌入式开发,第一件事就是把家伙事儿备齐。ESP32这块芯片,说便宜也便宜,说强大也强大,但要是环境没搭好,后面全是坑。我见过太多新手卡在第一步,连个灯都点不亮,然后就放弃了。别急,跟着我来,半小时内让你的ESP32闪起来。
1.1 为什么选Arduino IDE?
你可能会问:ESP-IDF不是官方的吗?为什么不用它?
嗯,这里我要说句实话。ESP-IDF确实功能全、性能强,但它的学习曲线——怎么说呢——有点陡。我刚开始用ESP32时,也试过ESP-IDF,结果光配置环境就折腾了两天。后来我换成了Arduino IDE,十分钟就搞定了。
说白了,Arduino IDE就是个「傻瓜式」工具。它把底层细节都封装好了,你只需要写逻辑代码。对于快速原型验证、学习入门、甚至一些轻量级产品,完全够用。我个人习惯是:原型阶段用Arduino IDE,量产优化时再切到ESP-IDF。
1.2 下载与安装Arduino IDE
第一步,去官网下载Arduino IDE。目前最新稳定版是2.x系列,界面比老版好看多了,还自带代码补全。
- 打开浏览器,访问 arduino.cc 官网
- 点击「Software」→「Downloads」
- 根据你的操作系统选择对应版本(Windows/macOS/Linux)
- 下载完成后,双击安装包,一路「下一步」就行
安装完成后,打开Arduino IDE。你会看到一个简洁的界面:上面是菜单栏,中间是代码编辑区,下面是控制台输出。嗯,看着挺清爽的。
1.3 安装ESP32板级支持包
这一步是关键。Arduino IDE默认不支持ESP32,你得手动给它加「料」。
具体操作如下:
- 打开Arduino IDE,点击菜单栏「文件」→「首选项」
- 在「附加开发板管理器网址」那里,粘贴以下链接:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 点击「确定」保存
- 然后点击左侧的「开发板管理器」图标(或者菜单栏「工具」→「开发板」→「开发板管理器」)
- 在搜索框里输入「ESP32」
- 找到「ESP32 by Espressif Systems」,点击「安装」
安装完成后,关闭开发板管理器。这时候你点击「工具」→「开发板」,往下翻,应该能看到一大串ESP32的型号列表了。
1.4 选择正确的开发板型号
市面上ESP32开发板五花八门,最常见的是ESP32 DevKit V1、NodeMCU-32S、以及各种合宙、安信可的模组。怎么选?
| 开发板型号 | 常见芯片 | 特点 |
|---|---|---|
| ESP32 DevKit V1 | ESP32-WROOM-32 | 最标准,引脚全引出 |
| NodeMCU-32S | ESP32-S | 体积小,带USB转串口 |
| ESP32-C3-DevKit | ESP32-C3 | RISC-V架构,便宜 |
| ESP32-S3-DevKit | ESP32-S3 | 带AI加速,性能强 |
我个人建议:初学者买ESP32 DevKit V1,资料最多,遇到问题好搜。别买太冷门的型号,否则连个教程都找不到。
选好型号后,在Arduino IDE里这样操作:
- 点击「工具」→「开发板」→「ESP32 Arduino」
- 找到你的板子型号,比如「ESP32 Dev Module」
- 再检查一下「工具」→「端口」,确保选对了COM口
1.5 第一个程序:LED闪烁
环境搭好了,咱们来写个经典的「Hello World」——让板载LED闪烁。
大多数ESP32开发板上都有一颗LED,通常连接在GPIO2引脚。但也有例外,比如有些板子接在GPIO5或GPIO16上。你可以先试试GPIO2,不行再查资料。
打开Arduino IDE,新建一个文件(快捷键Ctrl+N),然后输入以下代码:
// ESP32 LED闪烁示例
// 板载LED通常连接在GPIO2
void setup() {
// 初始化GPIO2为输出模式
pinMode(2, OUTPUT);
Serial.begin(115200);
Serial.println("ESP32 启动成功!");
}
void loop() {
// 点亮LED
digitalWrite(2, HIGH);
Serial.println("LED 亮");
delay(1000); // 等待1秒
// 熄灭LED
digitalWrite(2, LOW);
Serial.println("LED 灭");
delay(1000); // 等待1秒
}
代码很简单,对吧?setup()函数只执行一次,用来初始化。 loop()函数会不断循环,让LED亮一秒、灭一秒。
写完之后,点击左上角的「→」箭头(上传按钮)。Arduino IDE会自动编译代码,然后烧录到ESP32里。你会看到控制台输出一堆信息,最后显示「Done uploading」。
上传成功后,你会看到板子上的LED开始有规律地闪烁。同时,打开串口监视器(快捷键Ctrl+Shift+M),设置波特率为115200,就能看到「LED 亮」「LED 灭」的打印信息了。
1.6 常见问题与解决
我整理了几个新手最容易遇到的问题,你如果遇到了,直接对照着查:
- 编译报错:检查ESP32板级支持包是否安装成功。重新打开开发板管理器,确认显示「INSTALLED」。
- 上传失败:检查端口是否选对,USB线是否支持数据传输,是否进入了下载模式。
- LED不亮:确认GPIO引脚是否正确。有些板子的LED接在GPIO5或GPIO16上,可以试试改代码。
- 串口没输出:检查波特率是否设置为115200,串口监视器是否打开了。
嗯,到这里,你的ESP32开发环境就搭建好了,第一个程序也跑起来了。是不是挺简单的?
下一章,我们会开始讲JSON数据的封装与解析。你会发现在ESP32上处理JSON,其实比想象中要顺手得多。咱们到时候见。