藍芽掃瞄過程解析 BLE藍芽協議棧簡介

2021-10-16 10:20:37 字數 1054 閱讀 7220

ble藍芽協議棧是一段**,用來實現低功耗藍芽協議的具體功能。

一般來說,要實現乙個具體的ble應用,需要具備三個條件:乙個可以實現ble射頻的晶元,乙個與該晶元配套的ble協議棧,以及在該協議棧上開發的使用者應用**。因此在實現ble應用時,ble協議棧起著非常關鍵的作用。

ble藍芽協議棧包括很多層,可以在各個層對要傳輸的資料進行封包處理。

ble藍芽協議棧一般包括以下8層:

1)phy層:英文為physical layer,也就是物理層。phy層用來設定ble使用的無線頻段,調製解調方式等內容。phy層會影響ble晶元的功耗,靈敏度等效能指標。

2)ll層:英文為link layer,即鏈路層。ll層主要負責資料的傳送和接收。但不對資料進行解析。那是其它層,如gap或att層的事情。

3)hci層:英文為host controller inte***ce,即主機控制器介面層。hci層是可選的,只在ble協議棧是用兩個晶元實現時才會用,主要明確了兩個晶元的通訊協議。

4)gap層:英文為generic access profile。gap層主要完成廣播,掃瞄,發起連線等操作。gap層是對ll層的有效資料報(payload)進行解析的一種方式。相對att層是比較簡單的一種方式。

5)l2cap層:英文是logic link control and adaptation protocol。l2cap層對ll層進行一次簡單的封裝。在l2cap層確定是使用加密通道還是普通通道,同時l2cap層也會對連線間隔進行管理。

6)smp層:英文是secure manager protocol。smp層會管理加密操作,對連線是否安全負責。

7)att層:英文是attribute protocol。att層主要定義使用者命令和命令操作的資料,以及該資料可以使用的att命令。

8)gatt層:英文是generic attribute profile。gatt層對attribute中的資料內容進行了規範。attribute用來描述一條一條的資料。gatt層對attribute進行分類管理。

BLE藍芽協議 BLE連線建立過程梳理(一)

應付比廣播更為複雜的資料傳輸,或者要在裝置之間實現可靠的資料交付,這些都要依賴於連線。連線使用資料通道在兩個裝置之間可靠地傳送資訊。它採取了自適應跳頻增強魯棒性,同時使用了非常低的占空比,盡可能地降低功率消耗。裝置建立連線的過程如下圖所示。簡言之,裝置首先廣播可連線廣播事件,其他裝置收到之後即可發起...

藍芽ble 廣播包解析

ad type定義 摘錄於 借鑑與 注意 該解析適合標準藍芽廣播,有的破壞者為了讓別人解析不出來會對廣播包資料打亂,需要還原真實廣播後才能解析。擼起袖子開始搬 解析ble廣播 1 藍芽廣播長度62 前31定義位廣播資料 後31位響應資料 2 有效資料部分 包含若干個廣播資料單元,稱為 ad stru...

藍芽ble讀寫

手機上可以獲取對應的返回值 但是如果用手機給藍芽ble傳送指定指令,則沒辦法接收到任何資料,請問用官方ble二次開發可不可以實現手機同ble裝置的讀寫通訊?傳送指令 如下 datacharacteristic.setvalue 123 getbytes datacharacteristic.setw...