ble调试助手,白名单

我在使用ble调试助手时,当我绑定蓝牙设备,蓝牙设备的调试信息打印已连接,但是app不会显示连接界面,点击连接也是超时。当我断开蓝牙,会打印断开连接并开始广播,再打开蓝牙,就可以正常连接。蓝牙设备用的时ch573芯片。这个问题是ble调试助手的bug吗?


 我使能了自动同步解析名单image.png

,然后在断开连接的函数里修改了广播策略,只允许白名单中的设备扫描和连接,当我断开手机蓝牙再打开,白名单的功能正常。但是我希望在配对的过程中不连接,或是配对后能断开连接,有什么办法解决呢?


另外,在广播阶段如何修改广播策略呢,按照社区里的方法,先失能广播,再修改广播策略,再使能广播,会进入等待广播的状态,打印调试信息为waiting advertising,然后就无法扫描到了。

进行配对绑定的时候,通过APP可以进行绑定。不要先通过系统配对连接,然后再通过APP连接。

断开连接可以调用GAPRole_TerminateLink处理。删除绑定可以参考第六点:

BLE配对与绑定三(杂谈) - SweetTea_lllpc - 博客园 (cnblogs.com)

进入waiting状态后是蓝牙停止广播了,需要重新使能打开广播,如修改广播内容可以参考:

蓝牙BLE从机Peripheral讲解六(动态广播与连接) - SweetTea_lllpc - 博客园 (cnblogs.com)


关于waiting的问题,我在waiting后再使能广播,就可以正常广播了,应该是失能广播后要等待进入waiting状态再使能广播才有效。

另外,进行配对的时候芯片会先连接上,配对完后app没有显示连接的界面,点连接会显示超时,关闭蓝牙,芯片显示连接断开进入广播模式,再打开蓝牙就可以正常连接。我想到的解决办法是,配对绑定完成后断开连接,但是跟配对绑定相关的操作都被封装了,也没有相关的回调函数,我不知道在哪去断开连接,例程用的是从机串口透传例程。


添加完整的回调函数,在没有配对完成的时候,蓝牙连接上的话可以手动的断开连接。(central里面有这个函数,peripheral默认没有这个函数,需要添加)。

image.png

一般在进行APP配对连接的时候,是将从机的配对绑定属性给打开。手机APP在搜索到从机的时候直接点击连接,会提示进行绑定操作并输入密码,涉及到APP连接的话可以这样处理。

参考:

BLE配对与绑定二(连接) - SweetTea_lllpc - 博客园 (cnblogs.com)


只有登录才能回复,可以选择微信账号登录