如果我想通过BLE传输大量数据(例如1 MB文件),最好的方法是什么?通过BLE发送大量数据的最快方式是什么?
我控制连接的两端,但客户端是iOS/Android,因此只能访问GATT。我无法用L2CAP做任何事情。
我也不能等待蓝牙4.1,6LoWPAN,面向连接的通道或类似的东西。
我假设答案是有一个“请求”特性,你写一个数据请求(“给我3000字节从字节0开始”)和一个“数据输出”特性发送大量的20字节包含数据的通知(最大特征尺寸)。
有没有更好的方法?
如果我想通过BLE传输大量数据(例如1 MB文件),最好的方法是什么?通过BLE发送大量数据的最快方式是什么?
我控制连接的两端,但客户端是iOS/Android,因此只能访问GATT。我无法用L2CAP做任何事情。
我也不能等待蓝牙4.1,6LoWPAN,面向连接的通道或类似的东西。
我假设答案是有一个“请求”特性,你写一个数据请求(“给我3000字节从字节0开始”)和一个“数据输出”特性发送大量的20字节包含数据的通知(最大特征尺寸)。
有没有更好的方法?
是的,我们正在使用您提到的方法。
确保您以最节省空间的格式传输所需的数据。请参阅是否可以压缩文件并将其传输。
您可以在远程BLE设备中将连接间隔更新为最小值,最小值为6 * 1.25毫秒。实际上,BLE设计用于低能量,小分组,低数据速率。 L2cap数据将在跳频的不同数据信道中传输。分组TX/RX在每个连接间隔内发生,并且事件中的最大分组TX/RX受规范限制,最终由制造商实施。所以我们可以改变连接间隔尽可能小以提高数据速率。
请参阅BT 4.0规格第2卷,7.8.18 LE连接更新命令。
尝试协商比默认值更大的MTU。 然后每个通知可以更大。即使它将被L2CAP层分割,由于数据包头将更小,您将获得稍大的吞吐量。
从外设到中央或中央到外设? –
哎呀忘了说:外围到中央。 – Timmmm