藍芽學習--關係
阿新 • • 發佈:2018-12-15
簡寫
- GAP : Generic Access Profile
- GATT : Generic Attribute Profile
- ATT : Attribute Protocol
- HCI : Host-Controller Interface
ATT、GATT、Profile的通俗說法(喜聞樂見)
GATT Profile(通用屬性配置) | GATT(通用屬性規範) | ATT(屬性協議) |
---|---|---|
Profile 就像這個做煤球的模子。每個 SIG 組織成員都可以向 SIG 提交這個“模子”, 如果審批通過,那麼這個就成了全世界 都通用的“模子”,你不用管這個“煤球” 是在中國燒,還是在美國燒,不管是用 的安卓系統還是蘋果系統,全部都是通 用的,所以這個叫“通用屬性規範配置”, 也就是“全球通用的蜂窩煤模子” | GATT 就是通過“模子”做出來的各種各樣的“煤 球”,它相當於一個“煤球供應商”,它這有各式 各樣已經做好的煤球,都儲存在“庫房”。對於 軟體來說,GATT 就相當於一個伺服器或者是資料 庫,這個資料庫中有各種各樣由 Profile 模子製作 出來的資料。這個資料儲存在晶片中,軟體實現 的話就是一個連結串列,只是這個連結串列需要動態建 立,也就相當於“煤球供應商”不能將所有不同 種類的煤球都做出來,他們會根據客戶的需求, 動態去做哪種煤球。對於 GATT 資料庫也是一樣 的,它會根據應用而在初始化系統時動態建立所 用到的“模子”的資料庫。 | ATT 就相當於一個運輸“煤球”工具。它 在4.0的規範中定義了怎麼去訪問GATT數 據庫,並傳輸這些資料到相應層。 |
服務是什麼鬼?
藍芽4.0是以引數來進行資料傳輸的,即服務端定好一個東西,客戶端可以對這個東西進行讀,寫,通知等操作,這個東西我們稱之為特徵值(characteristic),
但一個引數不夠我們用,比如我們這個特徵值是電量的值,另一個特徵值是裝置讀取的溫度值。
那這時候會有多個特徵值,並且我們還會對它們分類,分出來的類我們稱之為服務(service)。
一個裝置可以有多個服務,每一個服務可以包含多個特徵值。為了方便操作,每個特徵值都有他的屬性,例如長度(size),許可權(permission),值(value),描述(descriptor)