關于藍牙協議棧,這里分享兩處整理的較為全面和細致的資源:
蝸窩科技
CY大象
前段時間一直在研究藍牙, 加了一些做藍牙的群, 可是最終發現,很多從事藍牙開發的iOS
人員,連藍牙協議棧都不知道, 關于安全機制甚至都沒聽過, 這主要也是因為蘋果的封裝實現都比較簡單,而更多的一些設置接口并未暴露,這也導致了iOS
方面存在諸多限制.
通過這段時間的測試結果,總結了下iPhone
的MTU
信息:
屏幕快照 2017-07-02 上午11.26.08.png
MTU
包括三個部分:OP Code(1Byte)
,Handler(2Byte)
,Payload
, 通過不同設備的測試, 拋去 OP Code(1Byte)
,Handler(2Byte)
, 所以得出了以上的結果, 而Android
的MTU
已經達到了247
, 至于可以手動進行設置這點 , 因為我并不從事Android
開發 , 所以沒有嘗試過.
下面是一份從ifixit
上獲取到的iPhone
的WiFi-BT
藍牙硬件參數信息:
屏幕快照 2017-07-02 上午11.25.47.png
因為公司項目要保證強實時和高質量通信速率, 所以對通信速度也做了多次的測試, 以下是部分測試結果:
屏幕快照 2017-07-02 上午11.25.59.png
說明: 以上測試結果是在設備波特率為19200
下的測試結果, 很多外設目前的波特率最高為115200
, 可是我們的設置在修改到了115200
波特率下后,iOS
就會出現傳輸速率不穩定,每個包片段長度階梯型變化的現象, 但Android
那邊并無影響 , 雖然iOS
不能像Android
那樣有更大的MTU size
,但是在蘋果論壇中, 有一位蘋果工作人員留下這樣一段答復:
DLE.png
然而在通信速度上,4.0
與4.2
甚至與 4.2 + DLE
三者在通信速度上并沒有看到什么明顯的提升.
在關于藍牙后臺方面,我曾經做過三次測試(在沒有開啟后臺重連的情況下):
第一次最長,保持了15.5小時
第二次保持了11小時
第三次只保持了8小時左右
測試的環境是,打開應用放置后臺鎖屏