通知数据长度和MTU大小。

7帖子 / 0新
最后一篇文章
Zwang308
离线
最后一次露面:4年6个月前
掌握
加入:2014-07-02 14:15
通知数据长度和MTU大小。

嗨对话,

在我最近的项目中,我有一个100厘米的特征,我想通过通知将其发送到客户端。

在客户端,除非更改MTU尺寸,否则我只能收到20个字节。我搜索了我的BLE书(蓝牙低能开发人员的手册),但没有发现任何关于通知数据大小的地方与MTU大小有关。

我有点想知道通知数据大小与MTU大小之间有什么关系(对我来说,似乎我们只能通知MTU大小-3个数据的数据)?是BLE堆栈约束还是对话框约束。

非常感谢,

设备:
乔辛威
离线
最后一次露面:1年7个月前
大师
加入:2014-01-14 06:45
根据蓝牙4

根据蓝牙4.0规范第3卷F第3卷3.4.7.1“如果属性值长于(att_mtu – 3)八位位,则只能以通知发送此属性值的第一个(att_mtu – 3)八位位。”

所以你是正确的。最大尺寸为MTU尺寸-3个字节。

Zwang308
离线
最后一次露面:4年6个月前
掌握
加入:2014-07-02 14:15
嗨,乔辛威,

嗨,乔辛威,

非常感谢您提供的信息。我在规格中注意到第3.4.4.5节“读取blob请求”,我们可以找到“读取blob请求用于请求服务器在给定偏移处读取属性的一部分,并返回读取斑点响应中的值。”。是否可以使用Dialog的SDK读取一部分特征的一部分?

非常感谢

乔辛威
离线
最后一次露面:1年7个月前
大师
加入:2014-01-14 06:45
是的DA14580支持

是的DA14580支持传入的读取BLOB请求。它将自动响应特征值的相应部分。

您使用哪种设备作为中央?智能手机,计算机或其他DA14580?如果您可以发布自定义读取BLOB请求,则取决于中心。通常,SDK提供了读取整个特征的方法,然后它将发布多个读取BLOB请求以检索整个特征值。

Zwang308
离线
最后一次露面:4年6个月前
掌握
加入:2014-07-02 14:15
嗨,乔辛威,

嗨,乔辛威,

目前,我使用一对DA14580作为服务器和客户端。

我想拥有一个长的特征(例如255个字节长)。每次服务器都希望将一些数据发送给客户端时,它首先发送20个字节的通知。在客户方面,它可能会得到一个”
长度“来自此20字节通知,仅读取特征数据数据的“长度”字节。

例如服务器向客户端发送通知,并告诉它从中读取50个字节。然后,客户端使用读取blob命令仅读取255个字节特征的50个字节,而不是阅读整个特征。那可能吗?

非常感谢。

乔辛威
离线
最后一次露面:1年7个月前
大师
加入:2014-01-14 06:45
你不能只使用

您不能仅使用通知并发送要发送的数据吗?只需确保您的MTU大。然后,您可以发送50个字节。

Zwang308
离线
最后一次露面:4年6个月前
掌握
加入:2014-07-02 14:15
我们可以增加MTU

我们可以将MTU大小提高到50,但是数据包的任何大小从8到255。因此,如果我们只能根据我们在Notification软件包中发送的长度信息动态阅读一部分特征,那就更好了。