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

Pairing two BLE Devices with the same UUID (with CoreBluetooth)

我有两个 BLE devices 具有相同的 UUID。有什么方法可以同时连接到它们吗?

现在我什至无法使用 bluetooth explorer 同时看到两个设备,所以我假设系统将它们显示为一个设备。它仍然有可能吗?

如果两个设备具有相同的 UUID ,那么我认为它们会被视为单个设备。我建议向 UUID 发送触发通知并检查哪个设备将首先响应。其次,尝试向距离较远的设备发送通知。离您的 smartphone/bluetooth 探险家越近,将首先收到通知。蓝牙在距离基础上工作,靠近源的设备将比其他设备收到通知one.I 尝试了与 Beacons 相同的方法,但最终和你一样。

我假设 UUID 是指设备的 MAC-Address(蓝牙地址)。 UUID 通常用于服务和特征。

所有连接过程都以蓝牙地址为主要参数。所以具有相同地址的两个设备将被视为相同的设备。 (事实上​​,MAC-Addresses 的蓝牙设备应该是唯一的是一个普遍的要求,正是出于这个原因。)

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

您可以在蓝牙核心规范第 1 卷中找到有关如何完成连接的更多信息。 3,C 部分,章节 9.3.5 - 9.3.8.

(*) 这意味着连接到两个不同设备的常用方式。由于传入消息在具有相同地址的两个设备之间的 Link 层级别无法区分(您的控件将始终认为只有一个设备具有给定的地址),您可能会搞砸这个事实,尤其是在non-encrypted 个连接(由于加密是在 device-to-device 的基础上协商的,因此另一台设备无法加入加密连接,即使它具有相同的蓝牙地址)。但是绝对不建议这样做。