2. 开发环境搭建
说实话,做嵌入式开发这么多年,我见过太多人在环境搭建这一步就卡住了。不是装不上驱动,就是板子选不对,折腾半天连个灯都点不亮。这一章咱们就把这事彻底捋清楚。
咱们这门课主要用两块板子:ESP32 和 ESP8266。前者性能强,带蓝牙和WiFi双模;后者便宜,做透传绰绰有余。我个人习惯是两套环境都装,想用哪个用哪个。
2.1 开发工具选型:Arduino IDE vs ESP-IDF
先说说这两个工具的区别。你想想看,Arduino IDE 就像自动挡汽车,上手就能开;ESP-IDF 则是手动挡,操控感强但得先学换挡。
| 对比项 | Arduino IDE | ESP-IDF |
|---|---|---|
| 上手难度 | 低,5分钟就能编译 | 高,需要CMake和Python基础 |
| 代码体积 | 较大,有底层封装开销 | 小,可精细控制 |
| 调试能力 | 弱,串口打印为主 | 强,支持GDB和JTAG |
| 库生态 | 丰富,社区贡献多 | 官方为主,但更稳定 |
| 适用场景 | 快速原型、教学、小项目 | 产品级、多任务、低功耗 |
我的建议是:初学者先用Arduino IDE跑通流程,等对WiFi配网和透传逻辑熟悉了,再切到ESP-IDF做优化。我在项目里经常这样干——原型用Arduino验证,量产固件用ESP-IDF重写。
2.2 Arduino IDE 安装与ESP32/ESP8266支持
这一步其实很简单,但有几个坑我得提前告诉你。
2.2.1 下载与安装
- 去 Arduino 官网下载最新版 IDE(我写这课时是 2.x 版本)
- 安装时一路默认,注意勾选「安装USB驱动」
- 打开 IDE,进入 文件 → 首选项
2.2.2 添加ESP32/ESP8266开发板地址
在首选项的「附加开发板管理器网址」里,填入以下地址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://arduino.esp8266.com/stable/package_esp8266com_index.json
嗯,这里要注意:两个地址都要加,一行一个。我曾经见过有人只加了ESP32的,结果买了个ESP8266的板子回来发现识别不了,又折腾半天。
2.2.3 安装开发板支持包
- 打开 工具 → 开发板 → 开发板管理器
- 搜索
ESP32,找到 Espressif 官方包,点击安装(约 200MB) - 搜索
ESP8266,同样安装(约 150MB)
2.3 驱动安装:CH340/CP2102/Silicon Labs
板子插上电脑没反应?十有八九是驱动没装。市面上常见的ESP开发板,用的USB转串口芯片主要有三种:
| 芯片型号 | 常见于 | 驱动下载 |
|---|---|---|
| CH340 | 廉价ESP8266板、NodeMCU | 厂商官网或驱动精灵 |
| CP2102 | 官方ESP32开发板、某些ESP8266 | Silicon Labs官网 |
| FT232 | 高端开发板、调试器 | FTDI官网 |
怎么判断你手上是哪一种?看板子上的芯片丝印。翻过来,找到 USB 口附近那个小芯片,上面写着 CH340 还是 CP2102,一目了然。
避坑指南: 我曾经买过一批 ESP32 板子,卖家说是 CP2102,结果到手是 CH340 打磨重印的。插上电脑死活不识别,折腾了两天才发现是驱动装错了。所以我的建议是:到手先看丝印,别信卖家描述。
驱动装好后,插上板子,打开设备管理器(Windows)或系统信息(Mac),看看端口里有没有出现 USB Serial Port 或 CP210x USB to UART Bridge。有就对了。
2.4 板卡选择与验证:点亮第一颗LED
环境搭好了,咱们得验证一下。选板子的时候,我建议你按这个标准来:
- ESP32-DevKitC:官方板,稳定,适合入门
- NodeMCU-32S:便宜,带USB口,适合做项目
- ESP-01/01S:ESP8266核心,极小,适合做透传模块
- Wemos D1 Mini:ESP8266,兼容Arduino扩展板
选好板子后,在 Arduino IDE 里配置:
- 工具 → 开发板,选择你的板型(比如 ESP32 Dev Module)
- 工具 → 端口,选择刚才出现的串口号
- 工具 → Flash Size,一般选 4MB(大部分板子都够用)
然后写个最简单的程序验证:
void setup() {
pinMode(2, OUTPUT); // ESP32 板载LED通常接GPIO2
Serial.begin(115200);
Serial.println("Hello from ESP32!");
}
void loop() {
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
}
点上传,等它编译烧录。如果看到板子上的 LED 开始闪烁,串口监视器里打印出 "Hello from ESP32!",恭喜你,环境搭建成功了。
2.5 ESP-IDF 环境配置(进阶)
如果你打算做产品级开发,ESP-IDF 是绕不开的。这里我简单说下怎么装,但咱们这门课主要还是用 Arduino IDE。
2.5.1 Windows 下安装
- 下载 ESP-IDF 离线安装包(约 1.5GB)
- 运行安装程序,选择安装路径(不要有中文和空格)
- 安装完成后,桌面会出现 ESP-IDF 5.x CMD 快捷方式
- 打开它,输入
idf.py --version验证
2.5.2 创建第一个ESP-IDF项目
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
cd hello_world
idf.py set-target esp32
idf.py menuconfig
idf.py build
idf.py -p COM3 flash monitor
这一套下来,如果你能看到 "Hello world!" 打印出来,说明 ESP-IDF 环境也通了。
2.6 本章知识结构
下面这张图帮你理清整个环境搭建的脉络:
2.7 常见问题与解决
最后,我把这些年遇到的环境问题整理一下,你遇到了直接对照着查:
- 上传失败:A fatal error occurred: Failed to connect to ESP32 —— 按住板子上的 BOOT 键,再点上传,看到连接中再松手
- 串口监视器乱码 —— 检查波特率是否匹配,大部分 ESP32 默认 115200,ESP8266 默认 74880
- 编译报错:ESP32 core 2.0.x 与某些库不兼容 —— 降级到 1.0.6 版本,或者换用 ESP32 core 3.0 测试版
- Mac 下找不到端口 —— 安装 CH340 驱动后需要重启,或者用
ls /dev/tty.*查看
我的经验: 环境搭建这事,第一次总是最痛苦的。但只要你把这一步走通了,后面写代码、调WiFi、做透传,都会顺很多。别急,慢慢来。