Android:同时 BLE 连接的限制
Android: Limit of simultaneous BLE connections
我们正在开发一个 Android 应用程序,它可以通过低功耗蓝牙同时连接到多个心率传感器。
我们有一个运行良好的实现,所以代码不是问题。
让我们抓狂的是并行 BLE 连接的限制,这似乎因设备而异。
我们这里有一些测试设备:摩托罗拉 MotoE 和 MotoG、三星 Galaxy Tab A 和 HTC Nexus 9。它们都是 运行 Android 5 或 6,原始供应商版本. None 其中能够同时连接超过 7 个 BLE HR 传感器。
然后我用我的私人三星 Galaxy S4 进行了测试,它已经 root 并安装了 Cyanogen CM12。使用此设备,我可以轻松地同时连接到 12 个心率传感器,这是我们希望通过我们的应用程序实现的数量。
我已经用我们自己的应用程序实现和 Nordic Semiconductor nRF 主控制面板对此进行了测试,我认为这是一个非常好的通用 BLE 应用程序:https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=de
当我尝试将应用程序连接到我们任何设备上的第 7 个 BLE 传感器时,ADB 输出打印以下错误消息:
E/BluetoothLeBasicConn:连接状态更改错误:133
我对整个问题进行了相当深入的谷歌搜索,但我发现的大多数结果都很陈旧。有人说,限制来自蓝牙芯片组本身,其他人说这是通过 Android 的软件限制。
你能帮我看看限制是从哪里来的吗?
如果是芯片组,那么我想知道,我们应该使用哪些设备来支持尽可能多的并行连接。遗憾的是,很难找出不同设备中内置的蓝牙芯片组。我发现的几乎所有硬件规格都没有说明这一点。
如果限制来自软件方面,我们是否可以在不对手机进行 root 或安装模组的情况下以某种方式更改它OS?
非常感谢!
以防你还对它感兴趣。极限来自
BTA_GATTC_CONN_MAX(在 android 中硬编码)
设置为:
- 4 Android 4.3 和
- 7 Android 4.4
顺便说一句,您可以激活通知的特征数量也有限制。 (BTA_GATTC_NOTIF_REG_MAX)
即:
- 4 Android 4.3,
- 7 Android 4.4 和
- 15 在 Android 5.0
我们正在开发一个 Android 应用程序,它可以通过低功耗蓝牙同时连接到多个心率传感器。
我们有一个运行良好的实现,所以代码不是问题。 让我们抓狂的是并行 BLE 连接的限制,这似乎因设备而异。
我们这里有一些测试设备:摩托罗拉 MotoE 和 MotoG、三星 Galaxy Tab A 和 HTC Nexus 9。它们都是 运行 Android 5 或 6,原始供应商版本. None 其中能够同时连接超过 7 个 BLE HR 传感器。
然后我用我的私人三星 Galaxy S4 进行了测试,它已经 root 并安装了 Cyanogen CM12。使用此设备,我可以轻松地同时连接到 12 个心率传感器,这是我们希望通过我们的应用程序实现的数量。
我已经用我们自己的应用程序实现和 Nordic Semiconductor nRF 主控制面板对此进行了测试,我认为这是一个非常好的通用 BLE 应用程序:https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=de
当我尝试将应用程序连接到我们任何设备上的第 7 个 BLE 传感器时,ADB 输出打印以下错误消息: E/BluetoothLeBasicConn:连接状态更改错误:133
我对整个问题进行了相当深入的谷歌搜索,但我发现的大多数结果都很陈旧。有人说,限制来自蓝牙芯片组本身,其他人说这是通过 Android 的软件限制。
你能帮我看看限制是从哪里来的吗?
如果是芯片组,那么我想知道,我们应该使用哪些设备来支持尽可能多的并行连接。遗憾的是,很难找出不同设备中内置的蓝牙芯片组。我发现的几乎所有硬件规格都没有说明这一点。
如果限制来自软件方面,我们是否可以在不对手机进行 root 或安装模组的情况下以某种方式更改它OS?
非常感谢!
以防你还对它感兴趣。极限来自 BTA_GATTC_CONN_MAX(在 android 中硬编码) 设置为:
- 4 Android 4.3 和
- 7 Android 4.4
顺便说一句,您可以激活通知的特征数量也有限制。 (BTA_GATTC_NOTIF_REG_MAX) 即:
- 4 Android 4.3,
- 7 Android 4.4 和
- 15 在 Android 5.0