【WCH蓝牙系列芯片】-基于CH32V208开发板—蓝牙HID设备回连绑定选择问题
------------------------------------------------------------------------------------------------------------------------------------
当一个BLE设备与蓝牙主机设备连接上,当主机断电重启之后,依然能够和配对过的BLE设备主动连接上,而不需要重新在扫描配对的流程,所以这个过程叫做回连操作。
回连功能是和主机相关的,比如手机可以回连hid类设备,peripheral例程中是没有HID服务,但是HID 的代码量都比较大,移植工作量大,所以可以在从机程序中添加HID服务,注册HID服务在蓝牙从机中,这样在peripheral例程也就具备HID回连操作,绑定手机系统蓝牙之后,进行回连操作。
在CH32V208中的peripheral例程添加HID的服务(hid_lite_service),并且在Peripheral_Init函数中进行注册HID服务初始化


在广播包中,在添加 HID的服务UUID服务,表明设备支持HID服务;还有添加HID设备类型,`GAP_APPEARE_HID_MOUSE` 是设备外观的值,表示该设备是一个HID鼠标。当手机扫描到这些信息后,能够识别出该设备是一个 HID 设备,并且知道它支持 HID 服务。对于手机与设备建立连接之后,回连操作。

在绑定回连操作中,有时是这样的应用:当自己的手机端第一次与蓝牙设备进行配对绑定之后,然后取消配对功能,然后当自己的手机靠近设备之后,能够BLE自动回连操作,进行通信,当没有进行绑定的手机,只能进行手动连接蓝牙设备,作为临时的建立连接,进行通信操作。这个操作只需要在从机初始化中添加配置信息。(GAPBOND_AUTO_FAIL_PAIRING)
GAPBOND_AUTO_FAIL_PAIRING------是当设备收到配对请求时,直接自动发送配对失败的相应,默认值为 0,表示该功能是禁用的
默认初始化的时候开启配对绑定的模式,GAPBOND_AUTO_FAIL_PAIRING传入0,让设备一开始的时候,可以任意手机去进行绑定操作,然后在利用TMOS创建一个任务事件,将GAPBOND_AUTO_FAIL_PAIRING传入1,然后禁止绑定操作。

然后再初始化中,添加这个任务的启动,并且加入延时时间,这里传入是十秒时间,也就再蓝牙启动之后,10秒之内的时间,可以冉给手机任意绑定,然后十秒之后,执行SBP_bonding_auto_fail_EVT事件之后,就不可以进行绑定,直接回复绑定失败,这样之前绑定过的手机可以靠近自动回连,没有绑定过的手机,只能临时自己手机去连接设备,不能进行绑定操作。

当连接这个蓝牙设备之后,然后执行SBP_bonding_auto_fail_EVT事件之后,再拿另一个手机去进行配对绑定时,就会立马回复配对失败的指示。只能用BLE调试助手去建立连接收发数据,不能进行绑定操作。

浙公网安备 33010602011771号