1. ESP32开发环境搭建:Arduino IDE安装、ESP32板级支持包配置、驱动安装、第一个LED闪烁程序
各位同学,欢迎来到《ESP32智能家居安防摄像头与视频流传输实战》的第一课。
说实话,做嵌入式开发这么多年,我见过太多人卡在环境搭建这一步。明明代码逻辑没问题,就是编译报错、下载失败。嗯,这很正常。环境搭建就像盖房子的地基,地基没打好,后面全是坑。
今天我们就一步步来,把ESP32的开发环境彻底搞定。最后,我会带你跑通第一个程序——LED闪烁。这是嵌入式世界的"Hello World",也是你迈向智能家居安防的第一步。
1.1 为什么选择Arduino IDE?
你可能听说过ESP-IDF、PlatformIO、MicroPython……这些都能开发ESP32。但我个人习惯,入门阶段首选Arduino IDE。为什么?
- 门槛低:你不需要懂复杂的Makefile,不需要配置CMake。装好就能写代码。
- 生态好:ESP32的库成千上万,摄像头、WiFi、蓝牙、传感器……几乎都有现成的。
- 调试方便:串口监视器一键打开,打印信息一目了然。
我在项目中遇到过紧急情况,客户第二天就要演示。用Arduino IDE,我从零到跑通摄像头画面,只用了两个小时。换成ESP-IDF?光编译环境就得折腾半天。
1.2 Arduino IDE的安装
先下载Arduino IDE。去官网(arduino.cc)找到对应你操作系统的版本。Windows、macOS、Linux都有。
安装过程很简单,一路"下一步"就行。但有一点要注意:
安装完成后,打开Arduino IDE。你会看到这样一个界面:
- 顶部是菜单栏:文件、编辑、项目、工具、帮助
- 中间是代码编辑区,白底黑字
- 底部是状态栏,显示开发板、端口等信息
嗯,看起来有点简陋。但别小看它,后面我们会让它变得很强大。
1.3 配置ESP32板级支持包
Arduino IDE默认只支持官方的Arduino开发板。要支持ESP32,我们需要手动添加板级支持包(Board Support Package,简称BSP)。
操作步骤如下:
- 打开Arduino IDE,点击菜单栏 文件 → 首选项
- 在"附加开发板管理器网址"一栏,填入以下链接:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 点击"确定"保存
- 然后点击菜单栏 工具 → 开发板 → 开发板管理器
- 在搜索框输入"ESP32",找到由Espressif Systems提供的版本,点击"安装"
这个过程会下载大约几百兆的数据。网速慢的话,可能需要十几分钟。你可以去泡杯咖啡。
安装完成后,关闭开发板管理器。再次点击 工具 → 开发板,你会看到多了很多ESP32的型号。我们课程用的是ESP32-CAM模块,所以选择 AI Thinker ESP32-CAM 这个型号。
1.4 驱动安装——让电脑认识ESP32
把ESP32开发板用USB线连接到电脑。这时候,电脑应该会提示"发现新硬件"。但很多时候,Windows并不能自动识别。
ESP32通常使用CH340或CP2102这两种USB转串口芯片。你需要安装对应的驱动。
| 芯片型号 | 驱动名称 | 下载方式 |
|---|---|---|
| CH340 | CH340G/CH341SER | 百度搜索"CH340驱动",从沁恒官网下载 |
| CP2102 | CP210x USB to UART Bridge | 从Silicon Labs官网下载 |
安装驱动后,重新插拔USB线。打开设备管理器(Windows),在"端口(COM和LPT)"下面,你应该能看到类似"USB-SERIAL CH340 (COM3)"这样的设备。记住这个COM口号,后面下载程序要用。
1.5 第一个程序——LED闪烁
环境搭好了,驱动装好了。现在我们来写第一个程序。
ESP32-CAM模块上有一个内置的LED,连接在GPIO 4引脚上(注意,有些版本是GPIO 33,但大部分是GPIO 4)。
打开Arduino IDE,新建一个项目。在编辑区输入以下代码:
void setup() {
// 将GPIO 4设置为输出模式
pinMode(4, OUTPUT);
}
void loop() {
// 点亮LED
digitalWrite(4, HIGH);
// 等待1秒
delay(1000);
// 熄灭LED
digitalWrite(4, LOW);
// 等待1秒
delay(1000);
}
代码很简单,对吧?setup()函数在程序启动时执行一次,用来初始化。这里我们把GPIO 4设置为输出模式。loop()函数会不断循环执行。先点亮LED,等1秒,再熄灭,再等1秒。如此反复,就实现了LED闪烁。
接下来,我们要把程序下载到ESP32里。操作步骤:
- 点击菜单栏 工具 → 开发板,选择 AI Thinker ESP32-CAM
- 点击 工具 → 端口,选择你刚才在设备管理器里看到的COM口
- 点击 工具 → Flash Size,选择 4MB (32Mb)
- 点击 工具 → Partition Scheme,选择 Huge APP (3MB No OTA)
- 点击 工具 → Upload Speed,选择 115200(如果下载失败,可以降到57600)
点击菜单栏的 项目 → 上传(或者直接点工具栏的右箭头图标)。等待编译和下载完成。如果一切顺利,你会看到串口输出类似这样的信息:
Connecting........_____....._____....._____....._____....._____....._____....._____
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x0003ffff...
Compressed 8192 bytes to 47...
Writing at 0x00008000... (100 %)
Compressed 20608 bytes to 122...
Writing at 0x00001000... (100 %)
Compressed 196384 bytes to 137...
Writing at 0x00010000... (100 %)
Leaving...
Hard resetting via RTS pin...
下载完成后,按下开发板上的RST按钮(复位)。你会看到板载的LED开始以1秒的间隔闪烁。
恭喜你!你的第一个ESP32程序跑起来了。
下一章,我们会深入ESP32的GPIO控制,学习如何读取按键输入、控制多个LED。还会讲到PWM调光——说白了就是让LED呼吸起来。嗯,到时候你会觉得,原来控制硬件这么简单。
有任何问题,欢迎在课程群里交流。我们下节课见。