一个BLE中心设备能否通过低功耗蓝牙连接多个BLE外围设备?

7

我正在使用Core Bluetooth框架开发iOS应用程序。我对蓝牙低功耗有以下问题:

  1. 在iOS中,一个中心设备能否连接多个外围设备?
  2. 多个中心设备能否连接一个外围设备?
  3. 一个iOS设备可以同时作为中心设备和外围设备吗?
  4. 如果可以,那么如果这两个设备都尝试作为中心设备互相连接会发生什么?
  5. 当应用程序处于后台时,我们能否通过BLE进行通信?
2个回答

10

一个中心设备能否连接多个外围设备在iOS上?

可以。

多个中心设备能否连接同一个外围设备?

这完全取决于外围设备是否支持(但对于大多数常见的嵌入式设备而言,不支持)。

一个iOS设备能否同时作为中心和外围设备?

可以。

如果可以,那么如果两个这样的设备都尝试将自己作为中心设备连接彼此,会发生什么?

它们通常会连接两次。在一次连接中,其中一个是中心设备,另一个是外围设备。在另一次连接中,反之亦然。这是一种相当不寻常的系统设计方式,但它通常会起作用,尽管它是不合法的(请参见下面Youssif的评论)。

当应用程序处于后台时,我们能否通过BLE通信?

可以,在各种限制下。


7
好的回答。我唯一的意见是关于两台设备同时连接为中央和周边设备。虽然在许多情况下,它们会像你所说的那样连接两次,但从技术上讲,根据蓝牙规范这样做是不合法的。这在《蓝牙规范v5.0第6卷第B部分第4.5节》中有明确规定:“两个LE设备地址之间只能有一个连接。发起方不得向已经连接的广告方发送连接请求。如果广告方收到来自已经连接的发起方的连接请求,则应忽略该请求”。 - Youssif Saeed

1
1. 是的,一个Central可以连接多个Peripherals。 2. 未确认。但是单个Peripheral只能与一个Central设备连接,而多个Peripherals可以连接一个Central。这意味着Central可以同时与多个Peripherals通信。 3. 是的,一个单独的iOS设备可以同时作为Central和Peripheral工作。 4. 它逐一进行通信。 5. 是的,我们可以在iOS设备的后台模式下通过BLE进行通信。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接