Link Kit C-SDK
5.0.0
|
设备连接参数设置api头文件,包含服务器host,多连接、mqtt协议参数等配置项 更多...
结构体 | |
struct | aiot_protocol_t |
描述消息传输协议实现方法的结构体 更多... | |
struct | aiot_linkconfig_t |
描述设备建连所需参数的结构体 更多... | |
枚举 | |
enum | aiot_protocol_type_t { MQTT_PROTOCOL, HTTP_PROTOCOL } |
函数 | |
aiot_linkconfig_t * | aiot_linkconfig_init (aiot_protocol_t *protocol) |
初始化默认的连接配置参数,生成配置参数句柄 更多... | |
int32_t | aiot_linkconfig_deinit (aiot_linkconfig_t **config) |
删除连接配置句柄,回收资源 更多... | |
int32_t | aiot_linkconfig_host (aiot_linkconfig_t *config, char *host, uint16_t port) |
设置连接的host, port 更多... | |
int32_t | aiot_linkconfig_cred_option (aiot_linkconfig_t *config, aiot_sysdep_network_cred_option_t option) |
设备网络连接的类型 更多... | |
int32_t | aiot_linkconfig_root_cert (aiot_linkconfig_t *config, const char *cert, uint32_t len) |
设置服务器的根证书 更多... | |
int32_t | aiot_linkconfig_client_cert_privkey (aiot_linkconfig_t *config, char *client_cert, uint32_t cert_len, char *client_privkey, uint32_t key_len) |
X509认证,设置客户端证书和私钥 更多... | |
int32_t | aiot_linkconfig_connect_timeout (aiot_linkconfig_t *config, uint32_t timeout_ms) |
设置建连超时的时间 更多... | |
int32_t | aiot_linkconfig_recv_timeout (aiot_linkconfig_t *config, uint32_t timeout_ms) |
设置接收超时的时间 更多... | |
int32_t | aiot_linkconfig_send_timeout (aiot_linkconfig_t *config, uint32_t timeout_ms) |
设置发送超时的时间 更多... | |
int32_t | aiot_linkconfig_reconnect_enable (aiot_linkconfig_t *config, uint8_t enable) |
设置是否自动重连, 默认为开启自动重连 更多... | |
int32_t | aiot_linkconfig_multi_channel (aiot_linkconfig_t *config, uint32_t start_cid, uint32_t num) |
设置多连接:允许建连多个与云平台的连接 更多... | |
int32_t | aiot_linkconfig_mqtt_extclientid (aiot_linkconfig_t *config, char *extern_clientid) |
设备连接阿里云物联网平台时的扩展clientid 更多... | |
int32_t | aiot_linkconfig_mqtt_keepalive (aiot_linkconfig_t *config, uint16_t keep_alive_s) |
MQTT建联时, CONNECT报文中的最长心跳间隔 更多... | |
int32_t | aiot_linkconfig_mqtt_cleansession (aiot_linkconfig_t *config, uint8_t clean_session) |
MQTT建联时, CONNECT报文中的clean session参数 更多... | |
int32_t | aiot_linkconfig_mqtt_heartbeat_interval (aiot_linkconfig_t *config, uint32_t interval_ms) |
配置设备主动发送PINGREQ报文发送时间间隔. (心跳发送间隔) 更多... | |
int32_t | aiot_linkconfig_dynamic_register (aiot_linkconfig_t *config, char *product_secret, char *instance_id) |
动态注册参数配置,设置产品密钥及实例id 更多... | |
int32_t | aiot_linkconfig_mqtt_auth (aiot_linkconfig_t *config, char *username, char *password, char *clientid) |
透传给mqtt的建连认证信息, 免白动态注册后需要使用 更多... | |
设备连接参数设置api头文件,包含服务器host,多连接、mqtt协议参数等配置项
enum aiot_protocol_type_t |
aiot_linkconfig_t* aiot_linkconfig_init | ( | aiot_protocol_t * | protocol | ) |
初始化默认的连接配置参数,生成配置参数句柄
非NULL | 设备句柄 |
NULL | 初始化失败, 一般是内存分配失败导致 |
int32_t aiot_linkconfig_deinit | ( | aiot_linkconfig_t ** | config | ) |
删除连接配置句柄,回收资源
[in] | config | 配置句柄 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_host | ( | aiot_linkconfig_t * | config, |
char * | host, | ||
uint16_t | port | ||
) |
设置连接的host, port
[in] | config | 配置句柄 |
[in] | host | 服务器地址 |
[in] | port | 服务端口号 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_cred_option | ( | aiot_linkconfig_t * | config, |
aiot_sysdep_network_cred_option_t | option | ||
) |
设备网络连接的类型
[in] | config | 配置句柄 |
[in] | option | 网络安全类型 AIOT_SYSDEP_NETWORK_CRED_NONE 不实用加密 AIOT_SYSDEP_NETWORK_CRED_SVRCERT_CA, 使用CA证书加密, 默认值 AIOT_SYSDEP_NETWORK_CRED_SVRCERT_PSK,使用PSK方式加密 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_root_cert | ( | aiot_linkconfig_t * | config, |
const char * | cert, | ||
uint32_t | len | ||
) |
设置服务器的根证书
有默认的服务器根证书,只有需要自定义证书认证的设备才需要设置
[in] | config | 配置句柄 |
[in] | cert | 证书内容 |
[in] | len | 证书长度 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_client_cert_privkey | ( | aiot_linkconfig_t * | config, |
char * | client_cert, | ||
uint32_t | cert_len, | ||
char * | client_privkey, | ||
uint32_t | key_len | ||
) |
X509认证,设置客户端证书和私钥
[in] | config | 配置句柄 |
[in] | client_cert | 端证书 |
[in] | cert_len | 端证书长度 |
[in] | client_privkey | 端私钥证书 |
[in] | key_len | 端私钥长度 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_connect_timeout | ( | aiot_linkconfig_t * | config, |
uint32_t | timeout_ms | ||
) |
设置建连超时的时间
[in] | config | 配置句柄 |
[in] | timeout_ms | 超时时间, 默认值:10000ms |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_recv_timeout | ( | aiot_linkconfig_t * | config, |
uint32_t | timeout_ms | ||
) |
设置接收超时的时间
[in] | config | 配置句柄 |
[in] | timeout_ms | 超时时间, 默认值:5000ms |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_send_timeout | ( | aiot_linkconfig_t * | config, |
uint32_t | timeout_ms | ||
) |
设置发送超时的时间
[in] | config | 配置句柄 |
[in] | timeout_ms | 超时时间, 默认值:5000ms |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_reconnect_enable | ( | aiot_linkconfig_t * | config, |
uint8_t | enable | ||
) |
设置是否自动重连, 默认为开启自动重连
[in] | config | 配置句柄 |
[in] | enable | 【0,关闭自动重连】,关闭自动重连后需要手动触发重连 【1,打开自动重连】,SDK重连会有逼退算法,重连的间隔时间为2~120s |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_multi_channel | ( | aiot_linkconfig_t * | config, |
uint32_t | start_cid, | ||
uint32_t | num | ||
) |
设置多连接:允许建连多个与云平台的连接
[in] | config | 配置句柄 |
[in] | start_cid | 连接的唯一标识符,起始值,一般从填0. |
[in] | num | 设置多个连接的数量,消息量大的时候避免限流可以多建连几个,取值范围【1~100】 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_mqtt_extclientid | ( | aiot_linkconfig_t * | config, |
char * | extern_clientid | ||
) |
设备连接阿里云物联网平台时的扩展clientid
[in] | config | 配置句柄 |
[in] | extern_clientid | 扩展的clientid, 若需要上报模组商id和模组id以及os信息, 按以下格式填写: "mid=<模组ID>,pid=<模组商ID>,os=<操作系统>" |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_mqtt_keepalive | ( | aiot_linkconfig_t * | config, |
uint16_t | keep_alive_s | ||
) |
MQTT建联时, CONNECT报文中的最长心跳间隔
[in] | config | 配置句柄 |
[in] | keep_alive_s | 取值范围为30 ~ 1200s |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_mqtt_cleansession | ( | aiot_linkconfig_t * | config, |
uint8_t | clean_session | ||
) |
MQTT建联时, CONNECT报文中的clean session参数
[in] | config | 配置句柄 |
[in] | clean_session | 是否清除mqtt会话内容 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_mqtt_heartbeat_interval | ( | aiot_linkconfig_t * | config, |
uint32_t | interval_ms | ||
) |
配置设备主动发送PINGREQ报文发送时间间隔. (心跳发送间隔)
维持连接,设备会主动定时发送心跳,若连续三次的心跳丢失,设备会主动断开并进行重连
[in] | config | 配置句柄 |
[in] | interval_ms | 设备发送心跳的时间间隔,默认值25s |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_dynamic_register | ( | aiot_linkconfig_t * | config, |
char * | product_secret, | ||
char * | instance_id | ||
) |
动态注册参数配置,设置产品密钥及实例id
设备动态注册需要产品密钥,企业型实例还需要实例id
[in] | config | 配置句柄 |
[in] | product_secret | 产品密钥 |
[in] | instance_id | 企业实例id,如为公共实例,输入NULL即可 |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |
int32_t aiot_linkconfig_mqtt_auth | ( | aiot_linkconfig_t * | config, |
char * | username, | ||
char * | password, | ||
char * | clientid | ||
) |
透传给mqtt的建连认证信息, 免白动态注册后需要使用
设备建连一般使用设备认证信息进行建连,不需要调用该接口。
免白动态注册时,会返回mqtt鉴权的信息username、password、clientid。 调用该接口完成参数配置,即可完成设备建连,不需要使用设备认证信息。
[in] | config | 配置句柄 |
[in] | username | mqtt协议建连消息中的username |
[in] | password | mqtt协议建连消息中的password |
[in] | clientid | mqtt协议建连消息中的clientid |
<STATE_SUCCESS | 执行失败, 更多信息请参考aiot_state_api.h |
>=STATE_SUCCESS | 执行成功 |