【问题标题】:BLE data transfer speedBLE数据传输速度
【发布时间】:2020-06-05 23:01:17
【问题描述】:

我想知道 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 位/秒)。如果我增加发送的通知数量,收到的通知数量不会增加(有时甚至会减少)。

我的测试是使用react-native-ble-plx 用于手机,react-native-ble-peripheral 用于伪造的 BLE 外设。

如何使用 BLE 外设实现 1 Mbit/s 的数据传输速度?

【问题讨论】:

标签: bluetooth bluetooth-lowenergy android-bluetooth react-native-ble-plx


【解决方案1】:

您无法提高 BLE 数据传输速度。但是,您可以请求增加最大传输单元 (MTU),即最大数据包大小,以字节为单位指定,可以在 BLE 中心和外围设备之间发送:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    bluetoothGatt.requestMtu(mtu);
}

然后在您的BluetoothGattCallback's 中处理响应

@Override
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {

}

【讨论】:

    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多