2015-09-10 47 views
0

如果我想通过BLE传输大量数据(例如1 MB文件),最好的方法是什么?通过BLE发送大量数据的最快方式是什么?

我控制连接的两端,但客户端是iOS/Android,因此只能访问GATT。我无法用L2CAP做任何事情。

我也不能等待蓝牙4.1,6LoWPAN,面向连接的通道或类似的东西。

我假设答案是有一个“请求”特性,你写一个数据请求(“给我3000字节从字节0开始”)和一个“数据输出”特性发送大量的20字节包含数据的通知(最大特征尺寸)。

有没有更好的方法?

+0

从外设到中央或中央到外设? –

+0

哎呀忘了说:外围到中央。 – Timmmm

回答

0

是的,我们正在使用您提到的方法。

  1. 与上次索引号(第一次的索引为0)
  2. 服务器发送给您的数据与指数no.Store指数没有后续的格式
  3. 请求数据继续步骤1和2,直到时间服务器发送数据结束 - 可能与索引-1或什么。

确保您以最节省空间的格式传输所需的数据。请参阅是否可以压缩文件并将其传输。

0

您可以在远程BLE设备中将连接间隔更新为最小值,最小值为6 * 1.25毫秒。实际上,BLE设计用于低能量,小分组,低数据速率。 L2cap数据将在跳频的不同数据信道中传输。分组TX/RX在每个连接间隔内发生,并且事件中的最大分组TX/RX受规范限制,最终由制造商实施。所以我们可以改变连接间隔尽可能小以提高数据速率。

请参阅BT 4.0规格第2卷,7.8.18 LE连接更新命令。

0

尝试协商比默认值更大的MTU。 然后每个通知可以更大。即使它将被L2CAP层分割,由于数据包头将更小,您将获得稍大的吞吐量。

相关问题