Skip to content

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

场景描述

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

涉及指令

数据交互相关 API

函数说明
Qth_cmdSendTrans()发送透传数据至平台

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

操作步骤

平台侧

一、登录开发者中心

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

二、创建产品

创建产品详情请参考 创建产品

透传数据交互

若模块发送透传数据时注册了pkgId和sendCb函数,则会调用发送回调函数通知设备端发送透传数据结果,可根据sendCb中的pkgId判断是对应的是哪一包数据。

示例一(发送透传数据,不注册发送回调)

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

示例代码如下所示:

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

示例二(发送透传数据,注册发送回调)

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

示例代码如下所示:

c
void sendCb(quint16_t pkgId, qbool result)
{
    Quos_logPrintf(APPS_OPEN, LL_DBG, "recv send event, pkgId:%u, result:%d\r\n", pkgId, result);
}
    
...
quint16_t pkgId = 0;
Qth_cmdSendTrans(1,(unsigned char *)"ABCabc123456",12,&pkgId, sendCb);
Quos_logPrintf(APPS_OPEN, LL_DBG, "pkgId:%u\r\n", pkgId);

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

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

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

img

2、设备接收到透传数据

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

c
void transRecvCb(quint8_t *value, quint32_t valLen)
{
    Quos_logHexDump(APPS_OPEN, LL_DBG, "recv trans data", value, valLen);
}