【已解决】【tuyaOS】蓝牙批量上报问题

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


sandia
Posts: 61

你看看我之前说的,我已经把500改成5了,但是还是上报不成功的

sandia
Posts: 61

Re: 【求助】【tuyaOS】蓝牙批量上报问题

原来的一个data的长度是600,我新建了另一个结构体的data[5],用于批量上报,但是还是上报不成功,你看看是哪里出了问题?

结构体.png
sandia
Posts: 61

Re: 【求助】【tuyaOS】蓝牙批量上报问题

还是说我批量上报的结构体数组各DP之间需要什么分隔符?

User avatar
逻辑的院子
Posts: 290
Contact:

Re: 【求助】【tuyaOS】蓝牙批量上报问题

我上面提到的总长度指的是:实际有效数据的总长度,而不是数组的总长度,数组的总长度只要比实际有效数据长就行。

举个例子吧,例如我要传输以下两个DP:

dp_id = 1
dp_type = 2(DT_VALUE)
dp_data_len = 4(DT_VALUE_LEN)
dp_data_value = 100
dp_id = 2
dp_type = 2(DT_VALUE)
dp_data_len = 4(DT_VALUE_LEN)
dp_data_value = 101

那么我只需要定义一个数组buffer(因为两个DP的总长度刚好16字节,所以buffer的长度不小于16字节即可),然后将以上数据填充到buffer中,数据格式为:
01 02 00 04 00 00 00 64 02 02 00 04 00 00 00 65

然后调用:

Code: Select all

tuya_ble_dp_data_send(g_sn++, DP_SEND_TYPE_ACTIVE, DP_SEND_FOR_CLOUD_PANEL, DP_SEND_WITHOUT_RESPONSE, buffer, 16);

即可

sandia
Posts: 61

Re: 【已解决】【tuyaOS】蓝牙批量上报问题

解决了,感谢支持

Post Reply