Skip to content

数据业务交互 相关接口

API 列表

函数说明
Ql_iotCmdBusPassTransSend()发送透传数据至平台
Ql_iotCmdBusPassTransSend_ex()根据PkgID响应透传数据至平台
Ql_iotCmdBusPhymodelReport()发送物模型数据至平台
Ql_iotCmdBusPhymodelReport_ex()根据PkgID响应物模型数据至平台
Ql_iotCmdBusPhymodelAck()应答平台请求的物模型数据
Ql_iotCmdSysStatusReport()上报设备状态
Ql_iotSysGetDevStatus()获取设备状态
Ql_iotCmdSysDevInfoReport()上报指定设备信息
Ql_iotSysGetDevInfo()获取指定设备信息

API 详情

Ql_iotCmdBusPassTransSend

该函数用于发送透传数据至平台(建议通过 Ql_iotCmdBusPassTransSend_ex()发送透传数据,发送 成功后返回上行消息 ID)。

函数原型

c
qbool Ql_iotCmdBusPassTransSend(quint16_t mode, quint8_t *payload, quint32_t len)

参数说明

  • 输入参数
    • quint16_tmode:发送模式。
      • 0: QoS = 0,最多发送一次。
      • 1: QoS = 1,最少发送一次。
      • 2: QoS = 2,仅发送一次。
    • quint8_t *payload:待发送的数据内容。
    • quint32_tlen:待发送的数据长度。单位:字节。

返回值

  • True:  函数执行成功。
  • False:函数执行失败。

备注

  • 2.3.3及以上版本支持

调用示例

c
qbool ret = Ql_iotCmdBusPassTransSend(0,(unsigned char *)"123abc",6);

Ql_iotCmdBusPassTransSend_ex

该函数用于发送透传数据至平台。调用该函数发送透传数据成功后,该函数返回上行数据 ID(仅QuecThing SDK 2.10.0 及以后版本支持该函数)。

函数原型

c
qint32_t Ql_iotCmdBusPassTransSend_ex(quint16_t mode, quint8_t *payload, quint32_t len)

参数说明

  • 输入参数
    • quint16_tmode:发送模式。
      • 0: QoS = 0,最多发送一次。
      • 1: QoS = 1,最少发送一次。
      • 2: QoS = 2,仅发送一次。
    • quint8_t *payload:待发送的数据内容。
    • quint32_tlen:待发送的数据字节数。

返回值

  • -1:       函数执行失败。
  • 1~65535:  函数执行成功时上报的消息txid。

备注

  • 2.10.0及以上版本支持

调用示例

c
qbool ret = Ql_iotCmdBusPassTransSend_ex(0,(unsigned char *)"123abc",6);

Ql_iotCmdBusPhymodelReport

该函数用于发送物模型数据至平台(建议通过 Ql_iotCmdBusPhymodelReport_ex()发送物模型数据,发送成功后返回上行消息 ID)。

函数原型

c
qbool Ql_iotCmdBusPhymodelReport(quint16_t mode, const void *ttlvHead)

参数说明

  • 输入参数
    • quint16_tmode:发送模式。
      • 0: QoS = 0,最多发送一次。
      • 1: QoS = 1,最少发送一次。
      • 2: QoS = 2,仅发送一次。
    • const void *ttlvHead:待发送的TTLV数据表头。

返回值

  • True:  函数执行成功。
  • False:函数执行失败。

备注

  • 2.3.3及以上版本支持

调用示例

c
void *ttlvHead = NULL;  
Ql_iotTtlvIdAddInt(&ttlvHead, 1, 100);
Ql_iotCmdBusPhymodelReport(1, ttlvHead);
Ql_iotTtlvFree(&ttlvHead); //释放指针

Ql_iotCmdBusPhymodelReport_ex

该函数用于发送物模型数据至平台。调用该函数发送物模型数据成功后,该函数返回上行数据 ID(仅QuecThing SDK 2.10.0 及以后版本支持该函数)。

函数原型

c
qint32_t Ql_iotCmdBusPhymodelReport_ex(quint16_t mode, const void *ttlvHead)

参数说明

  • 输入参数
    • quint16_tmode:发送模式。
      • 0: QoS = 0,最多发送一次。
      • 1: QoS = 1,最少发送一次。
      • 2: QoS = 2,仅发送一次。
    • const void *ttlvHead:待发送的 TTLV 数据表头。

