藍芽協議的實現叫做藍芽協議棧
藍芽協議棧有以下內容組成
應用層主協議層
控制層
物理層,主要負責指定ble的無線頻段,調製解調方式和方法等。直接決定了ble晶元的功耗靈敏度。
鏈路層(協議棧核心),主要負責選擇射頻通道,如何識別空中資料報,傳送資料的時間控制,資料完整性的保證,ack應答實現,重傳機制實現,控制管理鏈路。
主機控制介面(可選),規範兩顆晶元之間的通訊協議和通訊命令。
通用訪問配置檔案,對ll層有效資料進行簡單解析,主要對ll有效資料報進行規範和定義。gap主要用於廣播,掃瞄和連線。
邏輯鏈路控制和適應協議,對ll進行封裝,ll層至區分傳輸資料本身,l2cap關心是否是加密通道或是普通通道,管理連線間隔。
安全管理協議,管理ble加密和安全。
屬性協議,定義使用者命令和命令操作的資料變數。att用來描述一條條的資料。
通用屬性協議,規範att中的資料內容,應用分組概念對att中資料進行管理。
包括sig藍芽協議小組定義的公有任務和使用者自定義的私有任務。
nordic 協議棧區別
s110 指的是從裝置的協議棧 s120 指的是主裝置的協議棧 s130 softdevice是符合藍芽4.1規範的協議堆疊,包含了所有藍芽智慧型協議層直至包含gatt gap。它支援多鏈路中心 周邊 觀察器和播送器任務 gatt伺服器和客戶機,以及由事件驅動 非同步和執行緒安全的gatt gap和...
nordic藍芽位址獲取
官方工程預設都是使用靜態隨機位址,位址的最高兩位必須要是 1 1,原因下面會有解釋 void ble get mac void mac 0 uint8 t 0x10000000 0xa9 0x40 0x80 mac 1 uint8 t 0x10000000 0x0a8 mac 2 uint8 t 0...
藍芽協議棧分層
更詳細的藍芽協議棧可參考文章 深入淺出低功耗藍芽 ble 協議棧 藍芽協議棧的分層,所有 profile 配置檔案層 和應用都建構在gap或gatt之上。在 bluetooth le中有四種裝置型別 central主機 peripheral從機 observer觀察者 broadcaster廣播者。...