bluez是否支持与ios设备的低能耗配对?

bluez是否支持与ios设备的低能耗配对?,ios,iphone,linux,ubuntu,bluetooth-lowenergy,Ios,Iphone,Linux,Ubuntu,Bluetooth Lowenergy,我一直在为这个项目拼命工作。我有一个iPhone 5内置的应用程序,需要通过蓝牙低能与mac进行通信,我想通过linux使用bluez协议来实现。我用Ubuntu12.04启动了mac,我的iPhone应用程序是可连接的(作为外设),我用lightblue验证了这一点。所以,我的问题是,基本上,这是可能的吗?bluez会支持这种类型的连接吗,还是只在我使用加密狗时才起作用 我尝试了许多不同的bluez排列。我的linux内核是3.11.0。我想我目前正在运行Bluez4.98。我可以让hcito

我一直在为这个项目拼命工作。我有一个iPhone 5内置的应用程序,需要通过蓝牙低能与mac进行通信,我想通过linux使用bluez协议来实现。我用Ubuntu12.04启动了mac,我的iPhone应用程序是可连接的(作为外设),我用lightblue验证了这一点。所以,我的问题是,基本上,这是可能的吗?bluez会支持这种类型的连接吗,还是只在我使用加密狗时才起作用

我尝试了许多不同的bluez排列。我的linux内核是3.11.0。我想我目前正在运行Bluez4.98。我可以让hcitool来感知我的应用程序,然后我使用gatttool-b-I-t random,它给了我[][MAC……][LE]> 然后我输入connect,我得到 [CON][MAC……][LE]>约15秒,然后CON消失。那是我能做的最好的了。事实上,在这一点上,我甚至不明白了。我有三个错误中的任何一个。连接被拒绝(111)、无法创建连接或设备繁忙(16)

无论如何,任何帮助都是感激的


谢谢。

要快速回答您的问题,是的BlueZ支持与iOS设备配对。这就是说,蓝牙低能量的工作方式是,如果您想对某个特征执行操作(即读取、写入或启用指示/通知),您只需要配对,而该特征需要配对才能执行该操作。换句话说,我认为您看到的错误与配对无关(因为它们发生在您对特征做任何操作之前)。我建议您尝试使用以下命令重置hci设备:

hciconfig hciX reset
其中,hciX是您正在使用的本地hci设备

如果这不起作用,请尝试使用#hcidump或#btmon读取原始hci数据,并可能更清楚地了解可能发生的情况

如果您想确保您有本地hci设备(因此意味着您不需要加密狗),请运行以下命令

hcitool dev
这将显示本地hci设备。如果响应为空,则表示您的Linux系统没有使用苹果的蓝牙硬件,您可能需要一个加密狗

此外,还要注意其他常见错误,例如,您是否确定您的外围设备是可连接的,它是否具有适当的服务和特性实现,外围设备是否具有随机地址(因此使用-t random选项?),您是否确定可以从linux机上看到它(例如,使用#hcitool lescan命令),如果您正确使用gatttool命令。在这个网站上有几个很好的bluez问题,可以看看:

最后,在配对时,您必须通过传递“-sec-level=medium”或“-sec-level=high”来提高安全级别,例如

gatttool--sec level=high-t random-b--primary

gatttool-l high-t random-b--初级
这将启动配对过程,然后出现一个弹出窗口,要求您接受配对请求


我希望这会有所帮助,

谢谢。这确实给了我一些思考的东西。我会让你们知道事情的进展。所以,我尝试了以上所有方法。我很确定我以前试过所有这些东西,后来又试过一些,但我又试了一遍,仍然会犯同样的错误。hcitool dev返回一个本地设备,但当我尝试重置它时,它不会返回,这很奇怪,因为我确信我以前已经尝试过。除了尝试连接我自己的应用程序外,我还尝试连接到lightblue。两者都是可连接的,另一个将使用hcitool/gattool连接到我的linux机器。hcidump只给了我:HCI嗅探器-蓝牙数据包分析器2.2版设备:hci0 snap_len:1028过滤器:0xffffffffffff
gatttool --sec-level=high -t random -b <MAC Address> --primary
gatttool -l high -t random -b <MAC Address> --primary