我想知道Android手机与BLE外围设备之间的最大数据传输速度是多少。
维基百科表示这是“ 125 kbit / s – 1 Mbit / s – 2 Mbit / s”(https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#Technical_details)
但是,我尝试实现一个POC,一个BLE外设每10毫秒发送20个字节的通知(这将导致16 kbit / s的数据传输速度),然后移动应用程序订阅这些通知。我只收到一小部分发出的通知(10%,即1600 bit / s)。如果我增加发送的通知数量,则收到的通知数量不会增加(有时甚至会减少)。
我的测试是使用react-native-ble-plx(针对手机)和react-native-ble-peripheral(针对伪造的BLE外设)完成的。
如何通过BLE外设实现1 Mbit / s的数据传输速度?
答案 0 :(得分:0)
您无法提高BLE数据传输速度。但是,您可以请求增加最大传输单元(MTU),即最大的数据包大小,以BLE中心和外围设备之间可以发送的字节数指定。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
bluetoothGatt.requestMtu(mtu);
}
然后处理您的BluetoothGattCallback
的回复
@Override
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
}