BlueTooth 藍芽Bluz協議棧概述

2021-06-22 01:45:10 字數 1899 閱讀 1357

藍芽技術是一項新興的技術。它的主要目的就是要在全世界範圍內建立乙個短距離的無線通訊標準 。它使用 2.4-2.5 ghz的 ism( industrion scientifc medical ) 頻段來傳送話音和資料。運用成熟、實用、先進的無線技術來代替電纜,它提供了低成本,低功耗的無線介面,使所有的固定和移動裝置諸如:計算機系統、家庭影院系統、無繩**系統、通訊裝置等,通過微微網(pan,personal area network)連線起來相互通訊,實現資源共享。 

簡而言之,藍芽技術支援多種電子裝置之間的短距離無線通訊,這種通訊不需要任何線纜,亦不需要使用者直接手工干涉;每當乙個嵌入了藍芽技術的裝置發覺另一同樣嵌入了藍芽技術的裝置,它們就能自動同步,並建立一種特別的無線網路(ad hoc), 相互通訊,實現資源共享。linux

系統的官方藍芽協議棧是

bluez

協議棧, 其體系結構如圖1所示。它是由底層硬體模組,中間層和高階應用層三大部分組成。 

1、藍芽的底層模組

底層模組是藍芽技術的核心模組,所有嵌入藍芽技術的裝置都必須包括底層模組。它主要由鏈路管理層(lmp link manager protocol)、基帶層(bb base band)和射頻(rf rodio frequency)組成。其功能是:無線連線層(rf)通過2.4ghz無需申請的ism頻段,實現資料流的過濾和傳輸,它主要定義了對工作在此頻段的藍芽接收機應滿足的要求;基帶層(bb

)提供了兩種不同的物理鏈路(同步面向連線鏈路sco synchronous connection oriented和非同步無連線鏈路acl asynchronous connection less),負責跳頻和藍芽資料及資訊幀的傳輸,且對所有型別的資料報提供了不同層次的前向糾錯碼(fec frequency error correction)或迴圈沉餘度差錯校驗(ctc cyclic redundancy check);lmp層負責兩個或多個裝置鏈路的建立和拆除及鏈路的安全和控制,如鑒權和加密、控制和協商基帶包的大小等,它為上層軟體模組提供了不同的訪問入口;藍芽主機控制器介面hci (host controller inte***ce)由基帶控制器、連線管理器、控制和事件暫存器等組成。它是藍芽協議中軟硬體之間的介面,它提供了乙個呼叫下層bb、lm、狀態和控制暫存器等硬體的統一命令,上、下兩個模組介面之間的訊息和資料的傳遞必須通過hci的解釋才能進行。hci層以上的協議軟體實體執行在主機上,而hci以下的功能由藍芽裝置來完成,二者之間通過傳輸層進行互動。 

2、中間協議層

中間協議層由邏輯鏈路控制與適配協議l2cap (logical link control and adaptation protocol)、服務發現協議sdp (service discovery protocol)、串列埠**協議或稱線纜替換協議rfcom和二進位制**控制協議tcs (telephony control protocol spectocol)組成。l2cap是藍芽協議棧的核心組成部分,也是其它協議實現的基礎。它位於基帶之上,向上層提供面向連線的和無連線的資料服務。它主要完成資料的拆裝、服務質量控制,協議的復用、分組的分割和重組(segmentation and reassembly)及組提取等功能。l2cap允許高達64kb的資料分組。sdp是乙個基於客戶/伺服器結構的協議。它工作在l2cap層之上,為上層應用程式提供一種機制來發現可用的服務及其屬性,而服務的屬性包括服務的型別及該服務所需的機制或協議資訊。rfcomm是乙個**有線鏈路的無線資料**協議,符合etsi標準的ts 07.10串列埠**協議。它在藍芽基帶上**rs-232的控制和資料訊號,為原先使用序列連線的上層業務提供傳送能力。tcs是乙個基於itu-t q.931建議的採用面向位元的協議,它定義了用於藍芽裝置之間建立語音和資料呼叫的控制信令(call control signalling),並負責處理藍芽裝置組的移動管理過程。 

3、高階應用層

BlueTooth 藍芽比拼Zigbee

作者 張國斌 曾幾何時,以低功耗和組網優勢而著稱的後來者zigbee喧囂甚上,大有取代藍芽的勢頭,不過,隨著2010年6月藍芽4.0的發布,這一局面已經大為改觀,藍芽實現驚天大逆轉,並有可能乾掉zigbee!至少在智慧型家居領域已經進基本做到了,藍芽是如何實現這個驚天逆轉的?一 人多力量大 1995...

android 藍芽 通訊 bluetooth

此例子基於 android demo android 的藍芽開發,雖然不多用,但有時還是會用到,android 對於藍芽開發從 2.0版本的 sdk才開始支援,而且模擬器不支援,測試需要兩部手機 由於公司用到了藍芽,所以學習了一下,也和大家分享一下!總體來說和網路 socket 很相似,監聽,連線,...

android 藍芽 通訊 bluetooth

此例子基於 android demo android 的藍芽開發,雖然不多用,但有時還是會用到,android 對於藍芽開發從 2.0版本的 sdk才開始支援,而且模擬器不支援,測試需要兩部手機 由於公司用到了藍芽,所以學習了一下,也和大家分享一下!總體來說和網路 socket 很相似,監聽,連線,...