buhuiming / BleCore

Android蓝牙低功耗(BLE)快速开发框架
172 stars 32 forks source link

大佬,请问如何提升发送固件文件的速度? #7

Closed lichao3140 closed 1 year ago

lichao3140 commented 1 year ago

情况说明:蓝牙固件文件文件大小有1.5M左右,设置Mtu为512,读取固件文件以hex发送给设备。间隔1000ms给writeData传ByteArray的长度为2048的数据给设备。我看日志,您做了分包,每次startWriteJob的差不多100ms,这样发送完要10分钟,请问如何修改才能更快?

buhuiming commented 1 year ago

试试设置设备的传输优先级:BleManager.get().setConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH)

connectionPriority 必须是以下的其中一个 [BluetoothGatt.CONNECTION_PRIORITY_BALANCED] (默认)、 [BluetoothGatt.CONNECTION_PRIORITY_HIGH] (高优先级,低延迟,传输完请求设置 CONNECTION_PRIORITY_BALANCED,以减少能源使用)、 [BluetoothGatt.CONNECTION_PRIORITY_LOW_POWER] (低功耗)

buhuiming commented 1 year ago

写操作的时间间隔,可以通过BleOptions.setOperateInterval()来设置

lichao3140 commented 1 year ago

谢谢大佬指导,这样调整,6分钟左右可以完成1.5M的OTA升级了