首先针对2.0的蓝牙设备对于数据的传送很有局限,每次只能传输20个字节,如果传输大数据还会特别不稳定,所以关于固件升级,能不通过蓝牙升级就不要通过蓝牙升级,但是有时候必须实现这种需求,就没办法,一定得入坑去研究了,最近在做的一个项目,设备需要两个空中升级的功能,一个是给CPU芯片软件升级,一个是给蓝牙芯片软件升级,但是升级方式是相同的,下面是一些示例代码:
首先还是得读懂文档看明白如何通信
1有关蓝牙的配对连接请参考蓝牙配对githubDemo 这个库对于蓝牙连接配对描述的很详细,也很好用。首先是蓝牙连接:
private void connectDevice() {
BleConnectOptions options =new BleConnectOptions.Builder().setConnectRetry(3).setConnectTimeout(10000).setServiceDiscoverRetry(3)
.setServiceDiscoverTimeout(10000).build();
ClientManager.getClient().connect(mBluetoothDevice.getAddress(), options, new BleConnectResponse() {
@Override
public void onResponse(int code, BleGattProfile profile) {
hideConnectDialog();
if (code ==REQUEST_SUCCESS