ble mac地址 协议_BLE(bluetooth low energy)协议栈介绍
大家好,今天開始給大家介紹一下藍牙BLE技術,整個藍牙技術其實從技術上分經典藍牙和BLE藍牙,而從技術模式上分三種:單模(only BLE),雙模(BLE和經典都有,如手機),經典藍牙BR/EDR。藍牙應用領域較廣,分布在消費電子、醫療器械、汽車電子等諸多領域,類似于LOL里面的近戰英雄如劍圣、德瑪等,它的通信距離一般適用于近距離無線電通信,因此廣泛應用于通信控制、數據傳輸、室內定位等領域。
BLE是隨著2010年7月7號藍牙協議4.0發布而公諸于世,目前藍牙協議發展至5.0+版本(增強了室內定位和物聯網功能),BLE技術已經everywhere crowded,如今物聯網領域比較火熱的藍牙mesh技術的協議棧基礎就是基于BLE做的,因此趁此機會給大家介紹一下BLE技術,無線通信入手通俗來說分軟件和硬件,硬件方面主要是天線和BLE芯片,現在主流的很多國內外廠商如TI、beken等將許多型號的芯片與對應的天線都做成一體(俗稱板載天線,體積小更低功耗),與MCU通過uart等通訊接口進行通訊。軟件方面則主要分為底層驅動、操作系統、協議棧框架、應用層這幾部分(有些簡單的單片機不一定有操作系統,但是會模仿操作系統設計一些任務事件調度和內存分配),底層驅動主要是跟芯片外設相關的寄存器配置并預留接口給操作系統,協議棧框架則是軟件的核心部分,應用層會調用協議棧、操作系統、底層提供的api接口進行邏輯設計,此次不展開說明,單就BLE協議棧進行介紹,后續將娓娓道來。
如下圖所示,藍牙協議棧大的結構劃分分成三大層:自底向上依次是Controller層、HCI層(不一定有)、Host層, controller層包括物理層、邏輯鏈路層,Host層包括L2CAP(邏輯鏈路控制和適配器)層、SM(安全管理)層、ATT(屬性協議)層、GATT(屬性協議配置規范)層、GAP(通用訪問規范)層,再往上就是應用層部分了。
這里面的層級結構類似于《計算機網絡》里面的OSI網絡模型,即劃分物理層、鏈路層、網絡層、傳輸層、應用層,這是五層結構,還有七層結構,即從應用層中分離出會話層、表示層、應用層。只是BLE相對傳統的TCP/IP網絡模型有一些不同,通信方式也要簡化一些,下面簡單描述一下BLE的不同層級之間的作用。
試想,我們買了一個運動手環,一般的廠商都會把BLE做進去,那么它可以理解成是一個藍牙設備A,我們自己的買的手機里面一般是設計的雙模藍牙,即也是支持BLE的,把它當做是藍牙設備B;一開始我們戴手環準備出門之前會把設備B和A進行藍牙配對連接,之后設備A跟著我們跑步的過程中,運動傳感器會把數據送到手環的MCU里面,然后MCU會把數據透傳給藍牙芯片,然后通過天線發送2.4GHz射頻無線電,設備B即手機的藍牙天線會定向接收設備A的天線發出的物理信號,從而把信號傳輸給設備B的藍牙芯片解碼,然后在設備B的app上顯示運動數據,好,我們來簡單解析一下上述物理場景背后的物理過程。
設備A開機上電,藍牙芯片就會讓天線發廣播,通過讀取藍牙芯片flash里面的軟件,將廣播數據報文裝填好發送出去,這里面有自己的設備名稱、Mac地址、廣播周期、模式等信息,這時候我們手機設備B通過app去驅動手機的藍牙天線掃描廣播,咦,掃到了設備A的廣播,正好是我想要的,然后B就開始發起連接請求(connection request),然后A收到B的請求后會發送回復,然后B也收到回復之后,兩者的連接正式建立,這里面關于角色role、模式等就反映了GAP的功勞,配對包括加密等操作就是SM的功勞,發射物理信號反映了物理層的功勞,基礎的報文(廣播報文和連接后的交互數據報文)結構也反映了鏈路層的功勞(準確來講鏈路層屬于一個萬金油角色,啥都能干,但是干活也累啊)。
建立藍牙連接以后,A和B會進行很多數據交互,例如看看雙方的MTU、feature,B還得發起SDP服務,即service discovery protocol,服務發現,這個概念源自經典藍牙,但是這里也能用,GATT是個大的數據庫,里面有許多profile的數據,通過ATT層與下層進行交互,B向A發起GATT服務發現,A就會告訴B自己的GATT里面放了多少service\characteristic\properties\descriptor\value,這樣A的運動數據包就可以通過藍牙傳輸給B,B就知道A傳輸的包里面是個什么東東了,是速度、心跳還是溫度等等,其實這里面也提到了BLE協議棧開發的重點在于GATT,對服務進行增刪查是每個藍牙人的必備技能。
上述過程不得不提的是L2CAP層,這是個橋,真的是個橋,它負責連接上下層之間,負責分包的,controller層的包有很多,只有L2CAP才知道這個包是給GAP、SM還是ATT,這里面的channel-ID可以從報文里面讀出來其通道。
上述是拿平時的日常生活來講講BLE協議棧的理解,不足之處,請大家批評指正!后續接著更新......
總結
以上是生活随笔為你收集整理的ble mac地址 协议_BLE(bluetooth low energy)协议栈介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈扫描二维码登录微信网页版与摇一摇传图
- 下一篇: 普通PC安装Mac