玩转ESP32蓝牙(一)——ESP32经典蓝牙与HC02蓝牙通信

[原创转自齐护机器人“齐护帮”社区]
玩转ESP32蓝牙(一)——ESP32经典蓝牙与HC02蓝牙通信

本文介绍 ESP32 经典蓝牙与汇承 HC02 蓝牙模块通信,ESP32 经典蓝牙作主机,HC02 蓝牙模块是从机,
出厂默认的波特率是 9600,配对密码是 1234。
一、实验器材:UNO 一块,ESP32S Nodemcu 开发板一块,汇承 HC02 蓝牙模块,杜邦线若干。
在这里插入图片描述
二、硬件连接如下:(UNO 使用了软串口,10 脚为 RX,11 脚为 TX)
在这里插入图片描述
三、实验步骤:
1、用 UNO 查询 HC02 的参数,利用 UNO 的软串口向 HC02 发查参数的 AT 指令(AT+TRX),上传如
下程序后,打开串口监视器查看 HC02 的参数,记录下 PIN 和 ADDR 地址(6 个 16 进制数),即这个 HC02
的配对密码是 1234,mac 地址是 0x00,0x0C,0xBF,0x0C,0x2F,0x5E,后面与 ESP32 经典蓝牙通信要用到。
在这里插入图片描述
2、UNO 通信程序如下:(上传程序后,打开串口监视器,发送 a 或 b 控制 ESP32 的板载灯亮或灭,
串口监视器也显示接收到 ESP32 发过来的字符 a 或 b,并执行 UNO 板载灯亮或灭)
在这里插入图片描述
3、ESP32 通信程序如下:(上传程序后,打开串口监视器,发送 a 或 b 控制 UNO 的板载灯亮或灭,
串口监视器也显示接收到 UNO 发过来的字符 a 或 b,并执行 ESP32 板载灯亮或灭)

/*ESP32 经典蓝牙与 HC02 蓝牙通信程序*/
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
char A;
char B;
uint8_t address[6] = {0x00,0x0C,0xBF,0x0C,0x2F,0x5E}; //hC02 的 mac 地址
char *pin = "1234"; //与 hC02 的配对密码
bool connected;
void setup() {
pinMode(2, OUTPUT);
digitalWrite(2,LOW);
Serial.begin(115200);
SerialBT.begin("ESP32test", true); //设置 ESP32 经典蓝牙名称
SerialBT.setPin(pin);
//与 hc02 的配对蓝牙
Serial.println("The device started in master mode, make sure remote BT device is on!");
connected = SerialBT.connect(address); //以 HC02 的 mac 地址连接
if(connected) {
Serial.println("Connected Succesfully!");
} else {
while(!SerialBT.connected(10000)) {
Serial.println("Failed to connect");
}}
}
void loop() {
if (Serial.available()) {
A=Serial.read();
SerialBT.write(A);
}
if (SerialBT.available()) {
B=SerialBT.read();
Serial.println(B);
switch (B) {
case 'a':
digitalWrite(2,HIGH);
break;
case 'b':
digitalWrite(2,LOW);
break;
}
}
}

注意:ESP32 蓝牙与 HC02 连接上后,HC02 的板载蓝色指示灯会常亮,若 HC02 断电后再上电,ESP32
可能要重启一下才能与 HC02 连接上。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值