通知数据长度和MTU大小。

7个职位/ 0个新职位
最后发表
zwang308
离线
最后看到:4年4个月前
主
加入:2014-07-02福音14:15
通知数据长度和MTU大小。

嗨,对话框中,

在我最近的项目中,我有一个100字节的特性,我想通过通知把它发送到客户端。

在客户端,我只能收到20字节,除非我改变MTU大小。我搜索了BLE书(Bluetooth Low Energy The Developer’s Handbook),没有发现任何地方提到通知数据大小与MTU大小相关。

我有点想知道通知数据大小和MTU大小之间的关系(对我来说,似乎我们只能通知MTU大小- 3字节的数据)?是BLE堆栈约束还是Dialog约束。

非常感谢,

设备:
Joacimwe
离线
最后看到:1年5个月前
大师
加入:2014-01-14 06:45
根据蓝牙技术

根据蓝牙4.0规范第3卷第F部分3.4.7.1“如果属性值大于(ATT_MTU-3)字节,那么只有该属性值的第一个(ATT_MTU-3)字节才能发送通知。”

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

zwang308
离线
最后看到:4年4个月前
主
加入:2014-07-02福音14:15
嗨Joacimwe,

嗨Joacimwe,

非常感谢你提供的信息。我注意到在规范3.4.4.5“Read Blob Request”小节中,我们可以发现“Read Blob Request用于请求服务器在给定偏移量上读取属性值的一部分,并在Read Blob Response中返回值的特定部分”。是否可以使用Dialog的SDK来阅读部分特征?

非常感谢

Joacimwe
离线
最后看到:1年5个月前
大师
加入:2014-01-14 06:45
是da14580支持

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

你用什么设备作为中心?智能手机、电脑还是另一台da14580?是否可以发出自定义的Read blob请求取决于中央。通常sdks提供读取整个特征的方法,然后发出多个读blob请求来检索整个特征值。

zwang308
离线
最后看到:4年4个月前
主
加入:2014-07-02福音14:15
嗨Joacimwe,

嗨Joacimwe,

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

我想有一个长个性。255个字节长)。每次服务器想要发送一些数据到客户端,它首先发送一个20字节的通知。在客户端,它可以得到一个“
长度”从这个20字节的通知和只读“长度”字节的特征数据。

例如,服务器发送一个通知给客户端,并告诉它从它读取50字节的数据。然后,客户端使用read blob命令只读取255字节特征中的50个字节,而不是读取整个特征。这有可能吗?

非常感谢。

Joacimwe
离线
最后看到:1年5个月前
大师
加入:2014-01-14 06:45
你就不能用那个吗

你不能只使用通知发送你想发送的数据吗?只要确保你有一个大的MTU。然后你可以发送50个字节。

zwang308
离线
最后看到:4年4个月前
主
加入:2014-07-02福音14:15
我们可以增加MTU

我们可以将MTU的大小增加到50,但是数据包的大小可以从8到255。因此,如果我们能够根据我们在通知包中发送的长度信息动态地读取部分特征,那就更好了。