通过BLE Android Nexus 9设备可以实现的最大吞吐量是多少?

时间:2017-12-14 07:07:26

标签: android bluetooth bluetooth-lowenergy

我尝试通过BLEAndroid device发送大约10 MB的数据,目前能够达到17Kbps,这是通过BLE获得的最佳吞吐量,还是可以通过youtInt * 10 + (yourInt < 0 ? -yourDigit : yourDigit) 进行改进手段。

2 个答案:

答案 0 :(得分:2)

控制BLE吞吐量有很多因素。使用基于GATT的API(并且没有LE数据包长度扩展)可以实现的理论最大值是37.6千字节/秒。在实践中,你可以在Android手机(具有良好的BLE芯片)上实现的最佳数字将达到~20kBps范围

如果您对控制吞吐量的不同因素的更多详细信息感兴趣check out this article

答案 1 :(得分:1)

17KBps的吞吐量不是很差。从Android应用程序方面,可以通过两种方式修改BLE吞吐量。您可以尝试这些方法。

(1)使用BLE写入数据而不进行确认,并对来自应用程序层的数据进行错误检查。与响应写入相比,这将提高数据传输速度。

(2)使用BLE 4.2中的数据长度扩展功能。如果两个设备的主机和控制器都支持此功能,则可以用来提高吞吐量。通常,初始化BLE连接时,两个设备都会协商设置两个设备支持的最大数据长度。如果要在Android设备中手动设置数据长度,请使用设置MTU功能。数据长度将设置为“新的MTU + 4字节”。 L2CAP开销为4个字节。