返回值

  • -1:       函数执行失败。
  • 1~65535:  函数执行成功时上报的消息txid。

备注

  • 2.10.0及以上版本支持

    注意:返回值使用完毕需要调用函数 Ql_iotTtlvFree() 释放指针。


调用示例

c
void *ttlvHead = NULL;  
Ql_iotTtlvIdAddInt(&ttlvHead, 1, 100);
Ql_iotCmdBusPhymodelReport_ex(1, ttlvHead);
Ql_iotTtlvFree(&ttlvHead); //释放指针

Ql_iotCmdBusPhymodelAck

该函数用于应答平台请求的物模型数据。

函数原型

c
qbool Ql_iotCmdBusPhymodelAck(quint16_t mode, quint16_t PkgID, const void *ttlvHead)

参数说明

  • 输入参数
    • quint16_tmode:发送模式。
      • 0: QoS = 0,最多发送一次。
      • 1: QoS = 1,最少发送一次。
      • 2: QoS = 2,仅发送一次。
    • quint16_t    PkgID:开发者中心下发的请求包ID。
    • const void *ttlvHead: 待发送的 TTLV 数据表头。

返回值

  • True:  函数执行成功。
  • False:函数执行失败。

备注

  • 2.3.3及以上版本支持

    注意:返回值使用完毕需要调用函数 Ql_iotTtlvFree() 释放指针。

调用示例

c
quint16_t PkgID ;
void *ttlvHead = NULL;  
Ql_iotTtlvIdAddInt(&ttlvHead, 1, 100);
qbool ret = Ql_iotCmdBusPhymodelAck(0,PkgID,ttlvHead);
Ql_iotTtlvFree(&ttlvHead); //释放指针

Ql_iotCmdSysStatusReport

该函数用于上报设备状态。

函数原型

c
qbool Ql_iotCmdSysStatusReport(quint16_t ids[], quint32_t size)

参数说明

  • 输入参数
    • quint16_tids[]:设备状态 ID 集合。详情请参考设备状态ID说明
    • quint32_tsize:设备状态 ID 数量。

返回值

  • True:  函数执行成功。
  • False:函数执行失败。

备注

  • 2.3.3及以上版本支持

调用示例

c
quint16_t statusIds[] = {
        QIOT_DPID_STATUS_BATTERY,    
        QIOT_DPID_STATUS_VOLTAGE,               
        QIOT_DPID_STATUS_SIGNAL,                                                                                                              
        QIOT_DPID_STATUS_FLASHFREE
    };
qbool ret = Ql_iotCmdSysStatusReport(statusIds, sizeof(statusIds) / sizeof(statusIds[0]));

Ql_iotSysGetDevStatus

该函数用于获取设备状态。

函数原型

c
void *Ql_iotSysGetDevStatus(quint16_t ids[], quint32_t size)

参数说明

  • 输入参数
    • quint16_tids:设备状态 ID 集合。详情请参考设备状态ID说明
    • quint32_tsize:设备状态 ID 数量。

返回值

TTLV数据表,节点是设备状态数据。

备注

  • 2.8.1及以上版本支持

    注意:返回值使用完毕需要调用函数 Ql_iotTtlvFree() 释放指针。


调用示例

c
quint16_t ids[QIOT_DPID_STATUS_MAX];
quint32_t i = 0;
void *ttlvHead = Ql_iotSysGetDevStatus(ids, i / 2);

Ql_iotCmdSysDevInfoReport

该函数用于上报指定设备信息。

函数原型

c
qbool Ql_iotCmdSysDevInfoReport(quint16_t ids[], quint32_t size)

参数说明

  • 输入参数
    • quint16_tids[]:设备信息 ID 集合。详情请参考设备信息ID

    • quint32_tsize:设备信息 ID 数量。

返回值

  • True:  函数执行成功。
  • False:函数执行失败。

备注

  • 2.3.3及以上版本支持

调用示例

c
quint16_t infoIds[] = {QIOT_DPID_INFO_MODEL_TYPE,
                        QIOT_DPID_INFO_MODEL_VER,
                        QIOT_DPID_INFO_MCU_VER,
                        QIOT_DPID_INFO_CELLID,
                        QIOT_DPID_INFO_ICCID,
                        QIOT_DPID_INFO_MCC,
                        QIOT_DPID_INFO_MNC,
                        QIOT_DPID_INFO_LAC,
                        QIOT_DPID_INFO_PHONE_NUM,
                        QIOT_DPID_INFO_SIM_NUM,
                        QIOT_DPID_INFO_SDK_VER,
                        QIOT_DPID_INFO_LOC_SUPLIST,
                        QIOT_DPIO_INFO_DP_VER,
                        QIOT_DPIO_INFO_CP_VER};
