蓝牙技术在物联网设备中扮演着重要角色,尤其是在需要短距离无线通信的场景下。ESP32作为一款功能强大的微控制器,支持Wi-Fi和蓝牙双模操作,因此非常适合用于开发蓝牙相关应用。本文将详细介绍如何使用ESP32实现蓝牙配对,并快速连接手机设备。
ESP32内置了蓝牙模块,支持经典蓝牙(Bluetooth Classic)和低功耗蓝牙(BLE, Bluetooth Low Energy)。经典蓝牙主要用于音频传输或文件共享等较大数据量的应用,而低功耗蓝牙则适用于传感器数据传输、健康监测等小数据量、低功耗场景。
本文主要以经典蓝牙为例,介绍如何通过ESP32与手机设备进行配对和连接。
文件 > 首选项
,在“附加开发板管理器网址”中添加以下URL:
https://dl.espressif.com/dl/package_esp32_index.json
然后在工具 > 开发板 > 开发板管理器
中搜索并安装esp32
。
下面是一个简单的示例代码,展示如何通过ESP32实现蓝牙配对和连接。
首先需要初始化ESP32的蓝牙模块,设置设备名称和PIN码。
#include <BluetoothSerial.h>
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to enable it.
#endif
BluetoothSerial SerialBT;
void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32_BT"); // 设备名称为 "ESP32_BT"
Serial.println("The device started, now you can pair it with bluetooth!");
}
void loop() {
if (SerialBT.available()) {
String value = SerialBT.readString();
Serial.println(value);
}
delay(20);
}
ESP32_BT
的设备,点击配对。1234
),完成配对。一旦配对成功,可以通过串口发送数据到ESP32。例如,在手机端使用蓝牙串口调试工具发送消息,ESP32会通过串口打印接收到的数据。
以下是蓝牙配对和连接的整体流程图:
sequenceDiagram participant 手机 as 手机 participant ESP32 as ESP32 Note over 手机,ESP32: 开始蓝牙配对 手机->>ESP32: 搜索蓝牙设备 ESP32-->>手机: 发现设备 "ESP32_BT" 手机->>ESP32: 请求配对 ESP32-->>手机: 提示输入PIN码 手机->>ESP32: 输入PIN码 "1234" ESP32-->>手机: 配对成功 手机->>ESP32: 发送数据 ESP32-->>手机: 接收并处理数据
1234
。