ATT Protocol 属性协议
1、背景
接觸了,就必須留下點痕跡。
1.1 參考資料
Bluetooth ATT介紹 ?https://www.cnblogs.com/hzl6255/p/4141505.html
ble v4.2
2、啥是ATT
ATT Protocol,是用于發(fā)現(xiàn)、讀、寫peer對端設備的協(xié)議(針對BLE設備)。
ATT允許設備作為服務端提供擁有關聯(lián)值的屬性集,讓作為客戶端的設備來發(fā)現(xiàn)、讀、寫這些屬性;同時服務端能主動通知客戶端.即屬性值可被客戶端來發(fā)現(xiàn)、讀、寫,或由服務端主動通知客戶端這些屬性集。
2.1 ATT中的角色
屬性協(xié)議中包括服務端(Server)和客戶端(Client)兩個角色。
2.2 一個Attribute所擁有的Properties特性
Attribute是擁有以下三個特性的分立值
-Attribute Handle ? ? ? ? ? ? ? ? ? ? ? ? :用來訪問Attribute Value /句柄
-Attribute Type ? ? ? ? ? ? ? ? ? ? ? ? ? ? :由UUID(Universally Unique IDentifier)來定義
-A set of Permissions ? ? ? ? ? ? ? ? ? :控制是否該Attribute可讀、可寫、屬性值能否通過加密鏈路發(fā)送
客戶端可以向服務器端發(fā)送屬性協(xié)議(ATT Protocol)請求,服務器應響應它收到的所有請求。設備可以同時實現(xiàn)客戶端和服務器角色,并且這兩個角色可以在同一設備和相同設備之間。
對于每個藍牙設備只有一個服務器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
====>0000xxxx-0000-1000-8000-00805F9B34FB(xxxx代表十六進制的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字節(jié)位的值,或者是一個4字節(jié)位的整數,或者一個變長度字節(jié)的字符串。屬性值數組太大而無法再單個PDU中傳輸,可使用多個PUD發(fā)送。
3.1.4 Attribute Permissions ?屬性權限
屬性都有一組與之相關聯(lián)的Permission Values。屬性權限由高層協(xié)議定義,并對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
對于那些不可讀,但可寫、可通知或指示的屬性,都可稱之為控制點屬性(control-point attribute)。高層協(xié)議可使用該屬性來使能設備特定過程,比如設備上一個給定過程的命令或指示已經完成。
---------------------?
作者:書中倦客?
來源:CSDN?
原文:https://blog.csdn.net/zhejfl/article/details/86743641?
版權聲明:本文為博主原創(chuàng)文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的ATT Protocol 属性协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BLE 数据包格式解析
- 下一篇: Bluetooth ATT介绍