透传格式数据业务交互示例
场景描述
根据实际业务场景来使用。如果不需要平台解析数据,仅透传数据的话,可以在设备成功接入移远通信物联网开发者中心后,通过 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、开发者中心下发透传数据
在 产品详情 详情页,单击 设备调试 页签可进行透传数据业务的交互。
2、设备接收到透传数据
设备接收到透传数据后会进入 transRecvCb 函数中透传事件回调,您可进入该事件回调进行下行透传数据处理。
c
void transRecvCb(quint8_t *value, quint32_t valLen)
{
Quos_logHexDump(APPS_OPEN, LL_DBG, "recv trans data", value, valLen);
}