使用 ESP32 通过 AT 命令与 手机蓝牙进行配对连接

1. 编译 ESP-AT ,在 menuconfig 配置选项中开启 BT SPP 命令的支持,如下:

menuconfig -> Component config -> AT
使用 ESP32 通过 AT 命令与 手机蓝牙进行配对连接_第1张图片

2. AT 固件编译完成后,准备 1 个 ESP32 设备下载 AT 固件。

3. 使用手机与 ESP32 进行蓝牙配对,在 ESP32 设备端请运行如下命令:

AT+BTINIT=1         //开启经典蓝牙服务

AT+BTNAME="123"     // 将设备设为 BT SPP Slave 

AT+BTSPPINIT=2      //设置 BT SPP Slave 的名称

AT+BTSCANMODE=2     //设置可连接可扫描模式

AT+BTSECPARAM=2,0,"1234"    //设置经典蓝牙安全参数,将 io_cap 能力设置成 keyboard 就可以产生配对码 

AT+BTSPPSTART       //开始 BTSPP 服务,手机搜索到 ESP32 的蓝牙,然后主动发起配对请求,此时会在手机端产生一个动态的 6 位配对码

AT+BTKEYREPLY=0,566181    //然后在 ESP32 设备端执行此命令,其中 566181 为手机端产生的动态 6 位配对码

4. 使用手机蓝牙扫描 ESP32 BT 设备,手机端主动发起与 ESP32 BT 连接,此时手机端会生成动态配对 PIN 码。然后在 ESP32 设备端输入配对命令与手机建立配对请求。此过程结束后,ESP32 与 手机蓝牙即配对成功。

使用 ESP32 通过 AT 命令与 手机蓝牙进行配对连接_第2张图片

使用 ESP32 通过 AT 命令与 手机蓝牙进行配对连接_第3张图片


【说明】

  • ESP32 默认是支持 6 位的 PIN 和 4 位的 PIN,但是因为 4 位的 PIN 优先级比较低,如果双方都支持 6 位 PIN 的话就直接会产生 6 位 PIN 码。如果双方中有一方不支持 6 位 PIN 的话就会产生 4 位的 PIN 的 。不过我们 ESP32 和手机现在都支持 6 位的 PIN 的了,所以会产生 6 位的 PIN 码 。

  • 经典蓝牙里谁发起连接,谁就是 Master 设备。Slave 设备只能等待被连接,不能主动发起连接请求。

你可能感兴趣的:(AT,应用,(AT,Application),esp32)