成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Tieto公司某藍牙大牛寫給《程序員》投稿文章

移動開發 Android
藍牙一詞源于公元十世紀丹麥國王HaraldBlatand名字中的Blatand。Blatand的英文之意就是Blue tooth。這是因為這位讓丹麥人引以為傲的國王酷愛吃藍莓以至于牙齦都被染成藍色。

Android 4.2藍牙介紹

藍牙一詞源于公元十世紀丹麥國王HaraldBlatand名字中的Blatand。Blatand的英文之意就是Blue tooth。這是因為這位讓丹麥人引以為傲的國王酷愛吃藍莓以至于牙齦都被染成藍色。由于Blatand統一了丹麥和挪威,所以,作為無線通信技術的一種,藍牙技術之所以取名Bluetooth可謂志向遠大。不過,在以Android為代表的智能機出現以前,藍牙在早期智能機甚至功能機中一直扮演著“雞肋”的角色。那么,隨著無線通信技術的快速發展以及Android的普及,藍牙能給我們帶來哪些新的變化呢?

本文將從藍牙核心規范的發展歷史、最具應用前景的幾個藍牙Profile以及Android 4.2中藍牙實現情況等幾個方面向讀者介紹藍牙技術。
一 藍牙規范介紹

作為一種通用的無線通信技術,規范自然是藍牙技術的核心。藍牙規范可分為兩個層次,如圖1所示:

由圖1可知藍牙規范包括:

Core Specification(核心規范),用于規定藍牙設備必須實現的通用功能和協議層次。它由軟件和硬件模塊組成,兩個模塊之間的信息和數據通過主機控制接口(HCI)的解釋才能進行傳遞。

Profiles(藍牙應用規范),它從應用場景的角度為藍牙技術的使用制定了不同的規范。這也是和大眾日常生活接觸最多的一部分。藍牙支持很多Profiles,下文將介紹幾種使用最廣泛的藍牙應用規范。

 

1.1  藍牙核心規范介紹

核心規范是藍牙協議家族的基礎,自藍牙技術聯盟(Bluetooth SIG,Special Interest Group)在1999年頒布藍牙核心規范1.0版本以來,到目前為止藍牙SIG一共發布了七個重要版本。每一個版本都促使藍牙技術朝著更快、更安全、更省電的方向發展。表1所示為藍牙核心規]發展歷史。

 藍牙核心規范發展介紹


版本

規范發布日期

增強功能

0.7

1998年10月19日

Baseband、LMP

0.8

1999年1月21日

HCI、L2CAP、RFCOMM

0.9

1999年4月30日

OBEX與IrDA的互通性

1.0 Draft

1999年7月5日

SDP、TCS

1.0 A

1999年7月26日

第一個正式版本

1.0 B

2000年10月1日

安全性,廠商設備之間連接兼容性

1.1

2001年2月22日

IEEE 802.15.1

1.2

2003年11月5日

快速連接、自適應跳頻、錯誤檢測和流程控制、同步能力

2.0 + EDR

2004年11月9日

EDR傳輸率提升至2-3Mbps

2.1 + EDR

2007年7月26日

擴展查詢響應、簡易安全配對、暫停與繼續加密、Sniff省電

3.0 + HS

2009年4月21日

交替射頻技術、802.11協議適配層、電源管理、取消了UMB的應用

4.0 +BLE

2010年6月30日

低功耗物理層和鏈路層、AES加密、Attribute Protocol(ATT)、Generic Attribute Profile(GATT)、Security Manager(SM)

1中,

EDR:全稱為Enhanced Data Rate。通過提高多任務處理和多種藍牙設備同時運行的能力,EDR使得藍牙設備的傳輸速度可達3Mbps。

HS: 全稱為High Speed。HS使得Bluetooth能利用WiFi作為傳輸方式進行數據傳輸,其支持的傳輸速度最高可達24Mbps。其核心是在802.11的基礎 上,通過集成802.11協議適配層,使得藍牙協議棧可以根據任務和設備的不同,選擇正確的射頻。

BLE:全稱為Bluetooth Low Energy。藍牙規范4.0最重要的一個特性就是低功耗。BLE使得藍牙設備可通過一粒紐扣電池供電以維持續工作數年之久。很明顯,BLE使得藍牙設備在鐘表、遠程控制、醫療保健及運動感應器等市場具有極光明的應用場景。

雖然藍牙4.0規范3年就發布,但目前使用最廣泛的藍牙核心規范版本還是3.0。智能手機中只有Iphone 4S,Iphone5,三星GallaxyS3、S4Note2等少數設備支持藍牙4.0。不過,Google已經在Android 4.3中添加了對4.0的支持。很明顯,隨著Android的持續推進和眾多廠商的齊力支持,筆者估計在未來較短的一段時間內,藍牙核心規范4.0將得到迅速普及。表2是經典藍牙與低功耗藍牙的一些區別:

