| 
    Link Kit C-SDK
    4.0.0
    
   | 
 
dynregmq模块头文件, 提供了基于MQTT的设备信息动态注册能力 更多...
#include <stdint.h>
类 | |
| struct | aiot_dynregmq_recv_t | 
| dynregmq模块收到从网络上来的报文时, 通知用户的报文内容  更多... | |
宏定义 | |
| #define | STATE_DYNREGMQ_BASE (-0x0500) | 
| -0x0500~-0x05FF表达SDK在dynregmq模块内的状态码  更多... | |
| #define | STATE_DYNREGMQ_DEINIT_TIMEOUT (-0x0501) | 
| 执行aiot_dynregmq_deinit 时, 等待其他API执行结束的超过设定的超时时间, DYNREGMQ实例销毁失败  更多... | |
| #define | STATE_DYNREGMQ_NEED_SEND_REQUEST (-0x0502) | 
| 需要首先执行aiot_dynregmq_send_request 发送动态注册请求  更多... | |
| #define | STATE_DYNREGMQ_AUTH_TIMEOUT (-0x0503) | 
| 接收服务器应答超时  更多... | |
类型定义 | |
| typedef void(* | aiot_dynregmq_recv_handler_t) (void *handle, const aiot_dynregmq_recv_t *packet, void *userdata) | 
| dynregmq模块收到从网络上来的报文时, 通知用户所调用的数据回调函数  更多... | |
函数 | |
| void * | aiot_dynregmq_init (void) | 
| 创建dynregmq会话实例, 并以默认值配置会话参数  更多... | |
| int32_t | aiot_dynregmq_setopt (void *handle, aiot_dynregmq_option_t option, void *data) | 
| 配置dynregmq会话  更多... | |
| int32_t | aiot_dynregmq_deinit (void **handle) | 
| 结束dynregmq会话, 销毁实例并回收资源  更多... | |
| int32_t | aiot_dynregmq_send_request (void *handle) | 
| 向dynregmq服务器发送dynregmq消息请求  更多... | |
| int32_t | aiot_dynregmq_recv (void *handle) | 
| 从网络上收取dynregmq消息  更多... | |
dynregmq模块头文件, 提供了基于MQTT的设备信息动态注册能力
| #define STATE_DYNREGMQ_BASE (-0x0500) | 
-0x0500~-0x05FF表达SDK在dynregmq模块内的状态码
| #define STATE_DYNREGMQ_DEINIT_TIMEOUT (-0x0501) | 
执行aiot_dynregmq_deinit 时, 等待其他API执行结束的超过设定的超时时间, DYNREGMQ实例销毁失败
| #define STATE_DYNREGMQ_NEED_SEND_REQUEST (-0x0502) | 
需要首先执行aiot_dynregmq_send_request 发送动态注册请求
| #define STATE_DYNREGMQ_AUTH_TIMEOUT (-0x0503) | 
接收服务器应答超时
| typedef void(* aiot_dynregmq_recv_handler_t) (void *handle, const aiot_dynregmq_recv_t *packet, void *userdata) | 
dynregmq模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
| [in] | handle | dynregmq会话句柄 | 
| [in] | packet | dynregmq消息结构体, 存放收到的dynregmq报文内容 | 
| [in] | userdata | 用户上下文 | 
aiot_dynregmq_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_dynregmq_setopt 中, data参数的数据类型
data的数据类型是char *时, 以配置AIOT_DYNREGMQOPT_HOST 为例:
char *host = "xxx"; aiot_dynregmq_setopt(dynregmq_handle, AIOT_DYNREGMQOPT_HOST, host);
data的数据类型是其他数据类型时, 以配置AIOT_DYNREGMQOPT_PORT 为例:
uint16_t port = 443; aiot_mqtt_setopt(dynregmq_handle, AIOT_DYNREGMQOPT_PORT, (void *)&port);
| 枚举值 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AIOT_DYNREGMQOPT_NETWORK_CRED | 
 mqtt动态注册 服务器建联时, 网络使用的安全凭据, 动态注册必需使用TLS方式建连 该配置项用于为底层网络配置aiot_sysdep_network_cred_t 安全凭据数据 应当把 aiot_sysdep_network_cred_t 中option配置为AIOT_SYSDEP_NETWORK_CRED_SVRCERT_CA , 以tls方式建联 数据类型: (aiot_sysdep_network_cred_t *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_HOST | 
 mqtt动态注册 服务器的域名地址或者ip地址 阿里云物联网平台域名地址列表(必须使用自己的product key替换${pk}): 使用tls证书方式建联: 
 数据类型: (char *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_PORT | 
 mqtt动态注册 服务器的端口号 连接阿里云物联网平台 mqtt动态注册 服务器时: 必须使用tls方式建联, 端口号设置为443 数据类型: (uint16_t *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_PRODUCT_KEY | 
 设备的productKey, 可从阿里云物联网平台控制台获取 数据类型: (char *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_PRODUCT_SECRET | 
 设备的productSecret, 可从阿里云物联网平台控制台获取 数据类型: (char *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_DEVICE_NAME | 
 设备的deviceName, 可从阿里云物联网平台控制台获取 数据类型: (char *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_SEND_TIMEOUT_MS | 
 dynregmq会话发送消息时可消费的最长时间间隔 数据类型: (uint32_t) 默认值: (5 * 1000) ms  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_RECV_TIMEOUT_MS | 
 dynregmq会话接收消息时可消费的最长时间间隔 数据类型: (uint32_t) 默认值: (5 * 1000) ms  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_RECV_HANDLER | 
 设置回调, 它在SDK收到网络报文的时候被调用, 告知用户 数据类型: (aiot_dynregmq_http_recv_handler_t)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_USERDATA | 
 用户需要SDK暂存的上下文 这个上下文指针会在 AIOT_DYNREGMQOPT_RECV_HANDLER 和 AIOT_DYNREGMQOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户 数据类型: (void *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_TIMEOUT_MS | 
 dynregmq模块接收消息的超时时间 数据类型: (uint32_t) 默认值: (5 * 1000) ms  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_DEINIT_TIMEOUT_MS | 
 销毁dynregmq实例时, 等待其他api执行完毕的时间 当调用aiot_dynregmq_deinit 销毁MQTT实例时, 若继续调用其他aiot_dynregmq_xxx API, API会返回STATE_USER_INPUT_EXEC_DISABLED 错误 此时, 用户应该停止调用其他aiot_dynregmq_xxx API 数据类型: (uint32_t *) 默认值: (2 * 1000) ms  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_NO_WHITELIST | 
 是否使用免白名单功能 
 数据类型: (uint8_t *) 默认值: (0)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_INSTANCE_ID | 
 用户购买的物联网平台实例ID. 当用户使用自购实例, 且使用免白名单方式时, 必须设置实例ID 数据类型: (char *)  | ||||||||||||||||||
| AIOT_DYNREGMQOPT_MAX | |||||||||||||||||||
| void* aiot_dynregmq_init | ( | void | ) | 
创建dynregmq会话实例, 并以默认值配置会话参数
| 非NULL | dynregmq实例的句柄 | 
| NULL | 初始化失败, 一般是内存分配失败导致 | 

| int32_t aiot_dynregmq_setopt | ( | void * | handle, | 
| aiot_dynregmq_option_t | option, | ||
| void * | data | ||
| ) | 
配置dynregmq会话
| [in] | handle | dynregmq会话句柄 | 
| [in] | option | 配置选项, 更多信息请参考aiot_dynregmq_option_t | 
| [in] | data | 配置选项数据, 更多信息请参考aiot_dynregmq_option_t | 
| <STATE_SUCCESS | 参数配置失败 | 
| >=STATE_SUCCESS | 参数配置成功 | 

| int32_t aiot_dynregmq_deinit | ( | void ** | handle | ) | 
结束dynregmq会话, 销毁实例并回收资源
| [in] | handle | 指向dynregmq会话句柄的指针 | 
| <STATE_SUCCESS | 执行失败 | 
| >=STATE_SUCCESS | 执行成功 | 

| int32_t aiot_dynregmq_send_request | ( | void * | handle | ) | 
向dynregmq服务器发送dynregmq消息请求
| handle | dynregmq会话句柄 | 
| <STATE_SUCCESS | 请求发送失败 | 
| >=STATE_SUCCESS | 请求发送成功 | 

| int32_t aiot_dynregmq_recv | ( | void * | handle | ) | 
从网络上收取dynregmq消息
| handle | dynregmq会话句柄 | 
| <STATE_SUCCESS | 数据接收失败 | 
| >=STATE_SUCCESS | 数据接收成功 | 

 1.8.11