日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TI-BLE协议栈的GATT

發布時間:2025/3/21 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TI-BLE协议栈的GATT 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于還沒有看具體的代碼,難免會有理解錯誤的地方,本著共同學習的態度和大家交流探討;

在BLE中;GATT是焦點;

在鏈路層(LL),可以把設備分為主機和從機,從機廣播,主機發起連接;

在GAP層, ? ? ?可以把設備分為中心設備和外圍設備;

? ? ? ? 在GATT層, ? ?可以把設備分為服務端和客戶端;

我們需要記住一點就是,這些劃分相互是不受影響的;

在說GATT之前先說下ATT;


ATT的Client/Server架構:

服務設備提供數據,客戶端使用這些數據;服務端通過操作屬性的方式,提供數據訪問服務設備的服務/客戶角色,不依賴于GAP層中心設備/外圍設備角色,和LL層的master/slave角色定義。一個設備可能同時做為一個客戶端和服務端,而兩個設備上的屬性不會相互影響。

ATT的Attribute Table Example (屬性表示例)

Handle:屬性在列表中的地址

Type??:說明代表什么數據,可以是BluetoothSIG分配或者客戶自定義的UUID(統一識別碼,具有唯一性和通用性)

Permissions:權限,定義了client是否可以訪問屬性的值,以及特定的訪問方式。


GATT的Client/Server架構:

GATT指定了profile數據交換所在的結構。

除了數據的封裝方式不同,client/server和Attribute協議結構相同,數據封裝在“Services”里,用“Characteristic”(特征)表示。

GATT的Services 中的Characteristic結構和ATT的Attribute 協議結構相同

GATTProfile?層次結構:

為了實現用戶的應用,profile通常有一個或者多個“Services”組成。

一個service或許包含某個特征值“characteristicvalues”(例如,在一個溫度采集設備中,通常會包含一個溫度的特征值)。

每一個特征值必須有占用一個特征聲明結構,其中包括他的其他特性,它是服務端和客戶端共享的讀寫空間,這個特征值可以包含一個可選的描述(descriptor字串),來指示這個特征值的含義。

GATT?Characteristic Declaration(聲明):

Handle 40 是一個特征值的聲明,用0x2803來指示,這個0x2803 同樣也是Bluetooth SIG的相關數據手冊定義的,作為GATT?

Characteristic Declaration的UUID

特征值的屬性值包含5個字節的長度10:29:00:E1:FF

*0xFFE1,表明特征值的屬類型(0xFFE1:客戶自定義特征值的UUID)

*0x0029,是這個值所保存的位置handle(0x0029=41)

*0x10,表明這個特征值的操作權限0x10:notifyonly

GATT?Characteristic ?Configuration

另外作為特征值聲明,可以有一個可選的描述信息。

這個例子中,handle 42包含了特征值的配置信息,0x2902,這個值同樣也是BluetoothSIG的相關數據手冊定義的,作為GATTClient Characteristic Configuration的UUID。

這個配置值有讀寫權限,意味著,GATT客戶端可以改變這個值。如果把這個值(通知開關使能)從0x0000 Notificationoff改為0x0001 notificationon,GATT服務器將開始發送這個特征值的通知到GATT客戶端。


GATT Service Example:(這個是重點)

△Handle句柄——屬性在表中的地址,每個屬性有唯一的句柄。

△type?類型——表示數據代表的事務,通常是藍牙技術聯盟規定的或由用戶自定義UUID。

△權限——對頂了GATT客戶端設備對屬性的訪問權限,包括是否能訪問和怎樣訪問。

首選我們來看一下GATT屬性表中有一些特殊的屬性類型,其值是由藍牙技術聯盟(SIG)定義:

△GATT_PRIMARY_SERVICE_UUID——表示新服務的起始和提供的服務類型;

△GATT_CHARACTER_UUID——稱為“特征聲明”緊隨其后的是GATT特征值;

△GATT_CLIENT_CHAR_CFG_UUID——這一屬性代表特征描述符,它與屬性表中它前面最近的特征值有關,他允許GATT客戶端設備使能特征值通知。

