esp-01s Arduino
时间: 2025-07-13 11:57:20 浏览: 3
要将 ESP-01S 模块与 Arduino 配合使用,需要通过串口通信实现数据交互。ESP-01S 是一款基于 ESP8266 的 Wi-Fi 模块,支持通过 AT 指令集进行控制,并可以作为 Wi-Fi 客户端或服务器运行[^3]。
### 硬件连接
ESP-01S 与 Arduino Uno R3 的连接方式如下:
| ESP-01S 引脚 | Arduino 引脚 |
|--------------|---------------|
| VCC | 3.3V |
| GND | GND |
| TXD | RX (Arduino 的接收引脚) |
| RXD | 使用电阻分压后连接到 Arduino 的发送引脚(如使用 SoftwareSerial 可接任意数字引脚) |
由于 Arduino 的数字引脚输出电压为 5V,而 ESP-01S 的输入电压最大为 3.3V,因此 RXD 引脚必须通过一个电阻分压电路(例如 2.2kΩ 和 1kΩ)来降压以避免损坏模块。
如果仅用于测试 AT 指令通信,不需要烧录固件,则无需连接 IO0、EN、RST 等控制引脚;但如果需要更新固件或下载程序,则需按照特定顺序连接这些引脚并进行同步操作。
### 软件配置
在 Arduino IDE 中,可以使用 `SoftwareSerial` 库来与 ESP-01S 进行串口通信。以下是一个基本的示例代码,用于发送 AT 指令并读取响应:
```cpp
#include <SoftwareSerial.h>
// 设置软件串口:RX, TX
SoftwareSerial esp8266(10, 11); // RX 接 Arduino D10,TX 接 D11
void setup() {
Serial.begin(9600); // 用于调试输出
esp8266.begin(115200); // ESP-01S 默认波特率为 115200
delay(1000);
Serial.println("Sending AT command...");
esp8266.println("AT"); // 发送 AT 命令
}
void loop() {
if (esp8266.available()) {
String response = esp8266.readStringUntil('\n');
Serial.println("Response: " + response);
}
}
```
确保在上传代码前断开 ESP-01S 的 RXD 和 TXD 引脚,以免干扰 Arduino 的程序烧录过程。上传完成后重新连接这些引脚以进行通信。
### 固件烧录
若 ESP-01S 尚未烧录合适的 AT 固件,需使用 CH340 模块或其他 USB 转 TTL 设备进行固件烧录。具体步骤包括设置正确的引脚连接(如 IO0 接 GND 以进入下载模式),并使用 FlashDownloadTool 或 esptool.py 工具完成烧录工作[^3]。
---
阅读全文
相关推荐


















