设置蓝牙主从机上电自动配对的方法

有时候,我们希望蓝牙的主机在上电之后自动完成与从机的连接,而无需在每次上电后都发送一些AT指令来完成主从机的配对,该怎么做呢?
1、首先完成从机的设置:
AT+ROLE=0 //设置为从机
AT+PSWD=xxxx //xxxx是配对密码,根据需要设定
AT+UART=115200,0,0, //波特率115200,根据自己需要改变,一位停止位,无校验
AT+CMODE=1 //任意蓝牙地址配对模式
2、设置蓝牙主机:
AT+INIT //初始化SPP规范库(作用在下面会讲述)
AT+ROLE=1 //设置为主机
AT+PSWD=xxxx //与从机配对密码一致
AT+UART=115200,0,0, //与从机的设置必须一致
AT+CMODE=1 //同样设置为任意蓝牙地址配对模式
注:这里的配对过程与我们通常所认为的配对过程不同,平常我们在使用手机蓝牙时,如果要与其他蓝牙设备配对时,需要输入从机的密码,正确输入才能完成配对,于是我们很自然地认为这个过程是主机向从机发送一条连接指令,指令中的参数包含了从机的配对密码。而实际上,并没有任何一条AT指令具有这个功能,要实现主从机的配对,需要通信双方约定好一个共同的配对密码,并通过AT+PSWD来设置,这也解释了为什么连接从机时主机也要设置配对密码。
3、主机与从机进行配对:
①获取从机的模块地址,参考https://blog.csdn.net/weixin_44509533/article/details/109034456
②从机完成步骤1的配置后,重新给从机上电,使其进入等待配对的工作模式(而非AT指令工作模式)
③实际上,两个未经配对的蓝牙模块,即便有相同的配对密码,在上电后也不能自动完成配对。要让两个蓝牙模块进行配对,需要向主机发送如下配对指令
在这里插入图片描述
举例说明:
与从机:12:34:56: ab: cd:ef 配对,最大配对超时20秒
AT+PAIR =1234,56,abcdef,20\r\n
返回
OK
注意:如果返回ERROR(16)表示你没有执行AT+INIT指令,请返回第2步重新执行。
我们获得的蓝牙从机的物理地址一般是以NAP:UAP:LAP(十六进制)形式返回的。在使用AT指令时,要求以4位,2位,6位形式给出蓝牙地址,如果通过查询蓝牙地址的方式获得的蓝牙地址不满足上述格式,则应该用0补齐。例如,查询得蓝牙从机地址2019:5:83686,则使用该地址时应表示为2019,05,083687。

执行上面的指令后等待数秒一般就能完成配对了。此时蓝牙模块指示灯连续闪两下,熄灭,再连续闪两下,表示配对成功。
可以通过向主机发送AT+STATE?来验证是否配对成功
在这里插入图片描述
4、如果成功连接,那么两个蓝牙模块工作在正常模式(而非AT指令模式)下,上电后将自动完成配对。
5、如果希望建立唯一的配对,即蓝牙主机上电后只搜索特定的从机并与之连接时,则可以通过以下方法实现:
(1)AT+BIND=Param Param:从机蓝牙地址
举例说明:
在指定蓝牙地址连接模式下,绑定蓝牙设备地址:12:34:56: ab: cd:ef 命令及响应如下:
AT+BIND=1234,56,abcdef\r\n
返回OK
(2)AT+CMODE=0 //上电后自动搜索绑定的蓝牙从机

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星水天河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值