发起 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 任务。