專利名稱:通信裝置及其中間件的制作方法
技術領域:
本發(fā)明涉及通信領域,特別涉及一種通信裝置及其中間件。
背景技術:
藍牙是一種支持設備短距離通信(一般IOm內)的無線電技術。能在包括移動 電話、PDA、無線耳機、筆記本電腦、相關外設等眾多設備之間進行無線信息交換。利用“藍 牙”技術,能夠有效地簡化移動通信終端設備之間的通信,也能夠成功地簡化設備與因特網(wǎng) (Internet)之間的通信,從而數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。隨著藍牙 技術的不斷普及,越來越多的通信裝置中支持藍牙技術。藍牙通信過程中,遵循藍牙協(xié)議棧規(guī)范的應用能夠進行相互間操作以實現(xiàn)應 用。具體使用藍牙協(xié)議棧實現(xiàn)應用可以參考文獻Specification of the Bluetooth system (Core Package version :2. 1+EDR, issued :26 July 2007, Bluetooth SIG)。但是 藍牙協(xié)議棧由多個通信協(xié)議(Protocols)和規(guī)范(Profiles)組成,是很復雜性的無線通信 協(xié)議棧,用戶在使用此協(xié)議棧時很難快速有效的實現(xiàn)所需的應用,特別是在不同的運行環(huán) 境或者操作系統(tǒng)下,實現(xiàn)各種應用將更加復雜。中間件是一種獨立的系統(tǒng)或服務程序,位于客戶機/服務器的操作系統(tǒng)之上,管 理計算機資源和網(wǎng)絡通訊,連接兩個獨立應用程序或獨立系統(tǒng)。相連接的系統(tǒng),即使它們具 有不同的接口,但通過中間件相互之間仍能交換信息。執(zhí)行中間件的一個關鍵途徑是信息 傳遞。中間件是位于平臺(硬件和操作系統(tǒng))與應用之間的通用的服務,這些通用的服務 具有標準的程序接口和協(xié)議。針對不同的平臺或操作系統(tǒng),中間件可以有符合程序接口和 協(xié)議規(guī)范的多種應用,并使應用可以工作于多平臺或操作系統(tǒng)環(huán)境。中間件技術在不同的應用領域中廣泛使用,如申請?zhí)枮?00810065041.3的中國 發(fā)明專利申請公開了一種面向3C融合的中間件。但現(xiàn)有技術中還沒有一種中間件來實現(xiàn) 簡化藍牙協(xié)議棧使用的復雜性、提供跨平臺或跨操作系統(tǒng)的藍牙應用、使開發(fā)人員無需非 常了解藍牙協(xié)議的情況下,能夠在多平臺或多操作系統(tǒng)上快速、高效地開發(fā)應用。
發(fā)明內容
本發(fā)明要解決的問題是現(xiàn)有技術難以快速有效地使用藍牙協(xié)議棧實現(xiàn)所需的藍 牙應用,特別是在不同的運行環(huán)境或者操作系統(tǒng)下,實現(xiàn)各種應用將變得更加復雜。為解決上述問題,本發(fā)明提供了一種通信裝置的中間件,包括應用程序接口層、服務層、驅動層;所述應用程序接口層包括藍牙應用程序接口,所述藍牙應用程序接口用于接收藍 牙應用的服務請求,基于所述服務請求生成控制命令傳遞給服務層;所述服務層包括藍牙協(xié)議棧管理單元,所述藍牙協(xié)議棧管理單元用于管理藍牙協(xié) 議棧中的各類藍牙協(xié)議和規(guī)范,根據(jù)藍牙應用程序接口傳遞的所述控制命令調用相應藍牙 協(xié)議并對驅動層作出操作控制;
4
所述驅動層包括主機控制器接口(HCI,Host Controller Interface)驅動單元, 所述HCI驅動單元用于接受服務層的操作控制,驅動藍牙硬件模塊工作以完成藍牙應用??蛇x的,所述藍牙應用的服務請求由應用層發(fā)送,所述的應用程序接口層還用于 傳遞確認結果或指示給所述應用層??蛇x的,所述的服務層還用于傳遞確認結果或指示給所述應用程序接口層。可選的,所述的驅動層還用于傳遞確認結果或指示給所述服務層??蛇x的,所述的確認結果為藍牙應用實現(xiàn)過程中生成的成功或失敗及失敗原因的 反饋信息。可選的,應用程序接口層傳遞所述指示給所述應用層后,還接收應用層對所述指 示作出應答的服務請求。可選的,應用程序接口層接收應用層對所述指示作出應答的服務請求是基于觸發(fā) 事件產(chǎn)生的??蛇x的,所述的藍牙應用程序接口包括初始化/關閉單元,用于生成初始化/關閉 中間件的控制命令并傳遞給所述服務層??蛇x的,所述的藍牙應用程序接口包括連接及設備管理單元,用于生成連接藍牙 設備的操作相關的控制命令并傳遞給所述服務層??蛇x的,所述連接藍牙設備的操作相關的控制命令包括搜索藍牙設備、顯示歷史 連接藍牙設備、配對藍牙設備或連接藍牙設備的控制命令??蛇x的,所述的藍牙應用程序接口包括應用單元,用于生成為實現(xiàn)各種應用的服 務請求所需的控制命令并傳遞給所述服務層??蛇x的,所述各種應用包括免提通話、音樂播放、數(shù)據(jù)同步傳輸、名片交換、撥號上 網(wǎng)??蛇x的,所述的服務層還包括噪聲抑制單元,用于對接收和發(fā)送的語音數(shù)據(jù)進行 噪聲抑制處理。可選的,所述的服務層還包括回聲消除單元,用于對接收和發(fā)送的語音數(shù)據(jù)進行 回聲消除處理。為解決上述問題,本發(fā)明還提供了一種通信裝置,包括應用層、上述中間件和藍牙 硬件模塊,其中,應用層,用于提出藍牙應用的服務請求并傳遞給所述中間件;藍牙硬件模塊,由所述中間件的HCI驅動單元驅動,與其他藍牙通信裝置進行通 信,以實現(xiàn)藍牙應用??蛇x的,所述通信裝置為車載藍牙設備。與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點上述技術方案,為常見的藍牙應用提供一個跨環(huán)境或跨平臺的、簡單易用的中間 件,最大程度地簡化了藍牙協(xié)議棧的使用的復雜性,將使用藍牙協(xié)議的框架進行了簡化,盡 量提供簡單易用的應用程序接口,使開發(fā)人員無需非常了解藍牙協(xié)議的情況下,能夠在多 平臺或多操作系統(tǒng)上快速、高效地開發(fā)應用,同時也降低了應用程序開發(fā)的成本和難度;同時,利用所述中間件實現(xiàn)了編解碼、回聲消除、噪音抑制等功能,充分整合了硬 件資源,大大降低了開發(fā)藍牙應用的硬件成本,并簡化了通信裝置的硬件結構。
圖1是本發(fā)明提供的通信裝置的中間件與應用層、藍牙硬件模塊連接的一種實施 方式結構示意圖;圖2是圖1中藍牙應用程序接口的結構示意圖;圖3是本發(fā)明提供的通信裝置的中間件的一個應用實施例示意圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結合附圖對本發(fā)明 的具體實施方式
做詳細的說明。在以下描述中闡述了具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不 同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發(fā)明內涵的情況下做類 似推廣。因此本發(fā)明不受下面公開的具體實施方式
的限制。本發(fā)明實施方式通過中間件來實現(xiàn)復雜的藍牙協(xié)議棧的應用,從而可以向開發(fā)人 員提供一種簡單的應用程序接口。參閱圖1,是本發(fā)明提供的通信裝置的中間件與應用層、藍牙硬件模塊連接的一種 實施方式結構示意圖。本發(fā)明的通信裝置的中間件包括,應用程序接口層11、服務層12、驅 動層13 ;應用程序接口層11包括藍牙應用程序接口 111,所述藍牙應用程序接口 111用于 接收藍牙應用的服務請求,基于所述服務請求生成控制命令傳遞給服務層12 ;服務層12包 括藍牙協(xié)議棧管理單元121,所述藍牙協(xié)議棧管理單元121用于管理藍牙協(xié)議棧中的各類 藍牙協(xié)議和規(guī)范,根據(jù)藍牙應用程序接口 111傳遞的所述控制命令調用藍牙協(xié)議并對驅動 層13作出操作控制;驅動層13包括HCI驅動單元131,所述HCI驅動單元131用于接受服 務層12的操作控制,驅動藍牙硬件模塊141工作以完成藍牙應用。具體實施過程中,應用層10發(fā)送服務請求后,應用程序接口層11、服務層12、驅動 層13都可能生成對所述服務請求的確認結果,所述確認結果為藍牙應用實現(xiàn)過程中生成 的成功或失敗及失敗原因的反饋信息,根據(jù)確認結果可以生成提示信息請求用戶進一步進 行操作,例如,如果提出連接的服務請求但連接失敗了,則需要傳遞確認結果提示用戶連接 失敗,并可以詢問是否重試。另外,基于某些事件,所述中間件的服務層12還可能生成指示,所述指示用于提 示并要求應用層10作出應答的服務請求,例如,當某個連接請求通過驅動層13傳遞到服務 層12時,服務層12則生成要求連接的提示并從應用程序接口層11傳遞到應用層10并由 其作出應答即連接或拒絕連接的服務請求。所述的應用程序接口層11還用于傳遞確認結果或指示給所述應用層10 ;所述的 服務層12還用于傳遞確認結果或指示給所述應用程序接口層11 ;所述的驅動層13還用于 傳遞確認結果或指示給所述服務層12 ;應用程序接口層11傳遞所述指示給所述應用層10 后,還接收應用層10對所述指示作出應答的服務請求。應用程序接口層11接收應用層10對所述指示作出應答的服務請求還可以是基于 觸發(fā)事件產(chǎn)生的,例如,當一個請求連接的指示指定時間得不到應答,定時器失效引起的事 件將會自動觸發(fā)發(fā)送拒絕連接的服務請求。
參閱圖2,是圖1中藍牙應用程序接口的結構示意圖。藍牙應用程序接口 111包括初始化/關閉單元111a,用于生成初始化/關閉中間件的控制命令并傳遞給服務 層12。服務層12中藍牙協(xié)議棧管理單元121接到所述控制命令后完成初始化/關閉中間 件的操作。在使用通信裝置的藍牙功能之前,必須先對中間件進行初始化操作;而需要關閉 通信裝置的藍牙功能,則可以執(zhí)行關閉中間件的操作。連接及設備管理單元111b,用于生成連接藍牙設備的操作相關的控制命令,例如, 搜索藍牙設備、顯示歷史連接藍牙設備、配對藍牙設備或連接藍牙設備的控制命令并傳遞 給服務層12。應用單元111c,用于生成為實現(xiàn)應用層10的各種應用的服務請求所需要的控制 命令并傳遞給服務層12,所述各種應用包括免提通話、音樂播放、數(shù)據(jù)同步傳輸、名片交換、 撥號上網(wǎng)等。通常,在初始化/關閉單元Illa完成初始化操作后才可以調用連接及設備管理 單元Illb ;在連接及設備管理單元Illb完成藍牙設備的連接操作后才可以調用應用單元 IllC去實現(xiàn)應用服務請求。如圖1所示,本發(fā)明實施方式提供的通信裝置包括應用層10,中間件(包括應用程 序接口層11、服務層12和驅動層13)和藍牙硬件模塊141。所述應用層10,用于提出藍牙 應用的服務請求并傳遞給所述中間件;藍牙硬件模塊141,由所述中間件的驅動層13的HCI 驅動單元131驅動,與其他藍牙通信裝置進行通信,以實現(xiàn)藍牙應用。下面結合附圖2和3以一個實施例對本發(fā)明提供通信裝置的中間件如何實現(xiàn)應用 服務進行詳細說明,其中,圖3為本發(fā)明提供的通信裝置的中間件的一個應用實施例示意 圖。在藍牙的應用中,藍牙免提通話是最常見的應用之一,尤其在車載的環(huán)境下,考慮 到開車時的安全問題以及便捷性,藍牙免提通話的實現(xiàn)就變得更加重要。在進行藍牙免提 通話應用的時候,需要在具有藍牙通信功能的手機(以下簡稱藍牙手機)和免提設備(或 者可以說是具有藍牙功能的通信裝置)之間建立藍牙數(shù)據(jù)和語音連接的過程,以及免提設 備基于該連接對藍牙手機進行遠程控制,并訪問外部網(wǎng)絡以實現(xiàn)電話通話功能。所述的外 部網(wǎng)絡可以是2G/3G的通信網(wǎng)絡。在車載的環(huán)境下,所述的免提設備一般指車載藍牙設備。如圖3所示,本實施例的車載藍牙設備包括應用層10、中間件和藍牙硬件模塊 141,其中,應用層10包括多個應用程序,實現(xiàn)各種應用,如免提語音通話、音樂播放、數(shù)據(jù) 同步傳輸?shù)?;中間件包括應用程序接口層11、服務層12’和驅動層13’。在實現(xiàn)車載藍牙免提通話應用時,如圖3所示的中間件結構中,與圖1所示的結構 相比,服務層12’中還包括噪聲抑制和回聲消除單元122 ;驅動層13’中還包括藍牙音頻驅 動程序132、設備音頻驅動程序133。所述噪聲抑制和回聲消除單元122用于對(車載藍牙 設備)接收和發(fā)送的語音數(shù)據(jù)進行噪聲抑制和回聲消除處理,并將處理后的語音數(shù)據(jù)在驅 動層13’中的藍牙音頻驅動程序132和設備音頻驅動程序133之間進行相互傳遞。所述藍 牙音頻驅動程序132用于提供標準的操作系統(tǒng)音頻設備接口,實現(xiàn)語音數(shù)據(jù)在藍牙協(xié)議棧 管理單元121與噪聲抑制和回聲消除單元122之間進行相互傳遞。所述設備音頻驅動程序 133用于接收噪聲抑制和回聲消除單元122傳遞的語音數(shù)據(jù),并對所述語音數(shù)據(jù)解碼處理后驅動揚聲器143播放語音;另一方面,還用于驅動麥克風142接收語音,經(jīng)過編碼處理形 成語音數(shù)據(jù)并將所述語音數(shù)據(jù)傳遞至噪聲抑制和回聲消除單元122。使用噪聲抑制和回聲消除單元122是因為在免提通話時對方可以聽到自己的回 聲,可以采用回聲消除(EC,Echo Cancellation)技術來消除;如果是在行車過程中進行免 提通話時,發(fā)動機噪聲、路面噪聲、風聲等會進入車內麥克風,影響通話質量,采用噪音抑制 (NS,Noise Suppression)技術可以抑制車內噪聲以提高通話清晰度。當然,在不同的實施 例中,可能僅需要使用回聲消除單元對接收和發(fā)送的語音數(shù)據(jù)進行回聲消除處理,例如在 基本上沒有噪聲環(huán)境進行免提通話的情況;另一方面,也可能僅需要使用噪聲抑制單元對 接收和發(fā)送的語音數(shù)據(jù)進行噪聲抑制處理,例如在存在較嚴重噪聲的環(huán)境進行非免提通話 的情況。但是本實施例中,車載免提語音通話則需要同時用到回聲消除單元以及噪聲抑制 單元,為表述方便,故將上述兩個單元集成于噪聲抑制和回聲消除單元122。具體到利用本發(fā)明提供的中間件實現(xiàn)車載藍牙免提通話首先,在實現(xiàn)應用前需 要對所述中間件進行初始化;其次,還需要在車載藍牙設備和藍牙手機之間建立連接;最 后,在完成上述兩個步驟后,便可以進行車載藍牙免提通話的應用了。在具體實施例中,當用戶攜帶藍牙手機151進入汽車時,發(fā)動汽車,用戶開啟車載 藍牙設備中的藍牙功能(也可以設置為車載藍牙設備激活便自動開啟藍牙功能),此時,便 從應用層10將初始化的服務請求傳遞到應用程序接口層11中的藍牙應用程序接口 111, 藍牙應用程序接口 111中的初始化/關閉單元Illa接收到所述服務請求后調用相關函數(shù) (例如初始化函數(shù)等)生成對中間件進行初始化操作的控制命令并傳遞給服務層12’,服務 層12’中的藍牙協(xié)議棧管理單元121接收到所述控制命令后完成中間件初始化操作并將 初始化成功或失敗及失敗原因的確認結果經(jīng)藍牙應用程序接口 111傳遞回應用層10,若傳 遞的確認結果顯示為成功,則表示已完成初始化操作。所述的初始化操作可以包括對函數(shù) (例如所述中間件用以通知應用層所有事件、消息、參數(shù)的回調函數(shù)等)進行定義,對事件、 消息以及相關參數(shù)的描述等。在完成初始化后,用戶需要將藍牙手機151與車載藍牙設備之間建立連接才能去 實現(xiàn)各種應用。先由應用層10將搜索藍牙設備的服務請求傳遞到應用程序接口層11中的 藍牙應用程序接口 111,藍牙應用程序接口 111中的連接及設備管理單元Illb接收到所述 服務請求后調用相關函數(shù)(例如設備搜索函數(shù)等)生成對周邊藍牙設備進行搜索操作的控 制命令并傳遞給服務層12’,服務層12’中的藍牙協(xié)議棧管理單元121接收到所述控制命 令后調用藍牙協(xié)議棧中相關藍牙協(xié)議和規(guī)范,例如服務發(fā)現(xiàn)協(xié)議(SDP,Service Discovery Protocol)、邏輯鏈路控制與適配協(xié)議(L2CAP,Logical Link Control and Adaptation Protocol)等,并對驅動層13’的HCI驅動單元131作出操作控制,HCI驅動單元131驅動 藍牙硬件模塊141工作以完成對周邊藍牙設備的搜索并將藍牙硬件模塊搜索成功或失敗 及失敗原因的確認結果傳遞回服務層12’。在搜索成功的情況下,將搜索的結果經(jīng)驅動層 13’、服務層12’、應用程序接口層11返回給應用層10。這些搜索的結果將會在應用層10以 列表的形式顯示給用戶,而且,列表中顯示的搜索到的周邊藍牙設備中還會包括是否成功 配對過的信息,如果顯示的是經(jīng)過配對成功過的藍牙設備,那么可以向這些設備提出連接 的服務請求;如果是未成功配對過的藍牙設備,則可以先向這些設備提出配對的服務請求, 配對成功后再提出連接的服務請求。所述配對是指為了保證藍牙設備之間連接時內容傳遞
8的安全性,進行的鑒權和加密操作。具體實施例中,例如搜索的結果為用戶的藍牙手機151,并且該手機是經(jīng)過成功配 對過的,那么用戶可以選中所需連接的藍牙設備然后發(fā)起連接的服務請求。由應用層10 將連接藍牙手機151的服務請求傳遞到應用程序接口層11中的藍牙應用程序接口 111,藍 牙應用程序接口 111中的連接及設備管理單元Illb接收到所述服務請求后調用相關函數(shù) (例如設備連接函數(shù)等)生成對藍牙手機151進行連接操作的控制命令并傳遞給服務層 12’,服務層12’中的藍牙協(xié)議棧管理單元121接收到所述控制命令后從藍牙協(xié)議棧中調用 相關藍牙協(xié)議和規(guī)范,例如服務發(fā)現(xiàn)協(xié)議、邏輯鏈路控制與適配協(xié)議等,并對驅動層13’的 HCI驅動單元131作出操作控制,HCI驅動單元131驅動藍牙硬件模塊141工作以完成對藍 牙手機151的連接并將連接成功或失敗及失敗原因的確認結果傳遞回服務層12’,并經(jīng)應 用程序接口層11返回給應用層10,完成連接操作。在完成初始化和連接操作之后,便可以進行車載藍牙免提通話的應用了。具體實 施例中,車載藍牙免提通話的應用可能是接聽電話、呼出電話、重撥電話、掛斷或拒接電話 等,車載藍牙免提語音通話中的不同應用對應由不同的服務請求完成。這里以接聽電話為 例進行說明。在用戶攜帶藍牙手機進入汽車時就可以進行藍牙手機與車載藍牙設備之間 的連接,同時可以把手機的通話聲音轉移到車載藍牙設備上(通話聲音轉移也可以暫時不 進行設置,待需要車載藍牙設備實現(xiàn)語音通話時再進行手動控制)。當有電話呼入,藍牙手 機151會將電話呼入的提示發(fā)給車載藍牙設備的藍牙硬件模塊141,所述電話呼入的提示 經(jīng)HCI驅動單元131傳遞到服務層12’的藍牙協(xié)議棧管理單元121生成請求通話連接的指 示,所述指示經(jīng)應用程序接口層11的藍牙應用程序接口 111傳遞到應用層10的免提語音 通話101。如果用戶選擇接聽電話,則應用層10的免提語音通話101對所述指示作出應答, 傳遞接聽電話的服務請求到應用程序接口層11中的藍牙應用程序接口 111,藍牙應用程序 接口 111中的應用單元IllC接收到所述服務請求后調用相關函數(shù)(例如,藍牙免提連接 函數(shù)、藍牙免提接聽函數(shù)等)生成對藍牙手機151進行電話接聽操作的控制命令并傳遞給 服務層12’,服務層12’中的藍牙協(xié)議棧管理單元121接收到所述控制命令后調用藍牙協(xié) 議棧中相關藍牙協(xié)議和規(guī)范,例如電話控制協(xié)議規(guī)范(TCS,Telephony Control Protocol Specification)、邏輯鏈路控制與適配協(xié)議等,并對驅動層13’的HCI驅動單元131作出操 作控制,HCI驅動單元131驅動藍牙硬件模塊141工作以完成對藍牙手機151的通話連接 并將通話連接成功或失敗及失敗原因的確認結果傳遞回服務層12’,并經(jīng)藍牙應用程序接 口 111返回給應用層10,完成通話接聽操作,進入藍牙車載免提語音通話狀態(tài)。藍牙車載免提語音通話狀態(tài)時,藍牙手機151通過外部通信網(wǎng)絡將語音數(shù)據(jù)發(fā)送 給車載藍牙設備的藍牙硬件模塊141,藍牙硬件模塊141通過HCI驅動單元131將語音數(shù)據(jù) 傳遞給服務層12’的藍牙協(xié)議棧管理單元121,藍牙音頻驅動程序132調用相關函數(shù)從藍牙 協(xié)議棧管理單元121獲取語音數(shù)據(jù)。所述藍牙音頻驅動程序132將所述語音數(shù)據(jù)傳送給噪 聲抑制和回聲消除單元122,由其對語音數(shù)據(jù)進行噪聲抑制和回聲消除處理,并將處理后的 語音數(shù)據(jù)傳遞至設備音頻驅動程序133進行解碼處理,設備音頻驅動程序133在對語音數(shù) 據(jù)經(jīng)過解碼處理后驅動揚聲器143播放語音。藍牙協(xié)議棧管理單元121在接受藍牙音頻驅 動程序132的調用后會將調用成功或失敗及失敗原因的確認結果傳遞回藍牙音頻驅動程 序132。用戶的語音則由設備音頻驅動程序133驅動麥克風142進行接收并對語音進行編碼處理,將經(jīng)過編碼處理后形成的語音數(shù)據(jù)傳送至噪聲抑制和回聲消除單元122,所述噪聲 抑制和回聲消除單元122經(jīng)過噪聲抑制和回聲消除處理后將語音數(shù)據(jù)傳送至藍牙音頻驅 動程序132,并由所述藍牙音頻驅動程序132將語音數(shù)據(jù)傳送給藍牙協(xié)議棧管理單元121, 由藍牙協(xié)議棧管理單元121對驅動層13’的HCI驅動單元131作出操作控制將語音數(shù)據(jù)傳 送給HCI驅動單元131,HCI驅動單元131驅動藍牙硬件模塊141工作將語音數(shù)據(jù)傳送至藍 牙手機151,并將藍牙硬件模塊141傳送語音數(shù)據(jù)成功或失敗及失敗原因的確認結果傳遞 回服務層12’。藍牙手機151將語音數(shù)據(jù)通過外部通信網(wǎng)絡發(fā)出完成通話過程。另外,為了增加行車安全,在實施藍牙車載免提語音通話的應用時還可以采用語 音識別技術可以讓用戶無需手動操作電子設備,通過預先錄入的聲音指令,就可以完成撥 打電話,接聽電話等;語音合成技術用語音信號提醒用戶需要進行的操作或一些值得注意 的信息。當然,通過與以上實施例中類似的實施方式,還可以完成其他多種應用的實現(xiàn), 如音樂播放、數(shù)據(jù)同步傳輸、名片交換、撥號上網(wǎng)等。具體運用中間件實現(xiàn)應用時,需要先完成藍牙協(xié)議棧在不同平臺或操作系統(tǒng)的移 植,并完成功能性和兼容性的調試,確保藍牙協(xié)議棧能夠正常工作并且兼容各種藍牙設備, 然后運用所述中間件就能完成不同的應用在多平臺或多操作系統(tǒng)的實現(xiàn)了。并且,所有應 用的開發(fā)都可以實現(xiàn)模塊化并且實現(xiàn)標準化接口,只需要通過藍牙應用程序接口就能容易 實現(xiàn)多種應用,開發(fā)人員無需非常了解藍牙協(xié)議就能夠在多種平臺或操作系統(tǒng)上快速、高 效地開發(fā)應用。需要說明的是,上述實施例是以藍牙應用為例進行說明的,所述服務層可以用于 管理藍牙協(xié)議棧中的各類藍牙協(xié)議和規(guī)范,本領域技術人員應當可以理解,本發(fā)明所述的 中間件也可以用于實現(xiàn)其他通信類應用,其中的服務層可以用于管理其他類的通信協(xié)議和 規(guī)范。此外,本領域技術人員可以理解實現(xiàn)上述實施例的中間件的全部或部分是可以通 過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機可讀存儲介質中,所述存 儲介質可以是ROM、RAM、磁碟、光盤等。綜上,本發(fā)明提供的通信裝置的中間件,至少具有如下有益效果針對常見的應用,將其歸類,為這些應用如車載免提語音通話、音樂播放、數(shù)據(jù)同 步傳輸?shù)鹊忍峁┮粋€跨環(huán)境或跨平臺的、簡單易用的中間件。通過該中間件,極大的降低了 軟件開發(fā)的成本和難度,最大程度地簡化了藍牙協(xié)議棧的使用的復雜性。并且將這些框架 進行了簡化,盡量提供簡單易用的應用程序接口,使開發(fā)人員在無需非常了解藍牙協(xié)議的 情況下,能夠在多平臺或多操作系統(tǒng)上快速、高效地開發(fā)應用。另外,針對特殊應用的需求,如車載免提語音通話,通過整合噪聲抑制和回聲消除 子系統(tǒng),提高了該應用的性能。同時,利用所述中間件實現(xiàn)了編解碼、回聲消除、噪音抑制等功能,充分整合了硬 件資源,大大降低了開發(fā)藍牙應用的硬件成本,并簡化了通信裝置的硬件結構。而且隨著藍 牙應用需求及協(xié)議的拓展,利用本發(fā)明提供的中間件,將比全部基于硬件的方案更快捷地 拓展功能,特別是便于用戶在不更改硬件設計的基礎上升級相應功能,包括支持終端用戶 對已經(jīng)進入市場的產(chǎn)品進行功能的升級。
10
本發(fā)明雖然已以較佳實施例公開如上,但其并不是用來限定本發(fā)明,任何本領域 技術人員在不脫離本發(fā)明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發(fā) 明技術方案做出可能的變動和修改,因此,凡是未脫離本發(fā)明技術方案的內容,依據(jù)本發(fā)明 的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發(fā)明技術方案 的保護范圍。
權利要求
一種通信裝置的中間件,其特征在于,包括應用程序接口層、服務層、驅動層;所述應用程序接口層包括藍牙應用程序接口,所述藍牙應用程序接口用于接收藍牙應用的服務請求,基于所述服務請求生成控制命令傳遞給服務層;所述服務層包括藍牙協(xié)議棧管理單元,所述藍牙協(xié)議棧管理單元用于管理藍牙協(xié)議棧中的各類藍牙協(xié)議和規(guī)范,根據(jù)藍牙應用程序接口傳遞的所述控制命令調用相應藍牙協(xié)議并對驅動層作出操作控制;所述驅動層包括HCI驅動單元,所述HCI驅動單元用于接受服務層的操作控制,驅動藍牙硬件模塊工作以完成藍牙應用。
2.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述藍牙應用的服務請求 由應用層發(fā)送,所述的應用程序接口層還用于傳遞確認結果或指示給所述應用層。
3.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的服務層還用于傳遞 確認結果或指示給所述應用程序接口層。
4.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的驅動層還用于傳遞 確認結果或指示給所述服務層。
5.根據(jù)權利要求2至4任一項所述的通信裝置的中間件,其特征在于,所述的確認結果 為藍牙應用實現(xiàn)過程中生成的成功或失敗及失敗原因的反饋信息。
6.根據(jù)權利要求2所述的通信裝置的中間件,其特征在于,所述應用程序接口層傳遞 所述指示給所述應用層后,還接收應用層對所述指示作出應答的服務請求。
7.根據(jù)權利要求6所述的通信裝置的中間件,其特征在于,應用程序接口層接收應用 層對所述指示作出應答的服務請求是基于觸發(fā)事件產(chǎn)生的。
8.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的藍牙應用程序接口 包括初始化/關閉單元,用于生成初始化/關閉中間件的控制命令并傳遞給所述服務層。
9.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的藍牙應用程序接口 包括連接及設備管理單元,用于生成連接藍牙設備的操作相關的控制命令并傳遞給所述服 務層。
10.根據(jù)權利要求9所述的通信裝置的中間件,其特征在于,所述連接藍牙設備的操作 相關的控制命令包括搜索藍牙設備、顯示歷史連接藍牙設備、配對藍牙設備或連接藍牙設 備的控制命令。
11.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的藍牙應用程序接 口包括應用單元,用于生成為實現(xiàn)各種應用的服務請求所需的控制命令并傳遞給所述服務層。
12.根據(jù)權利要求11所述的通信裝置的中間件,其特征在于,所述各種應用包括免提 通話、音樂播放、數(shù)據(jù)同步傳輸、名片交換、撥號上網(wǎng)。
13.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的服務層還包括噪聲 抑制單元,用于對接收和發(fā)送的語音數(shù)據(jù)進行噪聲抑制處理。
14.根據(jù)權利要求1所述的通信裝置的中間件,其特征在于,所述的服務層還包括回聲 消除單元,用于對接收和發(fā)送的語音數(shù)據(jù)進行回聲消除處理。
15.一種通信裝置,其特征在于,包括應用層、權利要求1至14任一項所述的中間件和藍牙硬件模塊,其中,應用層,用于提出藍牙應用的服務請求并傳遞給所述中間件; 藍牙硬件模塊,由所述中間件的HCI驅動單元驅動,與其他藍牙通信裝置進行通信,以 實現(xiàn)藍牙應用。
16.根據(jù)權利要求15所述的通信裝置,其特征在于,所述通信裝置為車載藍牙設備。
全文摘要
一種通信裝置的中間件,包括應用程序接口層、服務層、驅動層;所述應用程序接口層包括藍牙應用程序接口,所述藍牙應用程序接口用于接收藍牙應用的服務請求,基于所述服務請求生成控制命令傳遞給服務層;所述服務層包括藍牙協(xié)議棧管理單元,所述藍牙協(xié)議棧管理單元用于管理藍牙協(xié)議棧中的各類藍牙協(xié)議和規(guī)范,根據(jù)藍牙應用程序接口傳遞的所述控制命令調用藍牙協(xié)議并對驅動層作出操作控制;所述驅動層包括HCI驅動單元,所述HCI驅動單元用于接受服務層的操作控制,驅動藍牙硬件模塊工作以完成藍牙應用。本發(fā)明提供的中間件簡化了藍牙協(xié)議棧使用的復雜性、可以提供跨平臺或跨操作系統(tǒng)的藍牙應用開發(fā)環(huán)境。
文檔編號H04B5/00GK101924582SQ20101024554
公開日2010年12月22日 申請日期2010年7月29日 優(yōu)先權日2010年7月29日
發(fā)明者施林, 沈堅 申請人:上海慧翰信息技術有限公司;上?;酆餐ㄐ偶夹g有限公司;福建慧翰信息技術有限公司