Ql_iotCmdSysDevInfoReport(infoIds, sizeof(infoIds) / sizeof(infoIds[0]));

Ql_iotSysGetDevInfo

该函数用于获取模块信息。

函数原型

c
void *Ql_iotSysGetDevInfo(quint16_t ids[], quint32_t size)

参数说明

  • 输入参数
    • quint16_tids:设备信息 ID 集合。详情请参考设备信息ID
    • quint32_tsize:设备信息 ID 数量。

返回值

TTLV 数据表,节点是模块信息数据。

备注

  • 2.8.1及以上版本支持

    注意:返回值使用完毕需要调用函数 Ql_iotTtlvFree() 释放指针。


调用示例

c
quint16_t ids[QIOT_DPID_INFO_MAX];
quint32_t i;
void *ttlvHead = Ql_iotSysGetDevInfo(ids, i / 2);

类型解析

设备状态ID

枚举定义

c
enum { 
    QIOT_DPID_STATUS_BATTERY = 1, /* 电量 */
    QIOT_DPID_STATUS_VOLTAGE = 2, /* 电压 */ 
    QIOT_DPID_STATUS_SIGNAL = 3, /* 信号强度 */ 
    QIOT_DPID_STATUS_FLASHFREE = 4, /* 剩余空间 */ 
    QIOT_DPID_STATUS_RSRP = 5, /* 参考信号接收功率 */ 
    QIOT_DPID_STATUS_RSRQ = 6, /* LTE 参考信号接收质量 */ 
    QIOT_DPID_STATUS_SNR = 7, /* 信号与干扰加噪声比 */ 
    QIOT_DPID_STATUS_MAX, 
};

参数说明

参数描述
QIOT_DPID_STATUS_BATTERY电量(百分比)
QIOT_DPID_STATUS_VOLTAGE电压(伏特)
QIOT_DPID_STATUS_SIGNAL信号强度(RSSI)
QIOT_DPID_STATUS_FLASHFREE剩余空间(字节)
QIOT_DPID_STATUS_RSRP参考信号接收功率(RSRP)
QIOT_DPID_STATUS_RSRQLTE参考信号接收质量(RSRQ)
QIOT_DPID_STATUS_SNR信号与干扰加噪声比(SNR)

设备信息ID

枚举定义

c
enum {
    QIOT_DPID_INFO_MODEL_TYPE = 1, /* 模块型号 */ 
    QIOT_DPID_INFO_MODEL_VER = 2, /* 模块版本 */ 
    QIOT_DPID_INFO_MCU_VER = 3, /* MCU 版本 */ 
    QIOT_DPID_INFO_CELLID = 4, /* 基站 id */ 
    QIOT_DPID_INFO_ICCID = 5, /* SIM 卡号 */ 
    QIOT_DPID_INFO_MCC = 6, /* 移动国家代码 */ 
    QIOT_DPID_INFO_MNC = 7, /* 移动网络代码 */ 
    QIOT_DPID_INFO_LAC = 8, /* 位置区代码 */ 
    QIOT_DPID_INFO_PHONE_NUM = 9, /* phone 号 */ 
    QIOT_DPID_INFO_SIM_NUM = 10, /* SIM 号 */ 
    QIOT_DPID_INFO_SDK_VER = 11, /* IOT SDK 版本号*/ 
    QIOT_DPID_INFO_MAX,
 };

参数说明

参数描述
QIOT_DPID_INFO_MODEL_TYPE模块型号
QIOT_DPID_INFO_MODEL_VER模块版本
QIOT_DPID_INFO_MCU_VERMCU 版本
QIOT_DPID_INFO_CELLID基站 ID
QIOT_DPID_INFO_ICCIDSIM 卡号
QIOT_DPID_INFO_MCC移动国家代码
QIOT_DPID_INFO_MNC移动网络代码
QIOT_DPID_INFO_LAC位置区代码
QIOT_DPID_INFO_PHONE_NUMphone 号
IOT_DPID_INFO_SIM_NUMSIM 号
QIOT_DPID_INFO_SDK_VERSDK 版本号