设备OTA开发

一. 设置OTA初始化方式

在connect之前,设置OTA初始化状态

/**
 * SDK启动时是否启动ota服务
 *
 * @param isStart    true会启动, 默认为true
 * @param isDownload true会自动下载,默认会true
 */
public void XIotMqttClient.getInstance().setOTAInitOnStart(boolean isStart, boolean isDownload)

二.设置版本号

在connect之前,设置当前固件版本,sdk在connect成功后,直接将版本号上传至服务。

/**
 * 设置当前固件版本
 *
 * @param version 版本号
 */
public void XIotMqttClient.getInstance().setFirmwareVer(String version)

三.接收固件更新信息

sdk在设置OTA启用并且默认下载后,连接服务时会上报版本信息,此时服务端会判断,如果有待升级版本,则下发致客户端,客户端通过onFireWareDownloaded回调接口进行监听。 继承XIotTopicCallback接口,实现onFirmWareDownloaded

/**
 * 固件版本下载监听
 * @param errCode      错误码,取值范围{0,-1},0表示成功,-1表示失败
 * @param firmwareInfo 在错误码为0时,下载固件的本机位置;错误码为-1 时,具体错误信息
 */
void XIotTopicCallback.onFirmWareDownloaded(int errCode, String firmwareInfo)

四.下载固件进度

sdk在下载固件时,会回调下载进度。

/**
 * 下载固件进度
 * @param progress  下载进度
 * @param total 文件总大小
 */
void XIotTopicCallback.onFirmWareDownloading(double progress, long total)

五.主动下载模式下的下载提示接口

在sdk选择启用OTA并不默认下载固件时,该接口会生效。在有固件升级时,会返回固件MD5等信息,提示有升级。

/**
 * 主动下载模式下的下载提示接口
 * @param firmwareName
 * @param version    固件版本
 * @param firmwareMD5   固件md5
 * @param size
 * @param firmwareInfo  固件信息
 */
void XIotTopicCallback.onFirmWareReadyToDownload(String firmwareName,String version,String firmwareMD5,long size,String firmwareInfo)

六.更新固件安装状态

在sdk选择启用OTA并不默认下载固件时,使用此函数主动下载固件

/**
 * 固件下载。 在调用{@link XIotMqttClient#initOTA}设置isDownload=false时,
 * 可在{@link XIotTopicCallback#onFirmWareReadyToDownload(String, String, String,long, String)}调用此函数下载固件
 * @param md5 {@link XIotTopicCallback#onFirmWareReadyToDownload(String, String, String,long, String)} 第二个参数返回的md5
 */
public void firmWareToDownload(String md5)

results matching ""

    No results matching ""