| 
    Link Kit C-SDK
    4.0.0
    
   | 
 
devinfo模块头文件, 提供更新和删除设备标签的能力 更多...
#include <stdint.h>
类 | |
| struct | aiot_devinfo_recv_generic_reply_t | 
| struct | aiot_devinfo_recv_t | 
| devinfo模块收到从网络上来的报文时, 通知用户的报文内容  更多... | |
| struct | aiot_devinfo_event_t | 
| devinfo模块内部发生值得用户关注的状态变化时, 通知用户的事件内容  更多... | |
| struct | aiot_devinfo_msg_data_t | 
| 更新或删除设备标签的params内容  更多... | |
| struct | aiot_devinfo_msg_t | 
宏定义 | |
| #define | STATE_DEVINFO_BASE (-0x1200) | 
| -0x1200~-0x12FF表达SDK在devinfo模块内的状态码  更多... | |
| #define | STATE_DEVINFO_MISSING_MQTT_HANDLE (-0x1201) | 
| MQTT会话句柄未设置, 请通过 aiot_devinfo_setopt 设置MQTT会话句柄  更多... | |
类型定义 | |
| typedef void(* | aiot_devinfo_recv_handler_t) (void *handle, const aiot_devinfo_recv_t *packet, void *userdata) | 
| devinfo模块收到从网络上来的报文时, 通知用户所调用的数据回调函数  更多... | |
| typedef void(* | aiot_devinfo_event_handler_t) (void *handle, const aiot_devinfo_event_t *event, void *userdata) | 
| devinfo模块内部发生值得用户关注的状态变化时, 通知用户所调用的事件回调函数  更多... | |
枚举 | |
| enum | aiot_devinfo_recv_type_t { AIOT_DEVINFORECV_GENERIC_REPLY } | 
| devinfo模块收到从网络上来的报文时, 通知用户的报文类型  更多... | |
| enum | aiot_devinfo_event_type_t { AIOT_DEVINFOEVT_INVALID_DEVINFO, AIOT_DEVINFOEVT_INVALID_RESPONSE, AIOT_DEVINFOEVT_INVALID_RESPONSE_FORMAT } | 
| devinfo模块内部发生值得用户关注的状态变化时, 通知用户的事件类型  更多... | |
| enum | aiot_devinfo_msg_type_t { AIOT_DEVINFO_MSG_UPDATE, AIOT_DEVINFO_MSG_DELETE } | 
| aiot_devinfo_msg_t 中的发送消息类型  更多... | |
| enum | aiot_devinfo_option_t {  AIOT_DEVINFOOPT_MQTT_HANDLE, AIOT_DEVINFOOPT_RECV_HANDLER, AIOT_DEVINFOOPT_EVENT_HANDLER, AIOT_DEVINFOOPT_USERDATA, AIOT_DEVINFOOPT_DEINIT_TIMEOUT_MS, AIOT_DEVINFOOPT_MAX }  | 
| aiot_devinfo_setopt 接口的option参数可选值.  更多... | |
函数 | |
| void * | aiot_devinfo_init (void) | 
| 创建devinfo会话实例, 并以默认值配置会话参数  更多... | |
| int32_t | aiot_devinfo_setopt (void *handle, aiot_devinfo_option_t option, void *data) | 
| 配置devinfo会话  更多... | |
| int32_t | aiot_devinfo_deinit (void **handle) | 
| 结束devinfo会话, 销毁实例并回收资源  更多... | |
| int32_t | aiot_devinfo_send (void *handle, aiot_devinfo_msg_t *msg) | 
| 向devinfo服务器发送devinfo消息请求  更多... | |
devinfo模块头文件, 提供更新和删除设备标签的能力
Devinfo模块用于向阿里云物联网平台更新或删除设备的标签, API的使用流程如下:
MQTT连接| #define STATE_DEVINFO_BASE (-0x1200) | 
-0x1200~-0x12FF表达SDK在devinfo模块内的状态码
| #define STATE_DEVINFO_MISSING_MQTT_HANDLE (-0x1201) | 
MQTT会话句柄未设置, 请通过 aiot_devinfo_setopt 设置MQTT会话句柄
| typedef void(* aiot_devinfo_recv_handler_t) (void *handle, const aiot_devinfo_recv_t *packet, void *userdata) | 
devinfo模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
| [in] | handle | devinfo会话句柄 | 
| [in] | packet | devinfo消息结构体, 存放收到的devinfo报文内容 | 
| [in] | userdata | 用户上下文 | 
| typedef void(* aiot_devinfo_event_handler_t) (void *handle, const aiot_devinfo_event_t *event, void *userdata) | 
devinfo模块内部发生值得用户关注的状态变化时, 通知用户所调用的事件回调函数
| [in] | handle,devinfo会话句柄 | |
| [in] | event,devinfo模块中发生的事件的内容 | |
| [in] | userdata,用户上下文 | 
aiot_devinfo_msg_t 中的发送消息类型
消息类型有两个, 分别是更新设备标签和删除设备标签
| 枚举值 | |
|---|---|
| AIOT_DEVINFO_MSG_UPDATE | 
 更新设备标签  | 
