蓝牙 OTA SDK
更新时间:2018-10-19 11:29:34
概述
SDK 提供蓝牙 OTA 业务的 APP 端解决方案,提供了蓝牙设备固件升级的能力。
注:进行 OTA 前,必须要连接 breeze 设备,绑定设备,上报设备版本号。
依赖SDK | 概述 |
---|---|
API 通道 | 提供 API 通道能力,和基础环境配置信息 |
蓝牙 | Breeze SDK 是按照规范实现的手机端蓝牙 SDK,方便合作厂商在手机端快速接入蓝牙功能。Breeze SDK 包含的主要功能有:设备发现连接,设备通信,加密传输,大数据传输等。 |
初始化
使用 create 来创建业务对象
mBusiness = Factory.create(device);
device 来自于与设备建立好连接的 device 对象,如何与设备建立蓝牙连接,参见 蓝牙 SDK。
使用方式
基本流程是用户先绑定设备,得到一个 iotId, 再上报版本,进行 OTA 升级,取消 OTA 流程等。
绑定设备
OTA 前必须绑定设备 ,绑定后,会得到一个 mIotId, 参数 mDeviceInfo 可以通过 getDeviceInfo 接口获取
BreezeHelper.bindBreezeDevice(mDeviceInfo, new IoTCallback{
@Override
public void onFailure(IoTRequest request, Exception e) {
Log.w(TAG, "onFailure", e);
}
@Override
public void onResponse(IoTRequest request, IoTResponse response) {
mIotId = (String) response.getData();
}
}
上报设备版本
进行 OTA 前,必须要上报设备版本号,否则后台无法对这些设备进行OTA升级,因此,我们建议在连接好蓝牙设备时就立即上报设备版本,而不是在OTA前才上报,这里仅仅是作为示例以供参考。如何上报版本,参见 固件升级服务-上报版本号,其中设备版本 version 通过 getVersionFromDevice 接口获取
开始 OTA 升级
只有在绑定了设备,上报设备版本后才能通过 startUpgrade 开始 OTA 升级过程。
mBusiness.startUpgrade(iotId, false, ILinkOtaBusiness.DEVICE_TYPE_BLE,
new ILinkOtaBusiness.IOtaListener() {
@Override
public void onNotification(int type, ILinkOtaBusiness.IOtaError error) {
Log.d(TAG, "onNotification type:" + type + " error:" + error);
}
}
停止 OTA 升级
OTA 完成后,必须要通过 stopUpgrade 停止掉,可以随时停止正在进行中的OTA过程。
mBusiness.stopUpgrade();
混淆配置
-keep class com.aliyun.iot.breeze.ota.LinkOtaBusiness$FirmwareInfo {*;}