第4章:ESP32开发环境搭建
好,咱们开始动手了。这一章我带你把ESP32的开发环境搭起来。说实话,很多初学者卡就卡在这一步——环境没配好,连个灯都点不亮,信心直接归零。
我个人习惯用Arduino IDE来开发ESP32。为什么?因为简单、生态好、社区活跃。你想想看,一个IDE能搞定几十种芯片,省心。咱们今天的目标很明确:装好Arduino IDE、配好ESP32板级支持包、搞定串口驱动,最后跑一个Blink程序让LED闪起来。
4.1 下载与安装Arduino IDE
先去官网下载Arduino IDE。我建议下载1.8.x版本,虽然2.0出来了,但1.8系列更稳定,插件兼容性更好。我在项目里踩过2.0的坑——有些库编译不过,后来老老实实换回1.8了。
安装过程很简单,一路Next就行。但注意一点:安装路径不要有中文和空格。我曾经帮一个学员远程调试,他装在“C:\Program Files (x86)\Arduino 开发”下面,结果死活编译不过,改回纯英文路径就好了。
4.2 安装ESP32板级支持包
Arduino IDE默认只支持官方的Arduino板子。要支持ESP32,得手动添加板级支持包。说白了,就是告诉IDE:“嘿,我这里有一块ESP32芯片,你得认识它。”
操作步骤是这样的:
- 打开Arduino IDE,点击 文件 → 首选项
- 在“附加开发板管理器网址”里填入ESP32的JSON地址
- 点击 工具 → 开发板 → 开发板管理器
- 搜索“ESP32”,找到由Espressif Systems提供的版本,点击安装
JSON地址是多少?我用的是这个:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
如果你网络不好,下载可能会很慢。我记得有一次在客户现场,网络差到爆,等了半小时还没下完。后来我直接让同事把安装包拷过来,手动解压到指定目录。嗯,这里有个小技巧:你可以从GitHub上直接下载esp32包,解压到 C:\Users\你的用户名\AppData\Local\Arduino15\packages 目录下,效果一样。
4.3 安装串口驱动
ESP32开发板通常通过USB转串口芯片与电脑通信。常见的芯片有CP2102和CH340。你得装对应的驱动,否则电脑认不出板子。
怎么判断用哪个驱动?插上板子,打开设备管理器,看“端口(COM和LPT)”下面有没有出现未知设备。如果有黄色感叹号,那就是驱动没装。
| 串口芯片型号 | 常见开发板 | 驱动下载方式 |
|---|---|---|
| CP2102 | ESP32 DevKit V1、NodeMCU-32S | Silicon Labs官网下载 |
| CH340 | ESP32-DevKitC、某些国产板 | WCH官网下载 |
| FT232 | 部分高端开发板 | FTDI官网下载 |
驱动装好后,设备管理器里会显示对应的COM口编号。比如我手头这块板子,插上后显示“COM3”。记下这个编号,后面上传程序要用。
4.4 第一个程序:Blink
环境搭好了,咱们来写第一个程序。Blink就是让板载LED闪烁,相当于嵌入式世界的“Hello World”。
ESP32 DevKit V1的板载LED通常接在GPIO2上。不同板子可能不一样,但大部分都是GPIO2。如果你不确定,可以查一下原理图,或者直接试——反正烧不坏。
打开Arduino IDE,新建一个文件,输入以下代码:
void setup() {
// 初始化GPIO2为输出模式
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH); // 点亮LED
delay(1000); // 等待1秒
digitalWrite(2, LOW); // 熄灭LED
delay(1000); // 等待1秒
}
代码很简单,对吧?setup()只执行一次,设置引脚模式。loop()不断循环,让LED亮一秒、灭一秒。
上传之前,先做三件事:
- 选择开发板:工具 → 开发板 → ESP32 Arduino → 选择你的板型。我用的是“ESP32 Dev Module”。
- 选择端口:工具 → 端口 → 选择你刚才记下的COM口。
- 设置参数:其他参数保持默认就行。Flash Size选4MB,Partition Scheme选Default。
然后点击上传按钮(那个右箭头)。IDE会先编译,再上传。第一次编译会慢一些,因为要编译ESP32的底层库。别急,喝杯水等一等。
上传成功后,你会看到板载LED开始闪烁——一秒亮,一秒灭。恭喜,你的ESP32活了!
4.5 常见问题与解决
搭建环境时,你可能会遇到这些问题。我列出来,你对照着排查:
- 编译报错“esp32/esp32.h: No such file or directory”——板级支持包没装好,重新安装或手动解压。
- 上传时报错“A fatal error occurred: Failed to connect to ESP32”——串口没选对,或者板子没进入下载模式。试试手动按BOOT键。
- 上传成功但LED不亮——检查LED引脚是不是GPIO2。有些板子用的是GPIO5或GPIO16,改一下代码里的引脚号。
- 串口打不开——驱动没装好,或者串口被其他程序占用了。关掉串口监视器、关掉其他IDE,再试一次。
嗯,其实大部分问题都是串口相关的。你想想看,电脑和板子之间就靠一根USB线通信,驱动不对、端口不对、线质量不好,都会出问题。我建议你备一根质量好的USB数据线——别用那种只能充电不能传数据的线。
好了,环境搭好了,第一个程序也跑起来了。下一章咱们开始写真正的红外转网络程序,让ESP32既能发红外信号,又能连上WiFi。准备好了吗?