我在设置中的蓝牙适配器(在Ubuntu上)可以检测到我的AR Drone(MiniSpider)设备。但是使用simple Bluez code example来检测蓝牙设备,我无法检测到无人机设备。我的代码与前面提到的链接中的代码完全相同。我可以使用代码检测手机(如果手机已经可见)。
知道可能是什么问题吗?
hcitool lescan
的输出:它成功找到了无人机蓝牙设备。
sudo hcitool lescan
LE扫描...
A0:14:31:48:8C:EB RS_W082091
A0:14:31:48:8C:EB RS_W082091
A0:14:31:48:8C:EB RS_W082091
答案 0 :(得分:1)
您使用的代码段用于扫描经典蓝牙设备。这相当于在命令行中使用hcitool inq
,在这种情况下,您可能无法检测到您的设备。
然而,AR Drone似乎支持蓝牙低功耗(BLE),而非经典蓝牙。因此,使用查询方法您无法检测到它。如果您使用扫描BLE设备的代码,您将能够找到您的设备。您可以查看以下hcitool.c的源代码: -
https://github.com/aguedes/bluez/blob/master/tools/hcitool.c
然后你的出发点是使用hcitool lescan代码: -
static void cmd_lescan(int dev_id, int argc, char **argv)
{
...
}