使用相同的UUID配对两个BLE设备(使用CoreBluetooth)

时间:2017-01-17 08:02:05

标签: ios bluetooth bluetooth-lowenergy core-bluetooth

我有两个BLE devices具有相同的UUID。有没有办法连接到它们两个,以便它们同时连接?

现在我甚至无法使用bluetooth explorer同时看到两个设备,因此我认为系统中它们只显示为一个设备。它还有可能吗?

2 个答案:

答案 0 :(得分:1)

如果两个设备具有相同的UUID,那么我认为它们将被视为单个设备。我建议的是,向UUID发送触发通知并检查哪个设备将首先响应。其次,尝试向设备发送通知,将它们分开。离您的智能手机/蓝牙资源管理器越近,将首先通知您。蓝牙在距离的基础上工作,靠近源的设备将获得通知而不是另一个。我尝试了同样的信标,但最终像你一样。

答案 1 :(得分:1)

我假设使用UUID表示设备的MAC地址(蓝牙地址)。 UUID通常用于服务和特性。

所有连接程序均以蓝牙地址作为主要参数。因此,具有相同地址的两个设备将被视为同一设备。 (事实上​​,通常要求蓝牙设备的MAC地址应该是唯一的,正是出于这个原因。)

因此无法同时连接到具有相同地址的两个设备。 (*)

您可以在Bluetooth Core Spec,Vol。中找到有关如何完成连接的更多信息。 3,C部分,第9.3.5章 - 9.3.8。

(*)这是指连接两个不同设备的常用方法。由于传入的消息在具有相同地址的两个设备之间的链路层级别上是无法区分的(您的控制将始终认为只有一个具有给定地址的设备),您可能会弄乱这一事实,尤其是在非加密连接中(由于加密是在设备到设备的基础上协商的,因此另一个设备无法加入加密连接,即使它具有相同的蓝牙地址)。但绝对不建议这样做。