找回密码
 立即注册

微信扫码登录

查看: 76|回复: 3

[BLE Mesh] 私有MESH组控的用户数据读取不全

[复制链接]

3

主题

4

回帖

41

积分

英勇黄铜

积分
41
发表于 6 天前 | 显示全部楼层 |阅读模式
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: 8250
SDK及版本: 泰凌私有mesh 版本: V1.S.1
本帖最后由 wx_5259911707 于 2024-12-17 08:20 编辑

image.png

例如发送端发送过来的数据是   0f 7a 06 00 00 4f 80 ea 11 02 10 1f 01 00 00 04 04 00 00 00 b3
1f 01后面的 04  04 数据接收不到,只会显示是00 00
当发送过来的数据室     0f 7a 06 00 00 4f 80 ea 11 02 10 1f 01 01 01 00 00 00 00 00 b3
1F 01 后面的 01 01则是可以收到的。想问一下这里读取 rf_packet_att_value_t *pp = (rf_packet_att_value_t*)(((ll_packet_l2cap_data_t*)(p))->value);  这个value 的内容为什么会出现这样的情况。

5

主题

68

回帖

323

积分

版主

积分
323
发表于 5 天前 | 显示全部楼层
group 地址作为目的地址,只有 前面 5个 byte是参数区。
微信图片_20241217100016.png

3

主题

4

回帖

41

积分

英勇黄铜

积分
41
 楼主| 发表于 4 天前 | 显示全部楼层
TL_HSF 发表于 2024-12-17 10:00
group 地址作为目的地址,只有 前面 5个 byte是参数区。

用IOS下发的数据是可以读取到后面5BYTE的,用安卓和网关的话就没有,这里要怎么操作才能让安卓和网关都可以下发完整数据,设备读取到?

5

主题

68

回帖

323

积分

版主

积分
323
发表于 4 天前 | 显示全部楼层
在 rf_link_response_callback() 里面,都是读不到的,不管是 Android,还是 iOS,还是 gateway。原因如之前描述。
在 rf_link_data_callback() 里面读取,由于先后顺序的影响,和 iOS 或者 Android 建立了 GATT 连接 的 mesh 节点还可以获取,其他都不行。
所以设计的初衷,就是:对于 有回复的命令,比如 0xEA, 并且 目的地址是组播的命令, 后面 5 个 byte 就是不能用的,因为用作其他用途了。
需要 10个 byte的参数,又需要 有回复的机制,建议是
先发送一个没有 回复的命令,带 10个byte的参数,然后 发送一个 有回复的命令,比如 EA,去查询是否收到了前面发送的命令。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-12-22 01:23 , Processed in 0.087458 second(s), 23 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表