Link Kit C-SDK  5.0.0
结构体 | 类型定义 | 枚举 | 函数
aiot_ota_api.h 文件参考

设备升级模块头文件, 提供设备获取固件信息的能力 更多...

#include <stdint.h>

浏览源代码.

结构体

struct  aiot_ota_msg_t
 OTA消息的结构体 更多...
 

类型定义

typedef void(* ota_msg_callback_t) (void *device, const aiot_ota_msg_t *msg, void *userdata)
 设备OTA消息回调函数原型,用户定义后, 可通过 aiot_device_ota_set_callback 配置 更多...
 

枚举

enum  aiot_ota_digest_type_t { AIOT_OTA_DIGEST_MD5, AIOT_OTA_DIGEST_SHA256, AIOT_OTA_DIGEST_MAX }
 OTA过程中使用的digest方法类型, 分为MD5和SHA256两种 更多...
 

函数

int32_t aiot_device_ota_set_callback (void *device, ota_msg_callback_t callback, void *userdata)
 设置OTA消息回调函数 更多...
 
int32_t aiot_device_ota_report_version (void *device, char *module, char *version)
 设备版本信息上报 更多...
 
int32_t aiot_device_ota_report_state (void *device, char *module, int32_t state)
 设备升级状态上报 更多...
 
int32_t aiot_device_ota_request_firmware (void *device, char *module)
 设备端主动向云端查询升级固件 更多...
 
aiot_ota_msg_taiot_ota_msg_clone (const aiot_ota_msg_t *msg)
 拷贝ota消息,用于异步执行ota操作 更多...
 
void aiot_ota_msg_free (aiot_ota_msg_t *msg)
 释放ota消息资源 更多...
 

详细描述

设备升级模块头文件, 提供设备获取固件信息的能力

日期
2022-01-20

类型定义说明

typedef void(* ota_msg_callback_t) (void *device, const aiot_ota_msg_t *msg, void *userdata)

设备OTA消息回调函数原型,用户定义后, 可通过 aiot_device_ota_set_callback 配置

参数
[in]device设备句柄
[in]msg接收到的消息 数据结构参考 aiot_ota_msg_t
[in]userdata用户设置的上下文,可通过 aiot_device_ota_set_callback 配置

枚举类型说明

OTA过程中使用的digest方法类型, 分为MD5和SHA256两种

枚举值
AIOT_OTA_DIGEST_MD5 

收到的OTA固件的digest方法为MD5

AIOT_OTA_DIGEST_SHA256 

收到的OTA固件的digest方法为SHA256

AIOT_OTA_DIGEST_MAX 

函数说明

int32_t aiot_device_ota_set_callback ( void *  device,
ota_msg_callback_t  callback,
void *  userdata 
)

设置OTA消息回调函数

参数
[in]device设备句柄
[in]callback回调函数
[in]userdata执行回调函数后的上下文指针
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参为空
others参考aiot_state_api.h
int32_t aiot_device_ota_report_version ( void *  device,
char *  module,
char *  version 
)

设备版本信息上报

参数
[in]device设备句柄
[in]module模块版本信息上报时,参数为模块名
设备版本上报时,参数置为NULL;
[in]version版本号
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参为空
others参考aiot_state_api.h
int32_t aiot_device_ota_report_state ( void *  device,
char *  module,
int32_t  state 
)

设备升级状态上报

参数
[in]device设备句柄
[in]module模块版本状态上报时,参数为模块名
设备版本状态上报时,参数置为NULL;
[in]state取值:0~100,升级进度
取值:-1, 升级失败
取值:-2, 下载失败
取值:-3, 校验失败
取值:-4, 烧写失败
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参为空
others参考aiot_state_api.h
int32_t aiot_device_ota_request_firmware ( void *  device,
char *  module 
)

设备端主动向云端查询升级固件

参数
[in]device设备句柄
[in]module请求模块版本时,参数为模块名
请求设备版本时,参数置为NULL;
返回
int32_t
返回值
STATE_SUCCESS参数配置成功
STATE_USER_INPUT_NULL_POINTER入参为空
others参考aiot_state_api.h
aiot_ota_msg_t* aiot_ota_msg_clone ( const aiot_ota_msg_t msg)

拷贝ota消息,用于异步执行ota操作

参数
[in]msg源消息
返回
aiot_ota_msg_t*
返回值
非NULL消息句柄
NULL初始化失败, 一般是内存分配失败导致
void aiot_ota_msg_free ( aiot_ota_msg_t msg)

释放ota消息资源

参数
[in]msg待删除的消息
返回
void