Arduino 是 ESP32 开发最流行的框架,库生态最丰富,入门最简单。大部分 ESP32 玩具项目使用 Arduino 框架开发。
- 官方IDE,简单易用
- 库管理器一键安装
- 串口监视器调试
- VS Code 插件
- 更好的代码补全
- 多项目管理
- 单元测试支持
| 库 |
用途 |
安装 |
| WiFi.h |
WiFi连接 |
内置 |
| WebSockets |
WebSocket通信 |
库管理器 |
| HTTPClient |
HTTP请求 |
库管理器 |
| BluetoothSerial |
蓝牙串口 |
内置 |
| BLE |
蓝牙低功耗 |
内置 |
| 库 |
用途 |
安装 |
| I2S |
音频输入输出 |
内置 |
| ESP8266Audio |
音频播放 |
库管理器 |
| ESP-DSP |
数字信号处理 |
库管理器 |
| 库 |
用途 |
安装 |
| SSD1306 |
OLED驱动 |
库管理器 |
| TFT_eSPI |
TFT屏幕 |
库管理器 |
| LVGL |
高级GUI |
库管理器 |
| 库 |
用途 |
安装 |
| ArduinoJson |
JSON解析 |
库管理器 |
| WiFiClientSecure |
HTTPS |
内置 |
#include <WiFi.h>
#include <WebSocketsClient.h>
// 1. 配置
const char* ssid = "WiFi名称";
const char* password = "WiFi密码";
// 2. 初始化
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
// 初始化外设...
}
// 3. 主循环
void loop() {
// 读取传感器
// 处理逻辑
// 更新显示
// 通信
}
HTTPClient http;
http.begin("https://api.example.com/chat");
http.addHeader("Content-Type", "application/json");
int httpCode = http.POST(jsonString);
String payload = http.getString();
WebSocketsClient webSocket;
webSocket.begin("wss://api.example.com/ws", 443);
webSocket.onEvent(webSocketEvent);
webSocket.setReconnectInterval(5000);
#include <driver/i2s.h>
// 配置I2S用于麦克风输入和扬声器输出
// 采集音频 → 发送到API → 接收音频 → 播放
- [[esp32-series]] — 硬件平台
- [[esp-idf]] — 官方框架
- [[ai-toy-design]] — AI玩具设计
- [[elatoai]] — 成功案例