Link Kit C-SDK
4.1.0
|
dynreg模块头文件, 提供获取设备信息的能力 更多...
#include <stdint.h>
类 | |
struct | aiot_dynreg_recv_t |
dynreg模块收到从网络上来的报文时, 通知用户的报文内容 更多... | |
宏定义 | |
#define | STATE_DYNREG_BASE (-0x0600) |
-0x0600~-0x06FF表达SDK在dynreg模块内的状态码 更多... | |
#define | STATE_DYNREG_DEINIT_TIMEOUT (-0x0601) |
执行aiot_dynreg_deinit 时, 等待其他API执行结束的超过设定的超时时间, MQTT实例销毁失败 更多... | |
#define | STATE_DYNREG_NEED_SEND_REQUEST (-0x0602) |
需要首先执行aiot_dynreg_send_request 发送dynreg请求 更多... | |
#define | STATE_DYNREG_INVALID_STATUS_CODE (-0x0603) |
dynreg模块返回了错误的http status code 更多... | |
#define | STATE_DYNREG_INVALID_DEVICE_SECRET (-0x0604) |
收到非法的device secret 更多... | |
类型定义 | |
typedef void(* | aiot_dynreg_recv_handler_t) (void *handle, const aiot_dynreg_recv_t *packet, void *userdata) |
dynreg模块收到从网络上来的报文时, 通知用户所调用的数据回调函数 更多... | |
函数 | |
void * | aiot_dynreg_init (void) |
创建dynreg会话实例, 并以默认值配置会话参数 更多... | |
int32_t | aiot_dynreg_setopt (void *handle, aiot_dynreg_option_t option, void *data) |
配置dynreg会话 更多... | |
int32_t | aiot_dynreg_deinit (void **handle) |
结束dynreg会话, 销毁实例并回收资源 更多... | |
int32_t | aiot_dynreg_send_request (void *handle) |
向dynreg服务器发送dynreg消息请求 更多... | |
int32_t | aiot_dynreg_recv (void *handle) |
从网络上收取dynreg消息 更多... | |
dynreg模块头文件, 提供获取设备信息的能力
#define STATE_DYNREG_BASE (-0x0600) |
-0x0600~-0x06FF表达SDK在dynreg模块内的状态码
#define STATE_DYNREG_DEINIT_TIMEOUT (-0x0601) |
执行aiot_dynreg_deinit 时, 等待其他API执行结束的超过设定的超时时间, MQTT实例销毁失败
#define STATE_DYNREG_NEED_SEND_REQUEST (-0x0602) |
需要首先执行aiot_dynreg_send_request 发送dynreg请求
#define STATE_DYNREG_INVALID_STATUS_CODE (-0x0603) |
dynreg模块返回了错误的http status code
#define STATE_DYNREG_INVALID_DEVICE_SECRET (-0x0604) |
收到非法的device secret
typedef void(* aiot_dynreg_recv_handler_t) (void *handle, const aiot_dynreg_recv_t *packet, void *userdata) |
dynreg模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
[in] | handle | dynreg会话句柄 |
[in] | packet | dynreg消息结构体, 存放收到的dynreg报文内容 |
[in] | userdata | 用户上下文 |
enum aiot_dynreg_option_t |
aiot_dynreg_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_dynreg_setopt 中, data参数的数据类型
data的数据类型是char *时, 以配置AIOT_DYNREGOPT_HOST 为例:
char *host = "xxx"; aiot_dynreg_setopt(dynreg_handle, AIOT_DYNREGOPT_HOST, host);
data的数据类型是其他数据类型时, 以配置AIOT_DYNREGOPT_PORT 为例:
uint16_t port = 443; aiot_mqtt_setopt(dynreg_handle, AIOT_DYNREGOPT_PORT, (void *)&port);
枚举值 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
AIOT_DYNREGOPT_NETWORK_CRED |
http动态注册 服务器建联时, 网络使用的安全凭据 该配置项用于为底层网络配置aiot_sysdep_network_cred_t 安全凭据数据 应当把 aiot_sysdep_network_cred_t 中option配置为AIOT_SYSDEP_NETWORK_CRED_SVRCERT_CA , 以tls方式建联 数据类型: (aiot_sysdep_network_cred_t *) | |||||||||
AIOT_DYNREGOPT_HOST |
http动态注册 服务器的域名地址或者ip地址 阿里云物联网平台 http动态注册 服务器域名地址列表:
数据类型: (char *) | |||||||||
AIOT_DYNREGOPT_PORT |
http动态注册 服务器的端口号 连接阿里云物联网平台 http动态注册 服务器时: 必须使用tls方式建联, 端口号设置为443 数据类型: (uint16_t *) | |||||||||
AIOT_DYNREGOPT_PRODUCT_KEY |
设备的productKey, 可从阿里云物联网平台控制台获取 数据类型: (char *) | |||||||||
AIOT_DYNREGOPT_PRODUCT_SECRET |
设备的productSecret, 可从阿里云物联网平台控制台获取 数据类型: (char *) | |||||||||
AIOT_DYNREGOPT_DEVICE_NAME |
设备的deviceName, 可从阿里云物联网平台控制台获取 数据类型: (char *) | |||||||||
AIOT_DYNREGOPT_SEND_TIMEOUT_MS |
dynreg会话发送消息时可消费的最长时间间隔 数据类型: (uint32_t) 默认值: (5 * 1000) ms | |||||||||
AIOT_DYNREGOPT_RECV_TIMEOUT_MS |
dynreg会话接收消息时可消费的最长时间间隔 数据类型: (uint32_t) 默认值: (5 * 1000) ms | |||||||||
AIOT_DYNREGOPT_RECV_HANDLER |
设置回调, 它在SDK收到网络报文的时候被调用, 告知用户 数据类型: (aiot_dynreg_http_recv_handler_t) | |||||||||
AIOT_DYNREGOPT_USERDATA |
用户需要SDK暂存的上下文 这个上下文指针会在 AIOT_DYNREGOPT_RECV_HANDLER 和 AIOT_DYNREGOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户 数据类型: (void *) | |||||||||
AIOT_DYNREGOPT_TIMEOUT_MS |
dynreg模块接收消息的超时时间 数据类型: (uint32_t) 默认值: (5 * 1000) ms | |||||||||
AIOT_DYNREGOPT_DEINIT_TIMEOUT_MS |
销毁dynreg实例时, 等待其他api执行完毕的时间 当调用aiot_dynreg_deinit 销毁MQTT实例时, 若继续调用其他aiot_dynreg_xxx API, API会返回STATE_USER_INPUT_EXEC_DISABLED 错误 此时, 用户应该停止调用其他aiot_dynreg_xxx API 数据类型: (uint32_t *) 默认值: (2 * 1000) ms | |||||||||
AIOT_DYNREGOPT_MAX |
void* aiot_dynreg_init | ( | void | ) |
创建dynreg会话实例, 并以默认值配置会话参数
非NULL | dynreg实例的句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_dynreg_setopt | ( | void * | handle, |
aiot_dynreg_option_t | option, | ||
void * | data | ||
) |
配置dynreg会话
[in] | handle | dynreg会话句柄 |
[in] | option | 配置选项, 更多信息请参考aiot_dynreg_option_t |
[in] | data | 配置选项数据, 更多信息请参考aiot_dynreg_option_t |
<STATE_SUCCESS | 参数配置失败 |
>=STATE_SUCCESS | 参数配置成功 |
int32_t aiot_dynreg_deinit | ( | void ** | handle | ) |
结束dynreg会话, 销毁实例并回收资源
[in] | handle | 指向dynreg会话句柄的指针 |
<STATE_SUCCESS | 执行失败 |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_dynreg_send_request | ( | void * | handle | ) |
向dynreg服务器发送dynreg消息请求
handle | dynreg会话句柄 |
<STATE_SUCCESS | 请求发送失败 |
>=STATE_SUCCESS | 请求发送成功 |
int32_t aiot_dynreg_recv | ( | void * | handle | ) |
从网络上收取dynreg消息
handle | dynreg会话句柄 |
<STATE_SUCCESS | 数据接收失败 |
>=STATE_SUCCESS | 数据接收成功 |