如果我想通過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