△GATT_CHAR_USER_DESC_UUID——這一屬性代表特征值描述符,他與屬性表中他前面最近的句柄處的特征值相關,包含一個ASCCI字符串,是對相關的特征的描述。


Handle為39的一行中,0x2800表示新服務的起始,profile通常有一個或者多個“Services”組成。

在Handle為40的一行中,這個是特征聲明;它的特征值的屬性值包含5個字節的長度10:29:00:E1:FF

*0xFFE1,表明特征值的屬類型(0xFFE1:客戶自定義特征值的UUID)

*0x0029,是這個值所保存的位置handle(0x0029=41)

*0x10,表明這個特征值的操作權限0x10:notifyonly

個人感覺這個地方類似于C語言中的變量的定義:這個一行就相當于定義了一個整型變量a;

int a;0xFFE1就相當于a;0x0029類似于a在內存中的地址;

在Handle為41的一行中,其特征值就相當于a的值;這也是用戶自定義的有效數據;

在Handle為42的一行中,這個是特征描述符,


在Handle為43的一行中,0x2800表示又一個新服務的起始

總結

以上是生活随笔為你收集整理的TI-BLE协议栈的GATT的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人一区二区三区在线观看 | 伊人久久大香线蕉 | 欧洲激情网 | 男人天堂一区 | 91日韩一区二区 | 久久人人爽爽人人爽人人片av | 国产剧情一区二区三区 | 色老头综合 | 亚洲成人黄色 | 女人av在线 | 久久久精品视频免费 | 日韩一区中文 | 欧美一级视频免费观看 | 欧美高清免费 | 日韩视频福利 | 蜜桃视频一区二区在线观看 | 91亚洲视频在线观看 | 黄色免费观看网站 | 国产精品日 | 天堂va蜜桃一区 | 久久av一区二区三区 | 日韩欧美一二三 | 国产精品伦一区二区 | 亚洲三区av| 超碰影院在线 | 51成人| 加勒比一区二区 | 日韩欧美99| 久久久激情视频 | 欧美色999 | 亚洲毛片精品 | 2024av视频 | 久久婷婷国产麻豆91 | 97人人爽人人爽人人爽 | 国内偷拍一区二区 | videos亚洲 | 永久国产 | 熟妇高潮一区二区高潮 | 无码少妇精品一区二区免费动态 | 97色网 | 东京久久| 亚洲最大的av网站 | 中文字幕三级视频 | 欧美视频一级 | yy6080午夜 | 热九九精品 | 免费看黄色的视频 | 亚洲精品免费电影 | 国模大尺度自拍 | 男人捅爽女人 | av 日韩 人妻 黑人 综合 无码 | 国产精品第108页 | 欧美大片一区二区三区 | 成人午夜精品视频 | 日本一区二区三区网站 | 女仆裸体打屁屁羞羞免费 | 少妇裸体视频 | 奇米777狠狠 | 午夜精品成人 | 欧美激情影音先锋 | 蜜乳av 懂色av 粉嫩av | 99免费国产 | 国产一级一级 | 外国黄色网址 | 欧美人与禽猛交乱配视频 | 国产污网站 | 人乳喂奶hd无中字 | av噜噜噜 | 日韩精品视频网 | 中文字幕日韩国产 | 永久免费在线观看av | 成人在线播放av | 深夜视频在线观看 | 女人被狂躁c到高潮喷水电影 | 免费av一级片| 精品一区二区三区四区视频 | 人人舔人人插 | 综合久久伊人 | 国产高清中文字幕 | 欧美日韩国产成人在线 | 国产一级做a | www.中文字幕在线观看 | x88av视频| 久青草国产在线 | 日韩一级片在线播放 | 欧美精品韩国精品 | 亚洲一区二区三区免费观看 | 九九热精| 夜福利视频 | 国产黄站 | 日韩无码精品一区二区三区 | 夜夜操夜夜操 | 欧美精品在线视频观看 | 男人用嘴添女人下身免费视频 | 天天干,夜夜爽 | 一级片毛片 | 青青草激情视频 | 一区二区在线观看免费 | 超碰成人久久 |