Arduino 开发
本章节介绍 ESP32-DEV-KIT-XX 的 Arduino 开发环境,以及 examples/Arduino/examples 中提供的示例程序。
配置开发环境
1. 安装 Arduino IDE 和 ESP32 开发板支持包
请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。
安装 Arduino IDE 后,在“首选项” > “附加开发板管理器网址”中添加 Espressif Arduino-ESP32 的开发板索引,并在“开发板管理器”中安装 Arduino-ESP32。安装完成后,在“工具” > “开发板”中选择 ESP32 Dev Module。
使用 USB 连接开发板,在“工具” > “端口”中选择对应串口。除特别说明外,本目录的示例均使用串口监视器,波特率设为 115200 bps。
2. 打开示例
每个示例目录中均有一个与目录同名的 .ino 主文件。使用 Arduino IDE 打开该文件后即可编译并上传。
安装库
01_Board_Info、02_WS2812_RGB、03_WiFi、04_UART_Loopback 和 05_SerialToSerialBT 仅使用 Arduino-ESP32 开发板包提供的组件。
示例程序
示例程序位于示例程序包的 examples/Arduino/examples 目录。LCD、UART 等外设示例需按相应章节完成接线后再运行。
| 示例程序 | 说明 |
|---|---|
| 01_Board_Info | 通过串口输出芯片、Flash、程序和内存信息。 |
| 02_WS2812_RGB | 控制 WS2812 RGB LED 依次显示红、绿、蓝、白和熄灭。 |
| 03_WiFi | 扫描 2.4 GHz Wi-Fi 网络,并连接指定网络。 |
| 04_UART_Loopback | 使用 UART1 发送和接收数据,验证串口回环。 |
| 05_SerialToSerialBT | 在 USB 串口与经典蓝牙 SPP 之间双向转发数据。 |
01_Board_Info
程序启动后打印芯片型号、芯片修订版本、CPU 频率、Flash 容量、程序大小、剩余堆内存和基础 MAC 地址。该示例无需连接额外硬件,可用于检查程序上传和串口输出。
02_WS2812_RGB
WS2812 RGB LED 的数据引脚为 GPIO27。程序通过 Arduino-ESP32 的 rgbLedWriteOrdered() 接口将亮度设为 32,并每秒切换一次红、绿、蓝、白和熄灭状态。串口同步输出当前 RGB 值。
此示例不依赖第三方库。若 LED 颜色与预期不一致,可检查 COLOR_ORDER 是否需要与实际 LED 的颜色顺序匹配。
03_WiFi
该示例将芯片设置为 STA 模式,扫描 2.4 GHz Wi-Fi 网络,并在串口中列出 SSID、RSSI、信号质量、信道和安全类型。ESP32-DEV-KIT-XX 使用的经典 ESP32 芯片不支持 5 GHz Wi-Fi。
如需测试联网,请先修改源码顶部的配置:
constexpr char WIFI_SSID[] = "your_ssid";
constexpr char WIFI_PASSWORD[] = "your_password";
上传后,程序最多等待 20 秒连接指定 Wi-Fi。连接成功后,串口显示 IP 地址、网关、RSSI 和信道。连接失败时,每隔 15 秒重新连接;未连接时,每隔 60 秒重新扫描网络。

04_UART_Loopback
此示例使用 UART1 进行自回环测试,实际初始化配置如下:
| 信号 | GPIO | 参数 |
|---|---|---|
| UART1 TX | GPIO4 | 115200 bps、8N1 |
| UART1 RX | GPIO5 | 115200 bps、8N1 |
用导线将 GPIO4 与 GPIO5 相连后上传程序。GPIO4 和 GPIO5 均不得连接 5 V。程序每隔 2 秒通过 TX 发送一条递增计数消息,并根据 RX 是否在 500 ms 内收到相同内容输出 [RX PASS] 或 [RX FAIL],同时打印收发统计。

05_SerialToSerialBT
该示例创建经典蓝牙 SPP 串口,设备名称为 ESP32-BT-Slave。程序在 USB 串口与蓝牙串口之间逐字节双向转发数据,USB 串口波特率为 115200 bps。
上传程序后,在支持经典蓝牙 SPP 的电脑或移动设备上搜索并配对 ESP32-BT-Slave。通过蓝牙串口发送的数据会显示在 Arduino 串口监视器中;Arduino 串口监视器发送的数据会转发到蓝牙客户端。
此示例使用经典蓝牙 SPP,而不是 BLE。BluetoothSerial 的 SPP 功能仅适用于经典 ESP32 芯片;编译时请选择 ESP32 Dev Module。
常见问题
找不到 ESP32 Dev Module
确认已通过“开发板管理器”安装 Espressif 的 Arduino-ESP32 开发板包,然后重新打开“工具” > “开发板”菜单。
Wi-Fi 示例无法连接
确认已将 WIFI_SSID 和 WIFI_PASSWORD 修改为实际网络凭据,并确认目标网络为 2.4 GHz。串口中的扫描结果可用于确认目标网络是否可见。
UART 回环测试失败
确认 GPIO4 与 GPIO5 已直接连接,且没有连接其他外设。串口输出中的 [RX FAIL] 会区分接收超时、内容不匹配和接收缓冲区溢出。
无法连接蓝牙串口
确认客户端支持经典蓝牙 SPP,并搜索设备名 ESP32-BT-Slave。BLE 调试工具无法连接此示例提供的 SPP 串口。