设备端API

更新时间:2019-06-05 11:25:55

必选API

  • int linkkit_start(int max_buffered_msg, int get_tsl_from_cloud, IOT_LogLevel log_level, linkkit_ops_t *ops, void *user_context)
  • 启动linkkit服务,与云端建立连接并安装回调函数

  • 参数

    • max_buffered_msg: 消息队列大小

    • get_tsl_from_cloud: 获取TLS路径(0:从本地获取,非0:从云端获取)

    • log_level: 设置打印的日志等级, 接受入参从1到5, 数字越大, 打印越详细

    • ops: linkkit事件回调函数

    • user_context:用户上下文环境指针

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_end()
  • 停止linkkit服务,与云端断开连接并回收资源

  • 参数:无

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_dispatch()

    • 事件分发函数,触发linkkit_start安装的回调

    • 参数:无

    • 返回值

      • 0: 成功

      • -1: 失败

    • 备注:无

  • int linkkit_set_value(linkkit_method_set_t method_set, const void* thing_id, const char* identifier, const void* value, const char* value_str);

  • 根据identifier设置物对象的TSL属性

  • 参数

    • method_set

      1. linkkit_method_set_property_value

      2. linkkit_method_set_event_output_value

      3. linkkit_method_set_service_output_value

    • thing_id: 物对象ID

    • identifier: TSL属性标示符

    • value: 输入的属性值

      1. 属性类型为int、enum或者bool时,value为int*

      2. 属性类型为float,value为float*

      3. 属性类型为date, value为long long*

      4. 属性类型为text, value为char *

    • value_str:字符串类型的value(如果value为空,则val_str作为TSL属性值)

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注

    • value及val_str不能同时为NULL
  • int linkkit_get_value(linkkit_method_get_t method_get, const void* thing_id, const char* identifier, void* value, char** value_str);
  • 根据identifier获取物对象的TSL属性

  • 参数

    • method_get

      1. linkkit_method_get_property_value

      2. linkkit_method_get_event_output_value

      3. linkkit_method_get_service_input_value

      4. linkkit_method_get_service_output_value

    • thing_id:物对象ID

    • identifier: TSL属性标识

    • value:获取的属性值

      1. 属性类型为int、enum或者bool时,value为int*

      2. 属性类型为float,value为float*

      3. 属性类型为date, value为long long*

      4. 属性类型为text, value为char *

    • value_str:字符串类型的value(用户不可对此内存进行修改,可拷贝一份到用户空间进行操作)

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_answer_service(const void* thing_id, const char* service_identifier, int response_id, int code)
  • 对云端服务请求进行回应

  • 参数

    • thing_id:物对象ID

    • service_identifer: 服务标识符

    • response_id: 回复ID

    • code: 回复状态码

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_invoke_raw_service(const void* thing_id, int is_up_raw, void* raw_data, int raw_data_length)
  • 向云端发送裸数据

  • 参数

    • thing_id: 物对象ID

    • is_up_ram: 消息类型(非0:raw上行, 0:raw下行回复)

    • raw_data: 裸数据

    • raw_data_length: 裸数据长度

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_trigger_event(const void* thing_id, const char* event_identifier, const char* property_identifier)
  • 上报设备事件到云端

  • 参数

    • thing_id: 物对象ID

    • event_identifier: 事件标示符

    • property_identifier: 属性标示符

  • 返回值:

    • 0: 成功

    • -1: 失败

  • 备注:

    • 如果触发的事件的method为"event.property.post",则会向云上报指定的property,否则上报所有的property
  • int linkkit_yield(int timeout_ms)
  • linkkit主循环函数,用于报文的发送及接收;如果允许多线程,请不要调用此函数

  • 参数

    • timeout_ms: 超时时间(毫秒)
  • 返回值

    • 0: 成功

    • -1: 失败

TSL相关

  • void* linkkit_set_tsl(const char* tsl, int tsl_len);
  • 从本地读取TSL文件,生成Thing对象并添加到linkkit中

  • 参数

    • tsl:设备描述信息(JSON类型)

    • tsl_len:设备描述信息长度

  • 返回值

    • NULL: 失败

    • other: 生成的物对象id

  • 备注:无

OTA相关

  • int linkkit_ota_init(handle_service_fota_callback_fp_t callback_fp)
  • 初始化OTA服务,并安装回调函数

  • 参数

    • callback_fp: OTA回调函数
  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

  • int linkkit_invoke_ota_service(void* data_buf, int data_buf_length)
  • 执行OTA服务

  • data_buf: OTA接收buffer,OTA服务程序将会使用这段内存接收BIN

  • data_buf_length:OTA 接收buffer大小

  • 返回值

    • 0: 成功

    • -1: 失败

  • 备注:无

results matching ""

    No results matching ""