跳到主要内容

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_Info02_WS2812_RGB03_WiFi04_UART_Loopback05_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 地址。该示例无需连接额外硬件,可用于检查程序上传和串口输出。

ESP32-DEV-KIT-XX-Arduino-TestDemo

02_WS2812_RGB

WS2812 RGB LED 的数据引脚为 GPIO27。程序通过 Arduino-ESP32 的 rgbLedWriteOrdered() 接口将亮度设为 32,并每秒切换一次红、绿、蓝、白和熄灭状态。串口同步输出当前 RGB 值。

此示例不依赖第三方库。若 LED 颜色与预期不一致,可检查 COLOR_ORDER 是否需要与实际 LED 的颜色顺序匹配。

ESP32-DEV-KIT-XX-Arduino-TestDemo

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 秒重新扫描网络。

ESP32-DEV-KIT-XX-Arduino-TestDemo

04_UART_Loopback

此示例使用 UART1 进行自回环测试,实际初始化配置如下:

信号GPIO参数
UART1 TXGPIO4115200 bps、8N1
UART1 RXGPIO5115200 bps、8N1

用导线将 GPIO4 与 GPIO5 相连后上传程序。GPIO4 和 GPIO5 均不得连接 5 V。程序每隔 2 秒通过 TX 发送一条递增计数消息,并根据 RX 是否在 500 ms 内收到相同内容输出 [RX PASS][RX FAIL],同时打印收发统计。

ESP32-DEV-KIT-XX-Arduino-TestDemo

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_SSIDWIFI_PASSWORD 修改为实际网络凭据,并确认目标网络为 2.4 GHz。串口中的扫描结果可用于确认目标网络是否可见。

UART 回环测试失败

确认 GPIO4 与 GPIO5 已直接连接,且没有连接其他外设。串口输出中的 [RX FAIL] 会区分接收超时、内容不匹配和接收缓冲区溢出。

无法连接蓝牙串口

确认客户端支持经典蓝牙 SPP,并搜索设备名 ESP32-BT-Slave。BLE 调试工具无法连接此示例提供的 SPP 串口。