藍牙學習筆記一

  學習藍牙有一段時間了,整理一下一直來的學習經驗與參考資料,供初學者使用. 該學習筆記系列主要記錄的是低功耗藍牙(BLE),經典藍牙只是簡單的描述,由於BlueTooth4.0及之後都是以低功耗爲側重點。
國內對於藍牙的資料確實不多,並且也不太全面,因此,你要想真正摸透藍牙規範及協議棧,你最好具有必定的英語水平。
 
藍牙里程版本
•版本1.0(基本碼率 1Mbps)
•版本2.0(加強碼率 3Mbps)
•版本3.0 (交替射頻 54Mbps)
•版本4.0(低功耗、含前版本功能)
•版本4.1(一從多主?)
•版本5.0(mesh 組網)
 
詳細版本資料:
 
藍牙4.0單模與雙模
•單模是指藍牙BLE(Bluetooth Low Energy),其特色是功耗更低,可使電池的使用時間更長,成本更低且傳輸距離更遠。藍牙 BLE 4.0只能與BT4.0互相傳輸沒法向下兼容(與3.0/2.1/2.0沒法相通)。
•雙模即爲藍牙BLE和經典藍牙(Classic Bluetooth,在此前的1.一、1.二、2.0、2.一、3.0版本上發展和完善而來)的組合。在擁有藍牙BLE特色的同時,還向下兼容藍牙 3.0 、 2.一、2.0標準。
 
經典藍牙(BR/EDR) 通訊方式:
 
 
BLE鏈接創建過程:
 
在BLE種,要清楚這兩種角色,有多種叫法
一、主設備,也叫中心設備(mster, central)
二、從設備,也叫外圍設備(slave, peripheral)
主設備通常是主動發起鏈接的設備,從設備通常是發起廣播的設備.
 
在Bluetooth4.0,支持一主多從,支持最多7個從設備. 這個網絡叫作 Piconet(微微網),也稱爲PAN(我的域網絡)。
 
綠色的爲Master,黑色的爲Slave
在Bluetooth4.1時,藍牙官方規範文檔,在拓撲圖中加入Scatternet (散射網),如圖:
 
 
 
Scatternet (散射網) 基於多個Piconet網絡組成,從而實現一從多主。 一個從設備最多同時被7個主設備鏈接。
 
要想全面瞭解藍牙,你必須瞭解藍牙規範,可在藍牙官網下載全部版本的規範文檔:
若是官網的鏈接失效了, 也能夠在這下載。
 
google 在Android方面對藍牙的闡述以及接口:
 
蝸窩科技(概述了整個藍牙協議的知識面,看完會有個大概的理解)
 
書本《低功耗藍牙開發權威指南》比較全面地講解bluetooth4.0,分各個層級講解藍牙原理以及如何工做,沒有涉及到代碼,我的以爲部份內容講得還不夠深刻細緻。
 
Android 5.0 谷歌提供了從設備接口,手機端也能夠做爲從設備,google demo: https://github.com/googlesamples/android-BluetoothAdvertisements
 
Android 的藍牙協議棧使用的 bluedroid,Nordic Team 總結了一些 bluedroid 協議棧的問題. 以及如何更新最新的bluedroid。Nordic 在藍牙方面仍是頗有權威的。
 
android 源碼對應藍牙資料
 
在iOS與Android系統,如何讓BLE最大輸出
Maximizing BLE Throughput on iOS and Android
 
android BLE 框架:
相關文章
相關標籤/搜索