經典藍牙與低功耗藍牙的區別

技術規范

經典藍牙(2.1 &3.0)

低功耗藍牙(4.0)

無線電頻率

2.4GHz

2.4GHz

距離

10米/100米

30米

數據速率

1-3Mbps

1Mbps

應用吞吐量

0.7-2.1Mbps

0.2Mbps

發送數據的總時間

100ms

<6ms

耗電量

1

0.01至0.5

最大操作電流

<30mA

<15mA(最高運行時為15 mA)

主要用途

手機游戲機耳機,立體聲音頻流,汽車PC

手機,游戲機,PC,,體育健身,醫療保健,汽車,家用電子,自動化工業

那么,藍牙核心規范4.0有什么特別之處呢?藍牙核心規范4.0的模塊如圖2所示:

由圖2可知,藍牙核心規范4.0的模塊增加了以下幾個藍牙低功耗組件。

GATT表示服務器屬性和客戶端屬性,描述了屬性服務器中使用的服務層次,特點和屬性。BLE設備使用它作為藍牙低功耗應用規范的服務發現。

ATT實現了屬性客戶端和服務器之間的點對點協議。ATT客戶端給ATT服務器發送請命令。ATT服務器向ATT客戶端發送回復和通知。

SMP用于生成對等協議的加密密鑰和身份密鑰。SMP管理加密密鑰和身份密鑰的存儲,它通過生成和解析設備的地址來識別藍牙設備。

1.2 藍牙應用規范[②]

藍牙SIG根據不同的應用場景定義了不同的藍牙應用規范,截止到現在,發布了40個藍牙應用規范。本節介紹最常用的五個的藍牙應用規范。
1.2.1 Advanced Audio Distribution Profile

Advanced Audio Distribution Profile 簡稱為A2DP(高質量音頻分發規范)定義了如何將立體聲質量的音頻通過流媒體的方式從媒體源傳輸到接收器上。A2DP使用Asynchronous Connectionless Link(ACL,藍牙異步傳輸)信道傳輸高質量音頻內容,它依賴于Generic Audio/Video Distribution Profile(GAVDP,通用音頻/視頻分發規范)。A2DP必須支持低復雜度及Sub-bandCodec(SBC,低帶寬編解碼),可選支持MPEG1,2音頻,MPEG2、4AAC。A2DP的應用場景如圖4[1]所示:A2DP的應用場景

由圖3可知,A2DP有兩種應用場景分別是播放和錄音。

播放場景是具有藍牙功能的播放器通過A2DP向藍牙耳機或藍牙立體聲揚聲器傳送高質量音頻。

錄音場景是具有藍牙功能的麥克風通過A2DP向藍牙錄音器傳送高質量音頻。

A2DP相關的規范有Video Distribution ProfileVDP,視頻分發規范),Audio/Video Remote Control ProfileAVRCP,音頻/視頻運程控制規范)。

 

1.2.2  Object Push Profile

OPP(對象推送規范)定義了推送服務器和客戶端之間基于Generic Object Exchange ProfileGOEP,通用對象交換規范)進行對象交換的規范。OPP的應用場景如圖4所示:

由圖4可知,OPP主要用于手機與手機或者手機與電腦之間通過藍牙進行文件操作。可交換的文件類型有電話本,備忘錄,日程表等文本文件,還有視頻,聲音,圖片,音樂等多媒體文件。

Wi-Fi Direct(WiFi直連)[③]和藍牙OPP有相同的功能。WiFi直連是WiFi設備之間不需要無線路由器,直接進行對象交換。它的優點是傳輸距離長、速度快,缺點是功耗高。
1.2.3 Hands-Free Profile

HFP(HFP,免提規范)定義了藍牙音頻網關設備如何通過藍牙免提設備撥打和接聽電話。HFP的應用場景如圖5所示:

由圖5可知,HFP包括兩個角色:

Audio Gateway(AG,音頻網關)和Hands-Free Unit(HF,免提設備)。AG是音頻輸入和輸出的設備,典型的AG設備是手機。HF是執行音頻網關的遠程音頻輸入輸出設備。

HFP常見的場景是汽車上的車載套件,當車載套件和耳機通過藍牙方式連接到手機時,通過無線藍牙耳機撥打和接聽電話。

