Link Kit C-SDK
4.0.0
|
Bootstrap模块头文件, 可用于获取阿里云物联网平台的连接信息 更多...
#include <stdint.h>
类 | |
struct | aiot_bootstrap_recv_t |
bootstrap接收到的数据 更多... | |
struct | aiot_bootstrap_event_t |
bootstrap内部事件 更多... | |
宏定义 | |
#define | STATE_BOOTSTRAP_BASE (-0x0700) |
-0x0700~-0x07FF表达SDK在 bootstrap 模块内的状态码 更多... | |
#define | STATE_BOOTSTRAP_DEINIT_TIMEOUT (-0x0701) |
执行aiot_bootstrap_deinit 时, 等待其他API执行结束的超过设定的超时时间, MQTT实例销毁失败 更多... | |
#define | STATE_BOOTSTRAP_NEED_SEND_REQUEST (-0x0702) |
需要首先执行aiot_bootstrap_send_request 发送bootstrap请求 更多... | |
#define | STATE_BOOTSTRAP_INVALID_STATUS_CODE (-0x0703) |
bootstrap 服务端返回了错误的http status code 更多... | |
#define | STATE_BOOTSTRAP_INVALID_CONNECTION_INFO (-0x0704) |
收到非法的bootstrap连接信息 更多... | |
类型定义 | |
typedef void(* | aiot_bootstrap_recv_handler_t) (void *handle, const aiot_bootstrap_recv_t *packet, void *userdata) |
bootstrap数据接收回调函数原型 更多... | |
typedef void(* | aiot_bootstrap_event_handler_t) (void *handle, const aiot_bootstrap_event_t *event, void *userdata) |
bootstrap事件回调函数 更多... | |
函数 | |
void * | aiot_bootstrap_init (void) |
初始化bootstrap实例并设置默认参数 更多... | |
int32_t | aiot_bootstrap_setopt (void *handle, aiot_bootstrap_option_t option, void *data) |
设置bootstrap参数 更多... | |
int32_t | aiot_bootstrap_deinit (void **handle) |
释放bootstrap实例句柄的资源 更多... | |
int32_t | aiot_bootstrap_send_request (void *handle) |
向bootstrap服务器发送请求 更多... | |
int32_t | aiot_bootstrap_recv (void *handle) |
从bootstrap服务器接收应答 更多... | |
Bootstrap模块头文件, 可用于获取阿里云物联网平台的连接信息
#define STATE_BOOTSTRAP_BASE (-0x0700) |
-0x0700~-0x07FF表达SDK在 bootstrap 模块内的状态码
#define STATE_BOOTSTRAP_DEINIT_TIMEOUT (-0x0701) |
执行aiot_bootstrap_deinit 时, 等待其他API执行结束的超过设定的超时时间, MQTT实例销毁失败
#define STATE_BOOTSTRAP_NEED_SEND_REQUEST (-0x0702) |
需要首先执行aiot_bootstrap_send_request 发送bootstrap请求
#define STATE_BOOTSTRAP_INVALID_STATUS_CODE (-0x0703) |
bootstrap 服务端返回了错误的http status code
#define STATE_BOOTSTRAP_INVALID_CONNECTION_INFO (-0x0704) |
收到非法的bootstrap连接信息
typedef void(* aiot_bootstrap_recv_handler_t) (void *handle, const aiot_bootstrap_recv_t *packet, void *userdata) |
bootstrap数据接收回调函数原型
[in] | handle | bootstrap实例句柄 |
[in] | packet | bootstrap数据结构体, 存放收到的bootstrap信息 |
[in] | userdata | 用户上下文 |
typedef void(* aiot_bootstrap_event_handler_t) (void *handle, const aiot_bootstrap_event_t *event, void *userdata) |
bootstrap事件回调函数
当NTP内部事件被触发时, 调用此函数
bootstrap报文类型
传入 aiot_bootstrap_recv_handler_t 的MQTT报文类型
枚举值 | |
---|---|
AIOT_BOOTSTRAPRECV_STATUS_CODE |
bootstrap 服务器返回的http status code |
AIOT_BOOTSTRAPRECV_CONNECTION_INFO |
物联网平台连接信息, 包含域名和端口号 |
AIOT_BOOTSTRAPRECV_NOTIFY |
bootstrap通知信息 |
枚举值 | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AIOT_BOOTSTRAPOPT_MQTT_HANDLE |
bootstrap会话需要的MQTT句柄, 需要先建立MQTT连接, 再设置MQTT句柄 数据类型: (void *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_NETWORK_CRED |
bootstrap 服务器建联时, 网络使用的安全凭据 该配置项用于为底层网络配置aiot_sysdep_network_cred_t 安全凭据数据 应当把 aiot_sysdep_network_cred_t 中option配置为AIOT_SYSDEP_NETWORK_CRED_SVRCERT_CA , 以tls方式建联 数据类型: (aiot_sysdep_network_cred_t *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_HOST |
bootstrap 服务器的域名地址或者ip地址 阿里云物联网平台 bootstrap 服务器域名地址列表:
数据类型: (char *) 默认值: iot-auth-global.aliyuncs.com | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_PORT |
bootstrap 服务器的端口号 连接阿里云物联网平台 bootstrap 服务器时: 必须使用tls方式建联, 端口号设置为443 数据类型: (uint16_t *) 默认值: 443 | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_PRODUCT_KEY |
设备的product key, 可从阿里云物联网平台控制台获取 数据类型: (char *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_DEVICE_NAME |
设备的device name, 可从阿里云物联网平台控制台获取 数据类型: (char *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_REGIONID |
配置设备所在的regionId
数据类型: (char *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_SEND_TIMEOUT_MS |
bootstrap会话发送消息时可消费的最长时间间隔 数据类型: (uint32_t *) 默认值: (5 * 1000) ms | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_RECV_TIMEOUT_MS |
bootstrap会话接收消息时可消费的最长时间间隔 数据类型: (uint32_t *) 默认值: (5 * 1000) ms | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_RECV_HANDLER |
从 bootstrap 服务器收取的数据从此回调函数进行通知 数据类型: (aiot_bootstrap_recv_handler_t) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_EVENT_HANDLER |
bootstrap内部发生的事件会从此回调函数进行通知 数据类型: ( aiot_bootstrap_event_handler_t ) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_USERDATA |
用户需要SDK暂存的上下文 该上下文会在 AIOT_BOOTSTRAPOPT_RECV_HANDLER 注册的回调函数中传回给用户 数据类型: (void *) | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_TIMEOUT_MS |
等待bootstrap应答的超时时间 数据类型: (uint32_t *) 默认值: (5 * 1000) ms | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_DEINIT_TIMEOUT_MS |
销毁Bootstrap实例时, 等待其他api执行完毕的时间 当调用aiot_bootstrap_deinit 销毁MQTT实例时, 若继续调用其他aiot_bootstrap_xxx API, API会返回STATE_USER_INPUT_EXEC_DISABLED 错误 此时, 用户应该停止调用其他aiot_bootstrap_xxx API 数据类型: (uint32_t *) 默认值: (2 * 1000) ms | ||||||||||||||||||||||||||||||||||||||||||||||||
AIOT_BOOTSTRAPOPT_MAX |
void* aiot_bootstrap_init | ( | void | ) |
初始化bootstrap实例并设置默认参数
非NULL | bootstrap实例句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_bootstrap_setopt | ( | void * | handle, |
aiot_bootstrap_option_t | option, | ||
void * | data | ||
) |
设置bootstrap参数
[in] | handle | bootstrap句柄 |
[in] | option | 配置选项, 更多信息请参考aiot_bootstrap_option_t |
[in] | data | 配置选项数据, 更多信息请参考aiot_bootstrap_option_t |
<STATE_SUCCESS | 参数设置失败 |
>=STATE_SUCCESS | 参数设置成功 |
int32_t aiot_bootstrap_deinit | ( | void ** | handle | ) |
释放bootstrap实例句柄的资源
[in] | handle | 指向bootstrap实例句柄的指针 |
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_bootstrap_send_request | ( | void * | handle | ) |
向bootstrap服务器发送请求
handle | bootstrap句柄 |
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
int32_t aiot_bootstrap_recv | ( | void * | handle | ) |
从bootstrap服务器接收应答
handle | bootstrap句柄 |
<STATE_SUCCESS | 数据接收失败 |
>=STATE_SUCCESS | 数据接收成功 |