SDK提供蓝牙OTA业务的App端解决方案,提供了蓝牙设备固件升级的能力。

依赖 SDK 概述
蓝牙 Breeze SDK是按照规范实现的手机端蓝牙SDK,方便合作厂商在手机端快速接入蓝牙功能。Breeze SDK 包含的主要功能有:设备发现连接,设备通信,加密传输,大数据传输等。
API通道 提供API通道能力,和基础环境配置信息。

初始化

按照以下步骤进行初始化。

  1. 先通过android蓝牙SDK连接上设备,获取IBreezeDevice实例。
  2. 通过IBreezeDevice实例,BreezeHelper.getDeviceInfo()获取deviceinfo
    getDeviceInfo(breezeDevice,new IDeviceInfoCallback(){
      void onDeviceInfo(DeviceInfo info){
        mInfo = info;
    };
    					
  3. 通过DeviceInfoBreezeHelper.bindBreezeDevice()绑定到当前用户,获取iotID
    BreezeHelper.bindBreezeDevice(breezeDevice, mInfo, new BindCallback(){
        void onBindResult(BindResult result, int error){
        if (null == error){
          mIotId = result.iotId;
      }
    });

使用方式

先在生活物联网后台配置OTA任务,参见蓝牙连接开发指南

  1. 获取OTA实例

    获取OTA对象实例,并初始化(注意 不再使用的时候务必释放资源),device是breeze连接对象。

    mBusiness = Factory.create(device);
            mBusiness.init();
  2. 检查有无可以更新的固件

    检查是否有新更新,mIotId在成功绑定时获取会返回。

    mBusiness.inquiryNewVersion(mIotId, new ILinkOTABusiness.IInquiryNewVersionCallback() {
                        @Override
                        public void onResult(boolean needUpgrade, String error, String result) {
                            // 提示用户升级
                        }
                    });
  3. 开始OTA升级

    如果有新的OTA固件可以升级,且用户同意升级,调用下列接口开始升级,升级进度通过IOtaListener回调。

    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);
  4. 停止OTA升级

    但OTA结束后(失败或成功)或者用户向终止OTA,调用下列接口停止升级。

    mBusiness.stopUpgrade();
  5. 释放OTA资源

    最后释放OTA资源,注意,当不需要OTA时,务必释放OTA资源。

    mBusiness.deInit();