gpt4 book ai didi

android - 从 BLE v4.2 到 4.0 的有效载荷大小的向后兼容性

转载 作者:行者123 更新时间:2023-11-29 11:40:39 24 4
gpt4 key购买 nike

我有一个蓝牙 LE 版本 4.2 的硬件设备,它可以发送有效负载为 251 字节的数据包。但是我将通过移动应用程序(Android 和 IOS)接收数据,并且移动设备将具有不同的蓝牙 LE 版本,例如 v4.0、v4.1 或 v4.2。

假设我的硬件设备充当主设备,移动设备充当从设备。而这里master并不知道slave的蓝牙版本。

如果master发送payload为251 bytes的数据包,slave(v4.0 - payload: 33 bytes)如何处理。

问题一:BLE GATT server是否能够通过保留251个数据包的缓冲区并依次发送33个数据包来处理这种向后兼容的情况?

问题 2:通过将主机保持在 v4.2 并仍然使用所有 BLE 版本回答从机,获得高吞吐量的最佳方法是什么?

问候,湿婆。

最佳答案

如果你读过Bluetooth Core 规范,你会发现在Link Layer 上Link Layer packet size 可以从双方协商(slave 或master 无所谓)。如果其他设备不支持,则将使用默认长度。否则将使用较大的长度。所以它是完全向后兼容的。

此外,GATT 层根本不需要更改以支持 LE 数据长度扩展,因为分段和重组由 L2CAP 层处理。

但请注意,您需要将较大的 MTU 换成 GATT 才能使用该功能。最好 4+MTU 应该是链路层数据包最大长度的倍数。

关于android - 从 BLE v4.2 到 4.0 的有效载荷大小的向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com