藍牙( Bluetooth? ) 是壹種無線技術標準,可實現固定設備、移動設備和個人域網之間的短距離數據交換。如今藍牙由藍牙技術聯盟(Bluetooth Special Interest Group,簡稱SIG)管理,負責監督藍牙規範的開發,管理認證項目,並維護商標權益,制造商的設備也必須符合藍牙技術聯盟的標準才能以“藍牙設備”的名義進入市場。
泛指支持藍牙協議在4.0以下的模塊,壹般用於數據量比較大的傳輸,如:語音、音樂等。經典藍牙模塊多用在藍牙音頻模塊,因為音頻需要大碼流的數據傳輸,更適合使用經典藍牙。
BLE(Bluetooth Low Energy,低功耗藍牙) 是對傳統藍牙技術的補充。盡管BLE和傳統藍牙都稱之為藍牙標準,且***享射頻,但是BLE是壹個完全不壹樣的技術。
BLE不具備和傳統藍牙的兼容性。它是專為小數據率、離散傳輸的應用而設計的。
藍牙的波段為2400-2483.5MHz。這是全球範圍內無需取得執照(但並非無管制的)的 2.4 GHz 短距離無線電頻段。
藍牙使用跳頻技術,將傳輸的數據分割成數據包,通過79個指定的藍牙頻道分別傳輸數據包,每個頻道的頻寬為1 MHz。藍牙4.0之後使用2 MHz 間距,可容納40個頻道。第壹個頻道始於2402 MHz,每1 MHz壹個頻道,至2480 MHz。
高斯頻移鍵控(GFSK)是最初也是唯壹可用的調制方案。運行GFSK的設備可以以基礎速率(BR)運行,瞬時速率可達1 Mbit/s;增強數據率(EDR)可達2 和 3 Mbit/s。
在藍牙無線技術中,兩種模式(BR和EDR)的結合統稱為“BR/EDR射頻”。
基本速率:配置文件可確保不同生產商的產品之間具備互操作性,這是藍牙技術的另壹重要特點。
增強數據率:從藍牙2.1版中增強了短射程無線技術,令藍牙設備的連接更加容易,只要開啟設備並從菜單中選擇添加即可完成連接,之後設備將會自動搜索並自動連接。
此項特點帶來的優勢:
Bluetooth Smart 是2010年推出的壹項創新技術,這個特征是以藍牙核心規格4.0版首次推出,是藍牙低功耗BLE的品牌名稱。
Bluetooth Smart不僅具備低耗能的特點,它還適合應用創建。能耗較低是因為它使用的電能遠遠少於其它無線技術。適合應用創建,是因為采用這項技術創建適合於藍牙智能傳感器的應用成本較低,並可靈活選擇開發結構。
Bluetooth Smart的吞吐量約為1 Mbps (具體還取決於應用場景)。藍牙BR/EDR的吞吐量大於2Mbps,適合高品質音頻位流,或其它需要保持連接狀態的更高帶寬的應用。
Bluetooth Smart技術特點:
Bluetooth Smart 設備主要應用於智能電子產品中,包括心率監測儀器、體溫計、血糖儀、智能穿戴設備、胎壓監測和電子煙等。
官方還有 Bluetooth Smart Ready 商標,為雙模式射頻,表示其同時支持傳統藍牙無線連接和新藍牙低耗能連接。包括手機、平板電腦、個人電腦、機頂盒及電視機等處於消費者互聯世界核心的電子設備,這些設備可有效地接受傳統藍 牙產品和未來推出的藍牙設備以及BluetoothSmart設備發送的數據並傳送至應用軟件,從而將數據轉換為有用的信息。
目前所有的低功耗應用的相關配置都是基於它而來的,這個配置描述了藍牙設備具體是如何工作的。
Descriptor:描述Characteristic中的值(值的範圍,值的單位,或者其他描述性信息)
提供數據的藍牙設備向外開放壹個Service(以UUID區分,SIG已有 定義 ),服務中有壹組Characteristic供其他連接的設備讀寫。
需要獲取數據的設備(Client)連接到提供數據的設備(Server),獲取Server提供的服務,然後就可以讀寫服務中Characteristic的值。Client也可以使能Characteristic的通知,每當Characteristic變化時,Client會接收到通知。
中央設備(Central)和外圍設備(Peripheral)區分的標準是是否可以發起連接。中央角色的設備可以向外圍設備發起連接,允許設備同時支持兩種模式。Bluetooth Smart 4.1開始支持雙重模式。
配對對於藍牙BR/EDR是強制性的,而對於Bluetooth Smart則是選擇性的。通常情況下,如果音頻設備(如耳機)支持藍牙4.x,則兼容4.x BR/EDR的規格,而不兼容Bluetooth Smart。也就是說壹般藍牙耳機都要配對後使用。
常規的連接流程是:
註意:外圍設備只允許被壹個設備連接,中央設備可以連接有限多個外圍設備
Server和Client區分是:提供數據作為Server,消費數據作為Client。
標準中Central和Peripheral都可以作為Server/Client。但是壹般是外圍設備做Server,中心設備做Client。連接後Client即可從Server端獲取數據。
為隨時可以接受連接請求,Server端啟動後就會開放壹個GattServer。
數據交換流程:
註意:
基於Android寫了壹個Demo,用手機連接壹個手表(可移植到手機),然後點擊手表應用時發送壹個消息給手機。有興趣的可以看壹下: