ATT Protocol 屬性協議

2021-09-12 14:27:32 字數 2026 閱讀 999

1、背景

接觸了,就必須留下點痕跡。

1.1 參考資料

bluetooth att介紹  

ble v4.2

2、啥是att

att protocol,是用於發現、讀、寫peer對端裝置的協議(針對ble裝置)。

att允許裝置作為服務端提供擁有關聯值的屬性集,讓作為客戶端的裝置來發現、讀、寫這些屬性;同時服務端能主動通知客戶端.即屬性值可被客戶端來發現、讀、寫,或由服務端主動通知客戶端這些屬性集。

2.1 att中的角色

屬性協議中包括服務端(server)和客戶端(client)兩個角色。

2.2 乙個attribute所擁有的properties特性

attribute是擁有以下三個特性的分立值

-attribute handle                         :用來訪問attribute value /控制代碼

-attribute type                             :由uuid(universally unique identifier)來定義

-a set of permissions                   :控制是否該attribute可讀、可寫、屬性值能否通過加密鏈路傳送

客戶端可以向伺服器端傳送屬性協議(att protocol)請求,伺服器應響應它收到的所有請求。裝置可以同時實現客戶端和伺服器角色,並且這兩個角色可以在同一裝置和相同裝置之間。

對於每個藍芽裝置只有乙個伺服器server例項。這就意味著對於所支援的裝置來首屬性控制代碼都是相同的。對於給定的客戶端,服務端都有一組屬性。 服務端可支援多個客戶端。

3、具體內容

3.1 基本概念

3.1.1 attribute type  屬性型別

用uuid來標識每個attribute type。uuid在所有空間和時間上都是唯一的。uuid是乙個128bits值,在使用過程中,為了提高效率,使用的是16bits attribute uuid.

16bitsuuid和128bitsuuid之間的關係

128-bit uuid       =    16-bit attribute uuid*2^96 + bluetooth_base_uuid

bluetooth_base_uuid = 00000000-0000-1000-8000-00805f9b34fb

====>0000***x-0000-1000-8000-00805f9b34fb(***x代表十六進製制的16-bit uuid)。

3.1.2 attribute handle  屬性控制代碼

attribute handle是由server分配的乙個唯一且非零16bit值

0x0000   :保留

0xffff  :最大attribute handle

3.1.3 attribute value  屬性值

attribute value是乙個8位陣列,可以使固定長度的,也可以使可變長度的。因此,它可以使乙個1位元組位的值,或者是乙個4位元組位的整數,或者乙個變長度位元組的字串。屬性值陣列太大而無法再單個pdu中傳輸,可使用多個pud傳送。

3.1.4 attribute permissions  屬性許可權

屬性都有一組與之相關聯的permission values。屬性許可權由高層協議定義,並對att不可見。

attribute permissions由下列三個許可權組合而成

1、access permission      :訪問許可權

-readbale/writeable/readbale and writeable

2、authentication permisssions     :認證許可 

authentication required / no authentication required

3、authorization permisssons        :授權許可  

authorization required / no authorization required

3.1.5 control-point attribute

IOS 屬性 協議 Block用法

1.傳值頁面宣告block屬性 在想要回傳的介面中定義,block必須用copy來修飾 注 secondviewcontroller.h中宣告 property nonatomic,copy nsarray block nsstring string 有返回值的後面必須兩個括號 property n...

第4章 協議屬性

一 osi參考模型 應用層表示層 會話層傳輸層 網路層資料鏈路層 物理層二 全域性協議分類 1 面向連線的協議 windows size 在需要目標系統確認的傳輸的資料報數。佇列資料傳送 對進入和傳送的pdu指定序號,在目的地再按序號重排資料 流控 確保傳送的速率不超過目標接收的速率,通過為傳輸建立...

距離向量路由選擇協議屬性(2)

距離向量 distance vector 說法是因為路由 是以向量 距離 方向 的方式通告出去的,其中距離是根據度量定義的,方向是根據下一跳路由器定義的。因此,滿足距離向量路由選擇協議的條件要有兩條,缺一不可 1.給出去往目的地的方向 2.給出去往目的地的距離 距離向量路由選擇協議主要屬性還有 5....