Android——4.2 藍芽 BlueTooth 初探入門 (一)

來源:互聯網
上載者:User

標籤:android 4.2   藍芽   bluedroid   blue stack   架構   

      藍芽,wifi,3g 作為移動端平台最常見的dongle,藍芽現在應用越來越廣泛,特別是現在流行智能終端,多點互控,wifi,3g等資源消耗大,紅外又有距離和障礙物的限制,所以說藍芽通訊在未來其它的不說,單在智能TV上應用的情景將會越來越廣泛.這裡只是初步理解學習,之後將會一層一層從kernel直到application


                                        撰寫不易,轉載需註明出處:http://blog.csdn.net/jscese/article/details/41283879


結構層次:

先看一張層次圖:



可以看到大體分成了三個部分,

java:

最上層就是 application framework,供應用程式使用的API,

java層的api類的 源碼路徑:framework/base/core/java/android/bluetooth 

以及packages/apps/Bluetooth/src/com/android/bluetooth下的bluetooth services (以Bluetooth.apk形式編譯進系統)


native space:

第二層由上面的packages/apps/Bluetooth下的service調用到的本地的JNI開始,調用到hardware中的定義(hardware/libhardware/include/hardware/bluetooth.hhardware/libhardware/include/hardware/bt_*.h),

bluetooth.default.so 的實現放在external/bluetooth/bluedroid

這裡面就是bluetooth的核心協議棧

可以看到分為了幾部分,後面介紹分別的代表的作用

其中還有一個抽象的介面協議層hci,用於與不同廠家的Vendor 連通,Vendor HCI中是需要實現必需的介面的


kernel:

最下面 核心層,是linux的通用驅動了,這裡的都是linux 對與藍芽操作涉及到的驅動模組




之前的android版本我不熟,但是網上的說android4.2相對比之前的,藍芽改動很大,把原來的BlueZ替換成了Bluedroid(也就是external中的),把原來放在framework中的bluetooth service jni 改放到了package中app中,

就我目前調試來看 之前的/system/bluetooth也沒有用到.




模組圖:

 這是來自google官網 http://source.android.com/devices/bluetooth.html 裡面的一張圖:






這就是從application到vendor,其中Bluetooth Stack中模組則由Bluetooth Application Layer(縮寫為BTA)和Bluetooth Embedded System(縮寫為BTE)兩大部分組成。

BTA 實現了藍牙裝置管理、狀態管理及一些應用規範,與Android framework 互動.

BTE 則通過HCI與廠商藍芽晶片互動以實現了藍芽協議棧的通用功能和相關協議。另外,BTE還包括一個統一核心介面(GKI),藍芽晶片廠商可藉助GKI快速輕鬆得移植藍芽協議棧.


後續再來分析每個層次的模組運作與上下互動~











Android——4.2 藍芽 BlueTooth 初探入門 (一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.