att(attribute)屬性,寬泛來講,屬性是一條帶有標籤,可被定址的資料,它是描述乙個資料的固有特徵
在ble中,屬性域由三部分構成,屬性控制代碼(handler),屬性型別(type)和屬性值(value)
大家可能會問,屬性是描述乙個事務的固有屬性,我們只需要屬性型別和屬性值就ok了,這樣又節省頻寬,又簡介,這個屬性控制代碼是什麼鬼?
這裡我們做乙個假設,假設你的ble上有溫度屬性,屬性型別 = 「溫度」 屬性值 = 13
但是,如果有多個溫度屬性勒,這時候就需要屬性控制代碼來發揮作用了,
屬性控制代碼:用來標識這是第幾個溫度屬性。
屬性型別:應該不用解釋了吧,溫度啊,壓強啊,功率啊,血壓什麼的都可以看著乙個屬性。但是這些屬性型別不可能讓我們各大商家去自主定義啊,肯定需要乙個通用的規範啊,這時候sig就出了熟悉的分配規則叫「藍芽uuid「,
低功耗的藍芽屬性被sig劃分為如下幾組範圍:
很多屬性的集合稱為屬性的資料庫,最小為6種屬性(具體為gap服務《首要服務》,裝置名的《特性》,裝置名的《值》,外觀的《特徵》,《值》和gatt的《首要服務》這6種),最大可到(u32種)。
既然有了屬性的資料庫,肯定要有為資料庫服務的伺服器和消費資料的客戶端了。
上面我們已經引入了屬性的伺服器和客戶端的作用了,這裡就不廢話了。
屬性許可:許可是運用操作的屬性許可權,比如,可讀,可寫,即可讀又可寫,即不可讀又不可寫。
舉個栗子:溫度屬性,溫度屬性是環境上的具體屬性,只可讀,不具有可寫許可權。
客戶端可以通過如下任何一種訊息型別來訪問屬性資料的各個屬性、
在偌大的資料庫中,如何提高客戶端的訪問速率勒???
1、客戶端首先發起尋找請求來查詢資料庫中的屬性。
2、發起讀取請求去獲取某乙個屬性值,這裡會得到乙個或者多個屬性控制代碼以及屬性的型別。
3、客戶端對獲取到的多個屬性控制代碼發起寫入操作。
屬性協議主要有以下6種基本操作構成、
具體互動方式如下、
藍芽協議棧分層
更詳細的藍芽協議棧可參考文章 深入淺出低功耗藍芽 ble 協議棧 藍芽協議棧的分層,所有 profile 配置檔案層 和應用都建構在gap或gatt之上。在 bluetooth le中有四種裝置型別 central主機 peripheral從機 observer觀察者 broadcaster廣播者。...
nordic 藍芽協議棧
藍芽協議的實現叫做藍芽協議棧 藍芽協議棧有以下內容組成 應用層主協議層 控制層 物理層,主要負責指定ble的無線頻段,調製解調方式和方法等。直接決定了ble晶元的功耗靈敏度。鏈路層 協議棧核心 主要負責選擇射頻通道,如何識別空中資料報,傳送資料的時間控制,資料完整性的保證,ack應答實現,重傳機制實...
BlueTooth 藍芽Bluz協議棧概述
藍芽技術是一項新興的技術。它的主要目的就是要在全世界範圍內建立乙個短距離的無線通訊標準 它使用 2.4 2.5 ghz的 ism industrion scientifc medical 頻段來傳送話音和資料。運用成熟 實用 先進的無線技術來代替電纜,它提供了低成本,低功耗的無線介面,使所有的固定和...