和HFP相關的規范有Headset Profile(HSP,耳機規范),Phonebook Access Profile(PBAP,電話簿訪問規范。
1.2.4 Heart Rate Profile

HRP(心率規范)定位與和醫療/健康相關的應用場景中,它使得藍牙設備能與心率傳感器交互。相關場景如圖6所示:

由圖6可知:

左圖是HRP定義的角色關系。HRP中有兩個角色:心率感應器和收集器。心率感應器是GATT服務器,是測量心率的設備,它包含心率服務和設備信息服務,心率服務導出心率測量數據;收集器是GATT客戶端,是從心率感應器接收心率測量數據和其它數據的設備。

右圖是HRP的應用場景。心率規范用于讓設備獲得心率傳感器的心率測量和其它數據。例如,護士或醫生可以用心率傳感器測量病人的心率,并把心率數據傳到筆記本或手持設備上。

隨著人口老齡化,醫療設備和醫護人員資源不足,可以運用藍牙健康規范實現遠程醫療。筆者所在的Tieto公司在Android平臺上運用心率規范開發了心率測量的原型程序,詳細介紹請看視頻http://www.youtube.com/watch?v=r_t-hstRgDs&feature=youtu.be。

和HRP相關的健康規范有Glucose Profile(GLP,血糖規范),Blood Pressure Profile(BLP,血壓規范BLP),Health Thermometer Profile(HTP,健康體溫計規范)。
1.2.5 Cycling Speed and Cadence Profile

CSCP(自行車速度和步調規范)讓人們在騎自行車鍛煉時跟蹤速度和節奏。CSCP也基于GATT的規范。自行車速度和步調規范的角色關系和應用場景如圖7所示:

 

左 圖是CSCP的角色關系。CSCP定義了兩個角色:自行車速度和步調感應器和收集器。CSC感應器是GATT服務器,向收集器報告車輪轉速數據或軸轉速數 據。CSC感應器包含CSC服務和設備信息服務;收集器是GATT客戶端,從CSC感應器接收自行車的速度和步調數據。

右圖是CSCP的應用場景。傳感器測量被廣泛應用于運動和健身,通過傳感器來監視和控制訓練強調,以及在多個訓練中衡量進展情況。自行車速度傳感器和自行車踏頻傳感器是用戶測量車輪速度或蹬踏節奏的設備。任何設備實現CSC規范可以與CSC傳感器連接并接收數據。

和CSCP相關的規范有Running Speed and Cadence Profile(RSCS,跑步速度和步調規范)。
二 Android中的Bluetooth

Android 4.2之前,Google一直使用的是Linux官方藍牙協議棧,即知名老牌開源項目BlueZ。BlueZ實際上是由高通公司在2001年5月基于GPL協議發布的一個開源項目,該項目僅發布一個月后就被Linux之父Linux Torvalds納入了Linux內核,并做為Linux 2.4.6內核的官方藍牙協議棧。隨著Android設備的流行,BlueZ也得到了極大的完善和擴展。例如Android 4.1中BlueZ的版本升級為4.93,它支持藍牙核心規范4.0,并實現了絕大部分的Profiles。

BlueZ現在正處于其巔峰時期,但好景不長。從Android 4.2即Jelly Bean開始,Google便在Android源碼中推出了它和博通公司一起開發的BlueDroid以替代BlueZ。雖然因為時間及成熟度的原因,大部分手機廠商在Android 4.2中仍繼續使用BlueZ。但據筆者了解,BlueZ的創始者,高通公司也將在基于其芯片的Android參考設計中去除BlueZ,并僅支持BlueDroid。

BlueZ的未來如何筆者姑且不論。不過,能讓高通改弦易轍,BlueDroid自有其合理之處。相比BlueZ,BlueDroid最值得稱道的地方就是其框架結構變得更為簡潔和清晰。另外,借助HAL(Hardware Abstraction Layer,硬件抽象層),BlueDroid終于不再和dbus有任何瓜葛。圖8所示為Android 4.2中BlueDroid的框架結構圖[④]:

由圖8可知,Android4.2中BlueDroid框架包括以下幾個部分:

應用程序通過android.bluetooth package下的API來調用系統的Bluetooth功能。

應用層空間增加了一個名為Bluetooth的App。它做為系統的bluetooth核心進程而存在。其內部將通過JNI來調用Bluetooth HAL層以完成各種藍牙請求。

Bluetooth HAL也屬于Android 4.2新增模塊,它由藍牙核心規范硬件抽象層和藍牙應用規范硬件抽象層組成。由于HAL層的隔離作用,上層代碼可輕松移植到不同芯片平臺。

作 為整個藍牙服務的核心,Bluetooth Stack模塊則由Bluetooth Application Layer(縮寫為BTA)和Bluetooth Embedded System(縮寫為BTE)兩大部分組成。BTA實現了藍牙設備管理、狀態管理及一些應用規范。而BTE則通過HCI與廠商藍牙芯片交互以實現了藍牙協 議棧的通用功能和相關協議。另外,BTE還包括一個統一內核接口(GKI),藍牙芯片廠商可借助GKI快速輕松得移植藍牙協議棧到其他操作系統或手機平臺 上。

Vendor Extentions(廠商擴展):開發者可以添加自定義擴展以實現廠商特定的模塊和組件。

除了BlueDroid外,在今年的Google I/O大會,谷歌公司還宣布將于與蘋果、微軟和黑莓等公司共同支持Bluetooth Smart Ready(BSR,藍牙智能就緒)和Bluetooth Smart(BS,藍牙智能)技術。這項技術使藍牙設備或應用可以非常容易地連接全球成千上萬的藍牙設備,藍牙使用者的生活也因此變得更加簡單。BSR和BS都是建立在藍牙核心規范4.0和GATT應用規范。即將發布的Android 4.3(MR2)支持BSR技術,使得BS的開發者可以輕易地將其設備和應用與Android BSR設備進行連接和發布。藍牙使用者運用BS的智能應用配件(如健康監控或醫療設備)收集數據,再傳送到支持BSR設備(如智能手機或平板)上。

另外,藍牙SIG也正在研發工具Bluetooth Application Accelerator(藍牙應用加速器)。據可靠消息,該工具將隨Android 4.3發布,并將幫助開發者在Android 4.3上快速開發藍牙應用,從而加快相關產品的研發時間。
三 總結

本文對藍牙核心規范、藍牙應用規范以及Android 4.2中的藍牙協議棧BlueDroid進行了一些簡單介紹。

從筆者了解的情況來看,BlueDroid雖然對BlueZ大有取而代之的趨勢,但現在它對藍牙應用規范的支持還不夠完善。例如BlueDroid僅支持AVRCP 1.0,而非最新的AVRCP 1.5。所以,國內某些芯片或手機廠商若能及早完成BlueZ相關模塊到BlueDroid的移植工作,相信能幫助它們在競爭日趨白日化的移動世界中拔得先機。

另外,作為一種成熟、低功耗無線通信技術的先鋒,藍牙未來在可穿戴設備領域中也將扮演越來越重要的作用。那時,藍牙或許就會真正像“牙齒”一樣成為各種設備中不可或缺的一部分了。

本文鏈接:http://my.oschina.net/u/994235/blog/300402

責任編輯:chenqingxiang 來源: oschina
相關推薦

2018-06-14 09:59:48

程序員代碼大公司

2010-12-30 10:04:49

Linux入門

2022-08-08 15:45:44

JavaPromise前端

2019-01-04 12:46:03

程序員技能溝通

2020-06-15 09:32:59

程序員大公司小公司

2016-01-05 10:30:59

后端程序員緩存原理

2015-08-14 09:15:34

轉行變成前途

2015-08-14 09:14:29

2019-12-19 16:22:38

程序員征文

2015-12-22 15:49:28

程序員互動訪談

2015-08-14 13:51:22

程序員

2013-04-24 09:39:47

程序員

2019-10-09 09:32:58

程序員數據分庫分表

2014-11-03 14:43:38

程序員

2015-10-08 15:24:44

程序員面試貼士

2015-06-11 13:12:56

2020-07-13 08:08:05

程序員軟考原理

2021-09-23 14:44:24

程序員計算機開發

2011-07-12 13:35:04

程序員

2012-06-19 16:49:19

Web開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一二三区 | 中文字幕日韩一区 | 中文字幕第十五页 | 国产在线一区二区 | 激情国产 | 欧美精品片 | 欧美一区在线视频 | 国产精品18久久久久久白浆动漫 | 黑人精品 | av中文字幕在线 | 91精品久久久久久久久 | 亚洲精品国产综合区久久久久久久 | 国产精品视频入口 | 日韩一区二区三区视频 | 久久精品国产亚洲 | 久久久www成人免费无遮挡大片 | 国产伦精品一区二区三区高清 | 亚洲区在线 | 国产精品久久久久久久久久免费看 | 国产精品自产拍 | 日韩在线视频一区 | 天堂久久天堂综合色 | 波多野结衣在线观看一区二区三区 | 天天艹天天干天天 | 亚洲综合在线一区二区 | 欧美激情久久久 | 91九色视频 | 黄色中文字幕 | 二区三区视频 | 国产精品视频网址 | 国产在线观看 | 黑人精品xxx一区一二区 | 成人三级影院 | 国产精品成人一区二区 | 久久久久亚洲国产| 久久久久99 | 色偷偷人人澡人人爽人人模 | 国产精品色| wwww.8888久久爱站网 | 免费福利视频一区二区三区 | av黄色在线观看 |