低功耗藍牙BLE學習篇:低功耗藍牙以及GATT的概念

概念:藍牙4.0和BLE

通常在我遇到的不懂藍牙或者瞭解一點藍牙的朋友看來,往往將BLE等同於藍牙4.0,其實不然。

藍牙4.0是協議,4.0是協議版本號,藍牙4.0是2010年6月由SIG(Special Interest Group)發佈的藍牙標準,它有2種模式:

BLE(Bluetooth low energy)只能與4.0協議設備通信,適應節能且僅收發少量數據的設備(如家用電子);

BR/EDR(Basic Rate / Enhanced Data Rate),向下兼容(能與3.0/2.1/2.0通信),適應收發數據較多的設備(如耳機)。這個模式常常也有人稱之爲“傳統藍牙”或“經典藍牙”。

可以這樣理解,藍牙4.0協議包含BLE,BLE隸屬於藍牙4.0協議的一部分



關於低功耗藍牙

對於我來說,着重學習低功耗藍牙,即Bluetooth LE。

Bluetooth Low Energy (也被稱爲Bluetooth 4.0、BLE、BTLE),下面記作BLE,是使用2.4GHz的無線短距離無線通信標準。 迄今爲止,雖然高速藍牙已經實現,但BLE在通訊速度上比較普通,主要強調一個鈕釦電池能夠工作幾年的這種省電性能。

設備端和主機端使用GATT(Generic ATTribute) profile進行通信。 如果你聽到GATT這個名詞,就可以將其想成使用BLE,這沒什麼問題。

由於與傳統藍牙不兼容,在主機端,和藍牙3.0合併做爲雙模,實現成兩者都可以使用的情況比較多。PC機和智能手機上,使用雙模的被稱作「Bluetooth Smart Ready」,只支持低功耗藍牙的被表示成「Bluetooth Smart」。

順便說一句,最早諾基亞在2006年制定了名爲Wibree的技術標準,但它已在2010年被標準化爲藍牙4.0。


GATT profile


GATT已經成爲BLE通信的規定,每一個設備中存在很多的“service”(服務),service中還包含有多個“Characteristic”(特徵值)。
在藍牙實際數據交換中,就是通過讀寫這些“Characteristic”來實現的。




可以這樣來理解這兩個概念:service即面向對象中的“類”的概念,characteristic即面向對象中“屬性”的概念。

每個characteristic的值可以在不加密的狀態下讀寫,但配對的操作是加密的。 還有當characteristic的值已改變時,可接收通知(notify)。

除了那些藍牙技術聯盟定義爲標準的服務和characteristic之外,設備的開發者也可以自己定義。

一些必要的服務組合成所謂的“profile”。(特別是在需要和傳統藍牙區別開的情況下的情況下,稱爲基於GATT的profile)藍牙技術聯盟也定義了標準的profile,例如,對應於鼠標鍵盤“HID over GATT“ profile,是定義成包括「Human Interface Device」「Device Information」「Battery Service」「Scan Parameters(可選)」這些服務的。

服務和characteristic是通過UUID來進行識別的。UUID是32位的,但那些被藍牙技術聯盟的標準中定義的UUID是以四個數字來表示的。實際上,四位數的UUID,是有附加 Bluetooth Base UUID,即變成0000●●●●-0000-1000-8000-00805f9b34fb(4位UUID被輸入在●的位置)。


更多藍牙基礎請訪問SIG官網:http://developer.bluetooth.cn/libs/Cn/Overview/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章