CC2640R2: 请问如何实现搜索范围内的设备只有一个特定设备连接蓝牙?
时间:10-02
整理:3721RD
点击:
各位大侠好,
现在单位有这样2个需求:
1.一个人持手机(Central设备,连接中处于Master角色)走进房间,房间里有多个CC2640R2芯片(Peripheral设备,连接中处于Slave角色)。现在打开手机APP搜索蓝牙设备,被手机搜索到的CC2640R2芯片要控制自身GPIO口点亮LED,未被搜索到的芯片不亮,请问这个有没有办法实现?
2.基于状态1,被搜索到的其中一个CC2640R2按动开关,那么只有这个被按下开关的CC2640R2才能实现与手机的配对,请问这个有没有办法实现?
因为以前曾有过一个成功案例:小米手环可以实现这个,被搜索到时亮灯,晃动或敲击便可与手机连接,不知CC2640R2能否实现这样的效果。
谢谢。
功能实现是可行的,不过需要自己在里面添加相关代码。原始的协议栈只有蓝牙功能,具体应用需要用户自行定义
个人觉得可以这样实现:
APP 开始扫描的时候,会广播一些扫描请求,多个CC2640R2 会收到这些扫描请求 后发送回应信息,这些回应信息就在结构体中 gapDeviceInfoEvent_t,gapDeviceInfoEvent_t里面包括发送者的地址,保存这些信息,这时停止扫描, 根据收到这些地址,使用函数GAPCentralRole_EstablishLink(......., 对方地址);一个一个的发送建立通信请求信息,CC2640R2收到后不响应,只是点亮LED,如果有按钮按下,才响应,然后接着配对自动完成。
好的,谢谢