两个 esp32利用arduino蓝牙互控
时间: 2023-07-03 13:14:48 浏览: 405
两个ESP32之间可以通过蓝牙通讯进行互相控制,下面介绍如何利用Arduino IDE实现蓝牙通讯:
(1)在每个ESP32上安装Arduino IDE,并将它们连接到电脑上。
(2)打开Arduino IDE,选择Tools -> Board,选择ESP32 Dev Module。
(3)选择Tools -> Port,选择每个ESP32所连接的串口。
(4)在每个ESP32上分别安装蓝牙库,可以在Arduino IDE的Library Manager中搜索“Bluetooth”并安装。安装完成后,分别上传以下代码:
第一个ESP32代码:
```
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32_1"); // 蓝牙名称
}
void loop() {
if (SerialBT.available()) { // 接收蓝牙数据
char c = SerialBT.read();
Serial.write(c);
}
if (Serial.available()) { // 发送蓝牙数据
char c = Serial.read();
SerialBT.write(c);
}
}
```
第二个ESP32代码:
```
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32_2"); // 蓝牙名称
}
void loop() {
if (SerialBT.available()) { // 接收蓝牙数据
char c = SerialBT.read();
Serial.write(c);
}
if (Serial.available()) { // 发送蓝牙数据
char c = Serial.read();
SerialBT.write(c);
}
}
```
(5)将代码中的“ESP32_1”和“ESP32_2”分别替换为第一个和第二个ESP32的蓝牙名称。
(6)上传完成后,打开第一个ESP32的串口监视器,可以看到它的蓝牙名称。
(7)在第二个ESP32的串口监视器中,通过输入“AT+INQ”来搜索附近的蓝牙设备,然后输入“AT+CON=ESP32_1”的蓝牙名称来连接第一个ESP32。
(8)连接成功后,在第二个ESP32的串口监视器中输入需要发送的数据,可以在第一个ESP32的串口监视器中看到接收到的数据。
(9)通过修改代码,可以实现控制LED等其他操作。例如,在第一个ESP32上连接一个LED,然后修改第一个ESP32的代码如下:
```
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
const int ledPin = 2;
void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32_1");
pinMode(ledPin, OUTPUT);
}
void loop() {
if (SerialBT.available()) {
char c = SerialBT.read();
if (c == '0') {
digitalWrite(ledPin, LOW);
} else if (c == '1') {
digitalWrite(ledPin, HIGH);
}
}
}
```
(10)在第二个ESP32的串口监视器中输入“1”或“0”,可以控制第一个ESP32上的LED亮或灭。
阅读全文