GizDeviceOTA 类
GizDeviceOTA类提供设备固件升级功能。可升级设备的wifi模组固件以及mcu固件。
目录
属性访问
[setListener]
设置GizDeviceOTA监听
定义
public static void setListener(GizDeviceOTAListener listener);
参数
属性名 | 描述 |
---|---|
listener | GizDeviceOTAListener监听对象 |
代码示例
GizDeviceSharing.setListener(mListener);
回调接口
以下是GizDeviceOTA类提供的所有回调接口:
- didNotifyDeviceUpdate:设备固件有更新的主动通知
- didNotifyDeviceUpgradeStatus:固件升级状态的主动通知
- didCheckDeviceUpdate:检查固件更新的回调
- didUpgradeDevice:固件开始升级的回调
[didNotifyDeviceUpdate]
回调
设备固件有更新的主动通知。设备固件有新版本时触发该回调
public void didNotifyDeviceUpdate(GizWifiDevice device, ConcurrentHashMap<String,String> wifiVersion, ConcurrentHashMap<String,String> mcuVersion);
回调参数
属性名 | 描述 |
---|---|
device | 回调的 GizWifiDevice 对象 |
wifiVersion | 模组固件版本,字典格式:{"latest":"xxx", "current":"xxx"}。若此参数为null,表示没有检查到模组固件更新信息 |
mcuVersion | mcu固件版本,字典格式:{"latest":"xxx", "current":"xxx"}。若此参数为null,表示没有检查到mcu固件更新信息 |
代码示例
GizDeviceOTA.setListener(mListener);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didNotifyDeviceUpdate(GizWifiDevice device, ConcurrentHashMap<String,String> wifiVersion, ConcurrentHashMap<String,String> mcuVersion) {
}
};
[didNotifyDeviceUpgradeStatus]
回调
设备升级状态的主动通知。设备在升级过程中会主动上报升级状态,此时会触发该回调
public void didNotifyDeviceUpgradeStatus(GizWifiDevice device, GizOTAFirmwareType firmwareType, GizWifiErrorCode upgradeStatus);
回调参数
属性名 | 描述 |
---|---|
device | 回调的 GizWifiDevice 对象 |
firmwareType | 正在升级的固件类型 |
upgradeStatus | 设备升级状态,见GizWifiErrorCode定义中枚举值范围[8350, 8360] |
代码示例
GizDeviceOTA.setListener(mListener);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didNotifyDeviceUpgradeStatus(GizWifiDevice device, GizOTAFirmwareType firmwareType, GizWifiErrorCode upgradeStatus) {
}
};
[didCheckDeviceUpdate]
回调
检查设备更新的回调,调用检查更新接口checkDeviceUpdate时触发该回调
public void didCheckDeviceUpdate(GizWifiDevice device, GizWifiErrorCode result, ConcurrentHashMap<String,String> wifiVersion, ConcurrentHashMap<String,String> mcuVersion);
回调参数
属性名 | 描述 |
---|---|
device | 回调的 GizWifiDevice 对象 |
result | 接口执行结果,见GizWifiErrorCode定义。GIZ_SDK_SUCCESS表示成功,其他为失败。失败时参数wifiVersion和mcuVersion值为null |
wifiVersion | 模组固件版本,字典格式:{"latest":"xxx", "current":"xxx"}。若此参数为null,表示没有检查到模组固件更新信息 |
mcuVersion | mcu固件版本,字典格式:{"latest":"xxx", "current":"xxx"}。若此参数为null,表示没有检查到mcu固件更新信息 |
代码示例
GizDeviceOTA.setListener(mListener);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didCheckDeviceUpdate(GizWifiDevice device, GizWifiErrorCode result, ConcurrentHashMap<String,String> wifiVersion, ConcurrentHashMap<String,String> mcuVersion) {
if(result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
// 成功处理,取最新版本号
} else {
// 失败处理
}
}
};
[didUpgradeDevice]
回调
设备开始升级的回调,调用开始升级接口upgradeDevice时触发该回调
public void didUpgradeDevice(GizWifiDevice device, GizWifiErrorCode result, GizOTAFirmwareType firmwareType);
回调参数
属性名 | 描述 |
---|---|
device | 回调的 GizWifiDevice 对象 |
result | 接口执行结果,见GizWifiErrorCode定义。GIZ_SDK_SUCCESS表示成功,其他为失败 |
firmwareType | 正在升级的固件类型 |
代码示例
GizDeviceOTA.setListener(mListener);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didUpgradeDevice(GizWifiDevice device, GizWifiErrorCode result, GizOTAFirmwareType firmwareType) {
if(result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
// 成功
} else {
// 失败
}
}
};
API 定义
[checkDeviceUpdate]
检查固件是否有更新
定义
public static void checkDeviceUpdate(String uid, String token, GizWifiDevice device);
参数
属性名 | 描述 |
---|---|
uid | 用户uid |
token | 用户token |
device | 待检查固件版本的设备 |
代码示例
// 设置OTA监听
GizDeviceOTA.setListener(mListener);
// 检查固件版本是否有更新。mDevice为从设备列表中取到的待升级的设备
GizDeviceOTA.checkDeviceUpdate("your_uid", "your_token", mDevice);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didCheckDeviceUpdate(GizWifiDevice device, GizWifiErrorCode result, ConcurrentHashMap<String,String> wifiVersion, ConcurrentHashMap<String,String> mcuVersion) {
if(result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
// 成功处理,取最新版本号
} else {
// 失败处理
}
}
};
[upgradeDevice]
开始升级
定义
public static void upgradeDevice(String uid, String token, GizWifiDevice device, GizOTAFirmwareType firmwareType);
参数
属性名 | 描述 |
---|---|
uid | 用户uid |
token | 用户token |
device | 要升级的设备 |
firmwareType | 要升级的固件类型,见GizOTAFirmwareType枚举定义 |
代码示例
// 设置OTA委托
GizDeviceOTA.setListener(mListener);
// 开始升级。mDevice为刚检查过版本信息待升级的设备
GizDeviceOTA.upgradeDevice("your_uid", "your_token", mDevice, GizOTAFirmwareType.GizOTAFirmareModule);
// 实现回调
GizDeviceOTAListener mListener = new GizDeviceOTAListener() {
@Override
public void didUpgradeDevice(GizWifiDevice device, GizWifiErrorCode result, GizOTAFirmwareType firmwareType) {
if(result == GizWifiErrorCode.GIZ_SDK_SUCCESS) {
// 成功
} else {
// 失败
}
}
};