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

标签 ios bluetooth bluetooth-lowenergy core-bluetooth

我有两个具有相同 UUIDBLE 设备。有什么方法可以同时连接到它们吗?

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

最佳答案

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

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

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

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

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

关于ios - 将两个具有相同 UUID 的 BLE 设备配对(使用 CoreBluetooth),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41691792/

相关文章:

android - 通过蓝牙在 iOS 和 Android 之间传输数据?

Java (J2SE) 低功耗蓝牙 (BLE)

ios - 解析 PFQueryTableViewController numberOfRowsInSection 错误

ios - 自定义TableViewCell移动抓取器

ios - 以编程方式将 navigationController 添加到指定 viewController,无需 Storyboard swift

Android + ESP32 通过蓝牙 (BLE) 发送数据

ios - AirLocate 和 BeaconDemo : not showing up

ios - RestKit OAuth 2 密码验证流程

c# - 如何在 Windows 7 桌面上接受传入的蓝牙连接(使用 c++ 或 c# 程序)

android - 如何将 Android BLE BluetoothGattCallback 设置为具有状态 BluetoothProfile.STATE_CONNECTING?