亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的藍牙In-band ring功能的實現(xiàn)

        2016-06-03 09:11:02陳媛媛
        中國新通信 2016年8期
        關(guān)鍵詞:指令功能

        陳媛媛

        【摘要】 藍牙作為一種短距無線數(shù)據(jù)與語音傳輸?shù)拈_放性全球規(guī)范,目前在整個世界范圍內(nèi)都得到了很廣泛的應(yīng)用。它可以支持便攜式計算機、移動終端以及其他電子設(shè)備之間通過建立無線電空中接口相互通信,可以方便地進行數(shù)據(jù)和語音傳輸。Android是基于Linux的移動操作系統(tǒng),目前在終端市場占據(jù)了70%的市場份額,應(yīng)用相當(dāng)廣泛。本文通過研究Android系統(tǒng)以及藍牙協(xié)議棧,在現(xiàn)有架構(gòu)基礎(chǔ)上平臺實現(xiàn)了in-band ring功能。

        【關(guān)鍵字】 藍牙 Android in-band ring

        一、引言

        藍牙(Bluetooth)技術(shù)規(guī)范由藍牙特別興趣小組(SIG)制訂,在使用通用無線傳輸模塊和數(shù)據(jù)通信協(xié)議的基礎(chǔ)上,開發(fā)交互式服務(wù)和應(yīng)用,多用于便攜式通信設(shè)備。

        整個藍牙協(xié)議體系結(jié)構(gòu)自上而下分為高端應(yīng)用層、中間協(xié)議層和底層硬件模塊,結(jié)構(gòu)如圖1所示。

        藍牙協(xié)議棧最上層為應(yīng)用層,它對應(yīng)于各種應(yīng)用模型的剖面(Profile)。

        中間協(xié)議層由邏輯鏈路控制與適配協(xié)議、服務(wù)發(fā)現(xiàn)協(xié)議、串口仿真協(xié)議和電話控制協(xié)議等規(guī)范組成。它是藍牙協(xié)議棧的核心部分,主要實現(xiàn)了邏輯鏈路控制與適配協(xié)議實現(xiàn)數(shù)據(jù)的拆裝、服務(wù)質(zhì)量的控制和協(xié)議復(fù)用等功能,為上層協(xié)議的實現(xiàn)提供相應(yīng)的基礎(chǔ)。服務(wù)發(fā)現(xiàn)協(xié)議主要為上層應(yīng)用程序提供一種發(fā)現(xiàn)網(wǎng)絡(luò)中可用的服務(wù)及其特性的特殊機制;串口仿真協(xié)議是為運行在不同設(shè)備上的兩個應(yīng)用程序建立一條完整的通信路徑,并保持兩個設(shè)備之間有一個通信段;電話控制協(xié)議則提供藍牙設(shè)備間話音和數(shù)據(jù)的呼叫控制指令[1]。

        藍牙射頻、基帶層和鏈路管理層構(gòu)成藍牙的底層模塊。藍牙射頻用于實現(xiàn)數(shù)據(jù)位流的過濾和無線傳輸;基帶層主要控制跳頻和藍牙數(shù)據(jù)信息幀的傳輸;鏈路管理層則用于建立和拆除鏈路,以及鏈接的安全和控制。它們共同為上層軟件模塊提供相應(yīng)的訪問接口。兩個模塊之間的數(shù)據(jù)的傳輸必須通過藍牙主機控制器接口(HCI)的解釋才能進行[2]。

        其中免提協(xié)議(HFP) 屬于藍牙應(yīng)用層profile,其中從上到下的協(xié)議棧層次如下圖。本文所述的in-band ring功能是基于HFP協(xié)議來進行開發(fā)的。

        二、 Android 藍牙以及開發(fā)平臺

        2.1 Android 藍牙

        目前基于Linux內(nèi)核的操作系統(tǒng)廣泛采用藍牙協(xié)議棧的Bluez,Android也不例外,但是Android4.2版本以后,谷歌開始采用通信機制更加完善的Bluedroid協(xié)議棧,目前高通平臺采用的就是該協(xié)議棧。

        2.2 開發(fā)平臺和Android系統(tǒng)

        本文調(diào)試的硬件是采用高通驍龍8X系列平臺,該平臺內(nèi)置8核處理器,平臺主芯片內(nèi)封裝了WCNSS子系統(tǒng)芯片,WCNSS子系統(tǒng)芯片屬于三合一芯片wifi/bt/fm。

        WCNSS子系統(tǒng)芯片與AP之間采用高通自定義的總線架構(gòu),其中藍牙音頻數(shù)據(jù)通過PCM接口傳輸。調(diào)試系統(tǒng)是基于Android5.1。

        三、In-band ring功能

        In-band ring功能定義了如何從AG端播放聲音到HF端的協(xié)議和信令交互過程。其中AG端是指音頻網(wǎng)關(guān),本文指手機端;HF指免提設(shè)備,本文指藍牙耳機或者車載等。聲音是指通過發(fā)送的sco(面向同步連接)音頻數(shù)據(jù)。目前sco音頻廣泛采用的是CVSD編碼,而音頻參數(shù)主要有sco和esco兩大類,每個大類參數(shù)又包含了若干子類參數(shù)。音頻參數(shù)主要由鏈路管理協(xié)議來進行配置。確保AG與HF音頻能夠能夠正常傳輸。

        通過該功能可以在來電時將AG端聲音發(fā)送到HF端進行播放,在一些特定的場合可以方便地將來電人信息等轉(zhuǎn)化為語音通知用戶,可以大大提升用戶體驗。

        3.1信令過程

        AG與HF端信令交互主要通過AT指令進行。

        首先AG與HF端連接后,HF端會發(fā)送AT+BRSF獲取AG端支持情況,AG端在收到AT指令后會發(fā)送+BRSF攜帶支持的feature參數(shù),其中in-band ring作為參數(shù)特征值會發(fā)送至HF端[3]。

        當(dāng)AG端有來電時,會發(fā)送+ciev指令,并攜帶call的參數(shù)發(fā)送到HF端。然后需要由AG段發(fā)起Audio連接,HF端接受連接請求,建立Audio連接后,由AG端發(fā)送音頻數(shù)據(jù),HF端收到音頻數(shù)據(jù)后進行播放。

        當(dāng)HF端發(fā)送ATA或者AT+CHUP指令以及AG端CALL進入idle或者active后,AG需要先停止發(fā)送該音頻流數(shù)據(jù),進行對應(yīng)指令操作[4]。

        3.2Android端實現(xiàn)

        藍牙開啟后,Bluedroid會進行初始化操作,其中HFP會初始化AG端的服務(wù),對AG支持的功能進行設(shè)置,以便HF端進行獲取。協(xié)議占會調(diào)用initializeFeaturesNative設(shè)置supportfeature,in-band ring屬性設(shè)置完成后,協(xié)議棧會調(diào)用BTA_AgRegister(BTIF_HF_SERVICES, BTIF_HF_ SECURITY,btif_features, p_service_names, bthf_hf_id[i]);來對AG端的支持的feature進行注冊。

        當(dāng)AG與HF配對完成后,耳機端會通過RFCOMM鏈路向手機端發(fā)送AT+BRSF指令,手機端檢測到該指令后就會將設(shè)置后的feature返回。來告知耳機端手機支持的功能。其中就包含有in-band ring參數(shù)。當(dāng)AG端有來電時,telephoneservice會調(diào)用藍牙HFP服務(wù)中的phoneStateChangeNative 接口來通知耳機端有來電。協(xié)議棧則是通過AT指令的方式將該信息發(fā)送至耳機端。

        完成上述步驟后,根據(jù)in-bandring協(xié)議,需要進行AudioConnection。協(xié)議中的音頻連接就是指sco連接。音頻連接一般是在AG端在發(fā)送完+cie指令后,然后調(diào)用conn ectAudioNative(getByteAddress(mCurrentDevice))發(fā)起連接請求,HF接收連接請求后,AG協(xié)議棧會有連接完成的回調(diào)通知上層,上層服務(wù)再通過Auidostatechange廣播通知其他模塊,做其他處理。而監(jiān)聽到音頻連接完成的狀態(tài)后,可以添加自定義的聲音播放,聲音就會通過sco連接傳到耳機端。在Android系統(tǒng)中sco鏈路屬于通話鏈路,只支持voice類型的聲音數(shù)據(jù),因此在播放時需要先設(shè)置音頻流類型或者降低采樣頻率的方式才能通過sco鏈路進行傳輸。本處采用的是TTS語音引擎,引擎初始化時設(shè)置音頻參數(shù)設(shè)置為voice類型后進行播放。

        播放過程中,手機端需要監(jiān)測AG端call的狀態(tài)以及耳機端發(fā)過來的指令來結(jié)束聲音播放或者斷開音頻連接。當(dāng)AG端的call狀態(tài)進入active狀態(tài)時需要終止聲音播放,避免與語音聲音重疊,當(dāng)call進入idle狀態(tài)時,則中斷聲音播放,同時斷開音頻連接。

        四、結(jié)果與性能

        為測試該功能的實際使用效果以及兼容性,本文選取了市面上主流的藍牙耳機和車載設(shè)備進行測試。耳機品牌包括三星,飛利浦,藍玄,捷布朗等品牌,車載則選取了飛歌,佳藝田,駿歌等車載。并對各種來電場景進行測試。

        來電情況下,耳機和車載端能夠清晰發(fā)出AG端自定義的音效,并且能夠消除原先廠家的在HF端的提示音效。在進行掛斷和接聽后,AG端自定義音效能夠正常停止,不影響正常通話和掛斷。in-band ring功能正常實現(xiàn)。

        兼容性測試方面,83%耳機和車載能夠正常實現(xiàn)inband ring功能。只有個別型號存在兼容性問題。達到了預(yù)期效果。

        五、總結(jié)

        本文介紹了藍牙無線通信協(xié)議棧以及Android藍牙實現(xiàn)架構(gòu), 在研究了藍牙in-band ring協(xié)議基礎(chǔ)上,基于現(xiàn)有Android藍牙架構(gòu),通過修改開源協(xié)議棧以及上層應(yīng)用邏輯。比較完整地實現(xiàn)了藍牙 in-band ring協(xié)議功能,并達到了預(yù)期效果。

        參 考 文 獻

        [1] 金純 林金朝 萬寶紅.藍牙協(xié)議及其源代碼分析.國防工業(yè)出版社,2006

        [2] 米勒.藍牙核心技術(shù):全球無線通信開放規(guī)范的權(quán)威性指南.機械工業(yè)出版社,2001

        [3] Bluetooth SIG.Core Specification of the Bluetooth 2.0 +EDR,2004

        [4] Bluetooth SIG.HANDS-FREE PROFILE 1.5,2007

        猜你喜歡
        指令功能
        聽我指令:大催眠術(shù)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        關(guān)于非首都功能疏解的幾點思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        殺毒軟件中指令虛擬機的脆弱性分析
        一種基于滑窗的余度指令判別算法
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        丰满人妻被中出中文字幕| 亚洲一区二区三区高清在线观看 | 久久久亚洲女精品aa| 亚洲av男人的天堂一区| 麻豆精品国产精华液好用吗| 狠狠人妻久久久久久综合| 人妻中文字幕一区二区二区| 全亚洲高清视频在线观看| 久久天堂综合亚洲伊人hd妓女| 亚洲人成网站77777在线观看| 亚洲青涩在线不卡av| 性感女教师在线免费观看| 久久久久成人片免费观看蜜芽| 日韩欧美区| av免费网站在线免费观看| 真实夫妻露脸爱视频九色网| 丰满人妻熟妇乱又伦精品软件| 久久精品免费免费直播| 国产成人精品一区二区日出白浆| 日本av一区二区三区在线| 少妇aaa级久久久无码精品片| 久久aⅴ无码一区二区三区| 亚洲高清美女久久av| 国产一区二区三区仙踪林| 久久人人爽人人爽人人片av东京热 | 美女网站免费福利视频| 日韩在线看片免费人成视频| 人妻尤物娇呻雪白丰挺| 亚洲av成人精品一区二区三区| 色播久久人人爽人人爽人人片av| 亚洲国产剧情在线精品视| 日本按摩偷拍在线观看| 激情综合丁香五月| 亚洲 国产 哟| 人妻少妇被猛烈进入中文| 狠狠噜狠狠狠狠丁香五月| 少妇三级欧美久久| 蜜桃一区二区三区在线视频| 真人抽搐一进一出视频| 国产成人无码精品午夜福利a| 日韩精品有码在线视频|