TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540主机扫描数量问题

CC2540 主机去扫描从机,从机的数量有很多 上百个,主机上只显示8个蓝牙设备,应该是按信号强度只出现前8个蓝牙设备,我想按蓝牙设备名称搜索到特定的设备怎么操作,主机搜到指定的蓝牙名称为止

Susan Yang:

您可以用white list功能, 只接收白名单内的设备的广播.

LL_AddWhiteListDevice(address, LL_DEV_ADDR_TYPE_PUBLIC );
discoveryParams.taskID = hciExtApp_TaskID;discoveryParams.mode =DEVDISC_MODE_ALL;discoveryParams.nameMode = true;discoveryParams.whiteList = true;GAP_DeviceInit( hciExtApp_TaskID, GAP_PROFILE_CENTRAL, 1, IRK, SRK, &hciExtSignCounter );GAP_DeviceDiscoveryRequest(&discoveryParams);

Hank Zhang:

回复 Susan Yang:

白名单好像也是把蓝牙物理地址设置进去,但是物理地址不一定的,已知名称是统一的,是否可以通过名称过滤搜索呢

Hank Zhang:

回复 Susan Yang:

any update

Susan Yang:

回复 Hank Zhang:

参考

software-dl.ti.com/…/group___h_c_i.html

可以使用BTool来实现,如下

——————————————————————–
[13] : <Tx> – 04:36:31.932
-Type: 0x01 (Command)
-OpCode: 0x2011 (HCI_LEAddDeviceToWhiteList)
-Data Length: 0x07 (7) byte(s)AddressType: 0x00 (0) (Public Device Address)DeviceAddr: 11:33:33:44:22:66
Dump(Tx):
0000:01 11 20 07 00 66 22 44 33 33 11.. ..f"D33.
——————————————————————–
[14] : <Rx> – 04:36:31.949
-Type: 0x04 (Event)
-EventCode: 0x000E (Event)
-Data Length: 0x04 (4) bytes(s)Packets: 0x01 (1)OpCode: 0x2011 (HCI_LEAddDeviceToWhiteList)Status: 0x00 (0) (Success)
Dump(Rx):
0000:04 0E 04 01 11 20 00….. .
——————————————————————–

这样添加之后在GAP_DeviceDiscoveryRequest时就会启用“Use the white list during a scan”

“但是物理地址不一定的,已知名称是统一的”不太理解您这句的意思

Hank Zhang:

回复 Susan Yang:

物理地址意思是MAC地址,名称是蓝牙名称,就是我知道要搜索设备的蓝牙名称但不知道他的MAC地址

Susan Yang:

回复 Hank Zhang:

那您可以在从机的广播数据类型AD Type内使用 Local Name。

参考 www.race604.com/…/

而后主机来获取从机的广播数据(GAP_DEVICE_INFO_EVENT),用设备名Local Name来做过滤从机设备,只选择对应设备名的从机广播

参考 www.voidcn.com/…/p-uuqiepqw-em.html

赞(0)
未经允许不得转载:TI中文支持网 » CC2540主机扫描数量问题
分享到: 更多 (0)