【发布时间】:2020-05-11 22:42:01
【问题描述】:
我基于处理 BLE 5 的 nRF52 SOC 构建了一个自定义 ARM 设备。我使用 Core Bluetooth 框架在 SWIFT/X-Code/IB 中编写了一个自定义应用程序,并且无法从 ARM 设备流式传输数据的速度比大约12 KB。使用数据包嗅探器,我可以看到 ARM 设备实时发送了所有数据包,但 iPhone 读取它们的速度不会超过每秒几次。在极少数情况下,iPhone 会快速读取所有内容。蓝牙连接协商到 12-24 毫秒的延迟。我使用的是 Nordic nRF52 SDK 版本 16。当时 iPhone 没有连接到任何其他 BLE 设备。
还有其他人遇到过这个问题吗?如果有帮助,我可以贴出ARM设备上使用的代码和XCode代码。
【问题讨论】:
-
您使用的是 L2Cap 通道吗?
-
深入研究后,我好像在使用 GATT(Nordic SDK 中的默认设置)
-
对于 BLE 上的高数据速率传输,您需要使用 L2Cap 通道。
-
感谢您的评论。 ARM设备实时快速发送所有数据包; iPhone只是慢慢地处理它们。更改为 L2Cap 会影响 iPhone 处理传入数据的方式吗?
-
是的,L2Cap 通道是一种流连接,旨在更快地传输大量数据。它比 GATT 的开销更少,并且没有相同的大小限制。
标签: ios performance bluetooth-lowenergy nrf52