本文介绍使用C Link SDK接入物联网平台时,需调用的基础API。
IOT_OpenLog
- 接口原型 - void IOT_OpenLog(const char *ident);
- 接口说明 - 日志系统的初始化函数,本接口被调用后,SDK才有可能向终端打印日志文本,但打印的文本详细程度还是由 - IOT_SetLogLevel()确定,默认情况下,无日志输出。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - ident - const char * - 输入 - 日志的标识符字符串,例如: - IOT_OpenLog("linkkit")。
- 返回值说明 - 无返回值。 
IOT_CloseLog
- 接口原型 - void IOT_CloseLog(void);
- 接口说明 - 日志系统的销毁函数,本接口被调用后,SDK停止向终端打印任何日志文本,但之后可以调用 - IOT_OpenLog()接口重新输出日志。说明- 关闭和重新使能日志系统之后,需要重新调用 - IOT_SetLogLevel()接口设置日志级别,否则日志系统虽然使能了, 也不会输出文本。
- 参数说明 - 无参数。 
- 返回值说明 - 无返回值。 
IOT_SetLogLevel
- 接口原型 - void IOT_SetLogLevel(IOT_LogLevel level);
- 接口说明 - 日志系统的日志级别配置函数,本接口用于设置SDK的日志显示级别,需要在 - IOT_OpenLog()后被调用。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - level - IOT_LogLevel - 输入 - 需要显示的日志级别。 
- 参数附加说明 - typedef enum _IOT_LogLevel { IOT_LOG_EMERG = 0, IOT_LOG_CRIT, IOT_LOG_ERROR, IOT_LOG_WARNING, IOT_LOG_INFO, IOT_LOG_DEBUG, } IOT_LogLevel;
- 返回值说明 - 无返回值。 
IOT_DumpMemoryStats
- 接口原型 - void IOT_DumpMemoryStats(IOT_LogLevel level);
- 接口说明 - 该接口可显示出SDK各模块的内存使用情况,当 - WITH_MEM_STATS=1时起效,显示级别设置得越高,显示的信息越多。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - level - IOT_LogLevel - 输入 - 需要显示的日志级别。 
- 返回值说明 - 无返回值。 
IOT_SetupConnInfo
- 接口原型 - int IOT_SetupConnInfo(const char *product_key, const char *device_name, const char *device_secret, void **info_ptr);
- 接口说明 - 在连接云端之前,需要做认证流程,如一型一密获取DeviceSecret或者根据当前所选认证模式向云端进行认证。 - 该接口在SDK基础版中需要在连接云端之前由用户显式调用,而在高级版中SDK会自动进行调用,不需要用户显式调用。 
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - product_key - const char * - 输入 - 设备证书的ProductKey。 - device_name - const char * - 输入 - 设备证书的DeviceName。 - device_secret - const char * - 输入 - 设备证书的DeviceSecret。 - info_ptr - void ** - 输出 - 该 - void**数据类型为- iotx_conn_info_t,在认证通过后,会得到云端的相关信息,用于建立与云端连接时使用。
- 参数附加说明 - typedef struct { uint16_t port; char host_name[HOST_ADDRESS_LEN + 1]; char client_id[CLIENT_ID_LEN + 1]; char username[USER_NAME_LEN + 1]; char password[PASSWORD_LEN + 1]; const char *pub_key; } iotx_conn_info_t, *iotx_conn_info_pt;
- 返回值说明 - 值 - 说明 - 0 - 成功 - < 0 - 失败 
IOT_Ioctl
- 接口原型 - int IOT_Ioctl(int option, void *data);
- 接口说明 - 在SDK连接云端之前,用户可用此接口进行SDK部分参数的配置或获取,如连接的region,是否使用一型一密等。 - 该接口在基础版和高级版中均适用,但需要在SDK建立网络连接之前调用。 
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - option - iotx_ioctl_option_t - 输入 - 选择需要配置或获取的参数。 - data - void * - 输入/输出 - 在配置或获取参数时需要的buffer,依据 - option而定。
- 参数附加说明 - typedef enum { IOTX_IOCTL_SET_DOMAIN, /* value(int*): iotx_cloud_domain_types_t */ IOTX_IOCTL_GET_DOMAIN, /* value(int*) */ IOTX_IOCTL_SET_DYNAMIC_REGISTER, /* value(int*): 0 - Disable Dynamic Register, 1 - Enable Dynamic Register */ IOTX_IOCTL_GET_DYNAMIC_REGISTER /* value(int*) */ } iotx_ioctl_option_t;- 参数 - 说明 - IOTX_IOCTL_SET_DOMAIN - 设置需要访问的region, - data为- int *类型,取值如下:- IOTX_CLOUD_DOMAIN_SH:华东2(上海) 
- IOTX_CLOUD_DOMAIN_SG:新加坡 
- IOTX_CLOUD_DOMAIN_JP:日本(东京) 
- IOTX_CLOUD_DOMAIN_US:美国(硅谷) 
- IOTX_CLOUD_DOMAIN_GER:德国(法兰克福) 
 - IOTX_IOCTL_GET_DOMAIN - 获取当前的region, - data为- int *类型。- IOTX_IOCTL_SET_DYNAMIC_REGISTER - 设置是否需要直连设备动态注册(一型一密), - data为- int *类型,取值如下:- 0:不使用直连设备动态注册。 
- 1:使用直连设备动态注册。 
 - IOTX_IOCTL_GET_DYNAMIC_REGISTER - 获取当前设备注册方式, - data为- int *类型。
- 返回值说明 - 值 - 说明 - 0 - 成功 - < 0 - 失败