日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩精品2区| 国产一级一级 | 丰满熟妇乱又伦 | 成人少妇影院yyyy | 性――交――性――乱a | 男性裸体全身精光gay | 国产成人精品视频在线观看 | 天天插天天操天天干 | 国产一级生活片 | 涩涩视频在线 | 性喷潮久久久久久久久 | 奴色虐av一区二区三区 | 男男大尺度 | 嫩草社区 | 亚洲天堂2021av| 福利一区二区在线 | 欧美日韩五月天 | 性欧美欧美巨大69 | 中文字幕亚洲精品在线观看 | av操操操 | 亚洲精品久久久久久久久久吃药 | 国产精品一区二区久久 | 欧美性猛交xx乱大交 | 国产成人免费看一级大黄 | 免费二区| 男生和女生差差的视频 | 日日爱666| 成人av网站免费 | 中文字幕在线观看视频一区二区 | 高h放荡受浪受bl | 免费看色| 少妇人妻一区二区三区 | 日韩精品一区二区在线播放 | 日韩一级片在线播放 | 日韩短视频 | 在线一区二区三区四区 | 午夜激情成人 | 国产高潮国产高潮久久久91 | 国产精品久久久久免费 | 亚洲AV无码久久精品国产一区 | 亚洲精品国产日韩 | 中文字幕一区日韩 | 韩国19主播内部福利vip | 久久香蕉网 | 国产精品视频一区二区三区在3 | 五月婷婷六月色 | 三浦理惠子av在线播放 | аⅴ资源中文在线天堂 | 99热在线观看 | xxxwww国产 | 成人久久久精品乱码一区二区三区 | 国产极品在线播放 | 免费成人小视频 | 无码人妻熟妇av又粗又大 | 久久亚洲AV成人无码国产人妖 | 精品日韩一区二区三区四区 | 日韩久草| 亚洲欧洲日本在线 | 凹凸福利视频 | 国产91美女视频 | 久久91亚洲 | 波多野结衣av片 | 国产一卡二 | 性少妇mdms丰满hdfilm | 亚洲一区二区精品在线观看 | 国产三级三级看三级 | 精品国产系列 | 97神马影院| 国产成人精品国内自产拍免费看 | 金8天国av| 久久香蕉影院 | 滋润少妇h高h | 精品视频无码一区二区三区 | 日本我不卡 | 在线精品一区 | 91视频免费观看网站 | 五月天视频网 | 天堂999 | 好男人www社区在线视频夜恋 | 欧美日韩免费一区二区三区 | 毛片在线观看网站 | www.久久久精品 | 在线观看日本 | 国产一级做a爰片久久毛片男男 | 三级无遮挡 | 中文字幕日韩一级 | 久久riav| 欧美男女性生活视频 | 国产淫视 | 91久久在线观看 | 亚洲视频日韩 | 国产精品中文久久久久久 | 99国产精品久久久久久久成人热 | 欧美日韩中文字幕一区二区三区 | 天堂一区二区三区四区 | 日日夜夜操av | 91网站免费在线观看 | 老头把女人躁得呻吟 | 国产午夜精品久久久久久久久久 |