我正在创建一个工具来检查是否存在许多(~100个)蓝牙设备。我已经拥有了他们的MAC地址。我只是想知道他们是否在范围内,即使不设置为可发现。
使用hcitool name <bt_addr>
执行此操作。但它不是很快;检查每个地址最多需要5秒钟,特别是如果设备不在范围内。如果我对并行子进程进行分叉,则每个进程仍需要5秒,就像bluez或堆栈中的某些内容正在序列化请求一样。
是否有更快的方法通过MAC地址检查BT设备的存在?我不需要知道它们的名称,只要它们存在(无论是否可被发现)。理想情况下,我想在半分钟或更短的时间内检查所有~100。
如果解决方案不需要sudo(如l2ping),则奖励积分,但如果这是唯一的方法,那就OK。平台是Ubuntu Linux,如果重要的话,使用Cambridge Silicon BT加密狗......
感谢名单,
- 史蒂夫
答案 0 :(得分:2)
没有 如果设备不可发现,则没有快速有效的方法。 任何其他方案(包括请求名称)都需要建立一个连接 - 每个连接只需几秒钟,连接过程无法在收音机上并行完成 - 它是一次一个。