我尝试通过BLE
从Android device
发送大约10 MB的数据,目前能够达到17Kbps,这是通过BLE
获得的最佳吞吐量,还是可以通过youtInt * 10 + (yourInt < 0 ? -yourDigit : yourDigit)
进行改进手段。
答案 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个字节。