鸿蒙HarmonyOS SDK
OTA
发起 OTA

发起 OTA

通过统一 capability 升级

import {
  GizOTAProgressData,
  GizOTAFirmwareType,
} from '@gizwits/smart-sdk';
import { hilog } from '@kit.PerformanceAnalysisKit';
 
await device.bleCapability.startUpgrade(
  device,
  GizOTAFirmwareType.MCU,
  (progress: GizOTAProgressData): void => {
    hilog.info(
      0x0000,
      'GizwitsSample',
      'BLE OTA event=%{public}s progress=%{public}d%%',
      progress.event,
      progress.percentage
    );
  }
);

startUpgrade() 会重新检查更新、下载固件并通过 BLE 传输。没有可用升级、设备不支持 OTA 或同一设备已有任务时会抛出异常。

使用底层 OTA 管理器

高级场景可取得 GizBleOTAManager

const otaManager = GizBluetoothManager.getOtaManager(device);
await otaManager.startUpgrade(GizOTAFirmwareType.MCU, progressHandler);

普通业务建议继续使用 device.bleCapability,以保持跨通道 API 的调用方式一致。

⚠️

升级期间保持应用前台、网络可用和设备在有效蓝牙距离内,不要为同一设备并发启动多个 OTA 任务。