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 {
        // 失败
    }
}
};

results matching ""

    No results matching ""