本文介绍使用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,dataint *类型,取值如下:

    • 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,dataint *类型。

    IOTX_IOCTL_SET_DYNAMIC_REGISTER

    设置是否需要直连设备动态注册(一型一密), dataint *类型,取值如下:

    • 0:不使用直连设备动态注册。

    • 1:使用直连设备动态注册。

    IOTX_IOCTL_GET_DYNAMIC_REGISTER

    获取当前设备注册方式,dataint *类型。

  • 返回值说明

    说明

    0

    成功

    < 0

    失败