使用 2 个 ESP32 设备通过 AT 指令建立 BT 配对连接

前期准备:

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

    menuconfig -> Component config -> AT
    在这里插入图片描述


1. 使用两个 ESP32 设备,分别作为 BT Master 和 BT Slave 。Master 端主动发起连接,Master 端产生配对码;Slave 端输配对码的指令如下:

  • Master 端:

    AT+RESTORE                //恢复出厂设置
    
    AT+BTINIT=1               //初始化 BT 
    
    AT+BTNAME="Master"        //设置 BT 设备名称为 Master
    
    AT+BTSPPINIT=1            //初始化为 BT Master 设备
    
    AT+BTSECPARAM=0,0,"4321"          
    
  • Slave 端:

    AT+RESTORE                   //恢复出厂设置
    
    AT+BTINIT=1                 //初始化 BT 
    
    AT+BTNAME="Slave"           //设置 BT 设备名称为 Slave
    
    AT+BTSPPINIT=2              //初始化为 BT Slave 设备
    
    AT+BTSCANMODE=2             //设置可被连接、可被扫描模式
     
    AT+BTSECPARAM=2,0,"1234"
    
    AT+BLEADDR?                 //查询设备地址
    
    AT+BTSPPSTART               //开启 BT 服务
    
    AT+BTKEYREPLY=0,228541             //设置 BT 配对码,有时间限制
    

    在这里插入图片描述


2. 使用两个 ESP32 设备,分别作为 BT Master 和 BT Slave 。Master 端主动发起连接,Slave 端产生配对码;Master 端输配对码的指令如下:

  • Master 端:

    AT+RESTORE                //恢复出厂设置
    
    AT+BTINIT=1               //初始化 BT 
    
    AT+BTNAME="Master"        //设置 BT 设备名称为 Master
    
    AT+BTSPPINIT=1            //初始化为 BT Master 设备
    
    AT+BTSECPARAM=2,0,"4321"          
    
  • Slave 端:

    AT+RESTORE                   //恢复出厂设置
    
    AT+BTINIT=1                 //初始化 BT 
    
    AT+BTNAME="Slave"           //设置 BT 设备名称为 Slave
    
    AT+BTSPPINIT=2              //初始化为 BT Slave 设备
    
    AT+BTSCANMODE=2             //设置可被连接、可被扫描模式
     
    AT+BTSECPARAM=0,0,"1234"
    
    AT+BLEADDR?                 //查询设备地址
    
    AT+BTSPPSTART               //开启 BT 服务
    
    AT+BTKEYREPLY=0,228541             //设置 BT 配对码,有时间限制
    

    在这里插入图片描述


【说明】

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

  • 原则就是 Slave 的 IO 能力是 keyboard only,那在 Slave 端就只能输入 PIN 码

  • 在 Master 端可以设置 IO 能力是 displayonly,这样就可以产生 PIN 码。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值