Skip to content

透传格式数据业务交互示例

场景描述

根据实际业务场景来使用。如果不需要平台解析数据,仅透传数据的话,可以在设备成功接入移远通信物联网开发者中心后,通过 Ql_iotCmdBusPassTransSend()Ql_iotCmdBusPassTransSend_ex() 指令来实现与开发者中心的数据交互,任何类型的数据均可采用透传模式。

涉及指令

数据交互相关 API

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

提示:详情请参考数据交互相关 相关接口

操作步骤

平台侧

一、登录开发者中心

登录开发者中心,未注册可单击立即注册完成注册。

二、创建产品

创建产品详情请参考 创建产品(通用版)

透传数据交互

开发建议:上报频率不宜过快,建议采用灵活上报的形式:
若是控制类的数据(如开关、工作模式),则可采用变化上报的方式。例如平台或者APP下发控制或者通过其他方式改状态值,设备再进行上报到平台端。
若是实时变化类的数据(如电流、温度值),则可采用定时上报。例如每隔5分钟设备定时上报一次到平台端。

示例一(发送透传数据)

设备可调用 Ql_iotCmdBusPassTransSend() 函数主动向平台发送透传数据。发送数据为长度12个字节的字符串"ABCabc123456",QoS级别为1。

示例代码如下所示:

c
Ql_iotCmdBusPassTransSend(1,(unsigned char *)"ABCabc123456",12);

提示:透传发送后,若QoS级别为1或以上,设备发送透传数据后将会进入 Ql_iotEventCB() 函数中的 +QIOTEVT: 4,10200 事件;若QoS级别为0,设备成功发送数据后将且不进入事件回调。

示例二(读取平台下发的透传数据)

1、开发者中心下发透传数据

产品详情 详情页,单击 设备调试 页签可进行透传数据业务的交互。

img

2、设备接收到透传数据

设备接收到透传数据后会进入 Ql_iotEventCB() 函数中透传事件回调,您可进入该事件回调进行下行透传数据处理。

c
void FUNCTION_ATTR_ROM Ql_iotEventCB(quint32_t event, qint32_t errcode, const void *value, quint32_t valLen)
{
   switch (event)
   {  
   		/* 接收下行数据事件  */
 	  case QIOT_ATEVENT_TYPE_RECV:
 		/* 收到透传数据 */
        if(10200 == errcode)
        {
            printf("pass data:%.*s\r\n",valLen,(char *)value);
            /*Code*/
        }    
      default: break;
    }
}