| AIOT_DEVINFO_MSG_DELETE | 
 删除设备标签  | 
aiot_devinfo_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_devinfo_setopt 中, data参数的数据类型
data的数据类型是void *时, 以配置AIOT_DEVINFOOPT_MQTT_HANDLE 为例:
void *mqtt_handle = aiot_mqtt_init(); aiot_devinfo_setopt(devinfo_handle, AIOT_DEVINFOOPT_MQTT_HANDLE, mqtt_handle);
data的数据类型是其他数据类型时, 以配置AIOT_DEVINFOOPT_DEINIT_TIMEOUT_MS 为例:
uint32_t deinit_timeout_ms = 443; aiot_devinfo_setopt(devinfo_handle, AIOT_DEVINFOOPT_DEINIT_TIMEOUT_MS, (void *)&deinit_timeout_ms);
| 枚举值 | |
|---|---|
| AIOT_DEVINFOOPT_MQTT_HANDLE | 
 devinfo会话 需要的MQTT句柄, 需要先建立MQTT连接, 再设置MQTT句柄  | 
| AIOT_DEVINFOOPT_RECV_HANDLER | 
 设置回调, 它在SDK收到网络报文的时候被调用, 告知用户 数据类型: ( aiot_devinfo_recv_handler_t)  | 
| AIOT_DEVINFOOPT_EVENT_HANDLER | 
 设置回调, 它在SDK发生内部状态变更时被调用, 告知用户 数据类型: ( aiot_devinfo_event_handler_t)  | 
| AIOT_DEVINFOOPT_USERDATA | 
 用户需要SDK暂存的上下文, 数据类型为(void *) 这个上下文指针会在 AIOT_DEVINFOOPT_RECV_HANDLER 和 AIOT_DEVINFOOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户  | 
| AIOT_DEVINFOOPT_DEINIT_TIMEOUT_MS | 
 销毁devinfo实例时, 等待其他api执行完毕的时间 当调用aiot_devinfo_deinit 销毁devinfo实例时, 若继续调用其他aiot_devinfo_xxx API, API会返回STATE_USER_INPUT_EXEC_DISABLED 错误 此时, 用户应该停止调用其他aiot_devinfo_xxx API 数据类型: (uint32_t *) 默认值: (2 * 1000) ms  | 
| AIOT_DEVINFOOPT_MAX | |
| void* aiot_devinfo_init | ( | void | ) | 
创建devinfo会话实例, 并以默认值配置会话参数
| 非NULL | devinfo实例的句柄 | 
| NULL | 初始化失败, 一般是内存分配失败导致 | 

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

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

| int32_t aiot_devinfo_send | ( | void * | handle, | 
| aiot_devinfo_msg_t * | msg | ||
| ) | 
向devinfo服务器发送devinfo消息请求
| handle | devinfo会话句柄 | 
| msg | devinfo发送给云端的删除/更新设备标签信息的报文 | 
| <STATE_SUCCESS | 请求发送失败 | 
| >=STATE_SUCCESS | 请求发送成功 | 

 1.8.11