當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文介紹藍(lán)牙遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),給出了基于SmartPhone的系統(tǒng)解決方案,成功實(shí)現(xiàn)了對(duì)幻燈片的遙控播放和控制,系統(tǒng)采用了一種全新的方法以獲得實(shí)現(xiàn)藍(lán)牙通信所需的參數(shù),并且使用了Office自動(dòng)化過(guò)程實(shí)現(xiàn)對(duì)powerpoint的全面控制,系統(tǒng)完成后經(jīng)過(guò)測(cè)試運(yùn)行良好。與目前市場(chǎng)上的產(chǎn)品相比,不需要購(gòu)買(mǎi)額外的硬件設(shè)備,在SmartPhone平臺(tái)中具有廣泛的應(yīng)用前景。

1.引言

藍(lán)牙技術(shù)是一種解決短距離無(wú)線通信的技術(shù),它的優(yōu)勢(shì)在于可擺脫設(shè)備間的電纜連接 的束縛,并且能使10 一l00m 距離內(nèi)具有藍(lán)牙接口的不同設(shè)備之間實(shí)現(xiàn)互連,因此藍(lán)牙在 短技術(shù)短距數(shù)據(jù)傳輸中具有非常廣闊的應(yīng)用。

Windows Mobile 系統(tǒng)是Microsoft 公司為智能移動(dòng)終端設(shè)備設(shè)計(jì)的嵌入式操作系統(tǒng), Windows Mobile 系統(tǒng)主要針對(duì)兩大手持設(shè)備領(lǐng)域:Pocket Pc 和Smartphone,隨著技術(shù)的發(fā) 展,以Windows Mobile for Smartphone 為系統(tǒng)的智能手機(jī)使用越來(lái)越廣泛,而且廣泛內(nèi)嵌藍(lán) 牙模塊,為開(kāi)發(fā)基于SmartPhone 的藍(lán)牙應(yīng)用系統(tǒng)提供了必要條件。

本文在 Windows Mobile 5.0 平臺(tái)和.NET CF 環(huán)境下,設(shè)計(jì)并實(shí)現(xiàn)SmartPhone 藍(lán)牙遙 控器系統(tǒng),成功實(shí)現(xiàn)了Smartphone 對(duì)PC(或筆記本)中幻燈片的遙控播放和控制,與市場(chǎng) 上目前的產(chǎn)品相比,該系統(tǒng)不需要購(gòu)買(mǎi)額外的硬件設(shè)備,只需利用已有設(shè)備,在SmartPhone 平臺(tái)中具有廣泛的應(yīng)用前景。

2.Windows Mobile 中藍(lán)牙通信協(xié)議棧

Windows Mobile 系統(tǒng)下的藍(lán)牙通信協(xié)議棧底層部分包括無(wú)線跳頻、基帶(Base Band)和 鏈路管理(Link Manager)。Base Band 負(fù)責(zé)跳頻和藍(lán)牙數(shù)據(jù)及信息幀的傳輸,確保Piconet 網(wǎng) 內(nèi)各藍(lán)牙設(shè)備單元之間由射頻構(gòu)成的物理連接,該層使用查詢和尋呼進(jìn)程來(lái)使不同設(shè)備間的 發(fā)送頻率和時(shí)鐘同步,基帶數(shù)據(jù)分組提供同步定向連接SCO 和異步無(wú)定向連接ACL 兩種物 理連接方式,在同一射頻上可實(shí)現(xiàn)多路數(shù)據(jù)傳輸。Link Manager Protocol 負(fù)責(zé)藍(lán)牙組件間連 接的建立和拆除以及身份鑒別和加密等鏈路安全和控制。其結(jié)構(gòu)如圖1 所示。

HCI(Host Controller Interface)分為硬件和軟件部分,硬件部分用來(lái)傳遞HCI 命令至藍(lán) 牙的硬件核心層,軟件部分是訪問(wèn)藍(lán)牙設(shè)備的基本接口,能夠控制藍(lán)牙的連接和傳輸。邏輯 鏈路控制適應(yīng)協(xié)議(L2CAP)是高層協(xié)議和低層協(xié)議之間的一個(gè)適配協(xié)議,通過(guò)協(xié)議的復(fù)用、 分用及重組為高層提供數(shù)據(jù)業(yè)務(wù)和分類提取。SDP 協(xié)議用來(lái)查詢?cè)O(shè)備的信息、服務(wù)及服務(wù) 特征,并在查詢后建立藍(lán)牙設(shè)備間的連接。在應(yīng)用層實(shí)現(xiàn)藍(lán)牙通信時(shí)有兩種方式可以選擇: 一是利用模擬串口,在Windows Mobile 中不是真正的串口而是虛擬串口,這種虛擬串口建 立在RFCOMM 通道上,虛擬串口是用來(lái)仿真RS-232 控制和數(shù)據(jù)信號(hào)的串行仿真協(xié)議,操 作虛擬串口時(shí)如同操作真正的串口。第二種通信方式則利用Winsock 協(xié)議,Winsock 對(duì)藍(lán)牙 的支持依賴于設(shè)備中安裝的Winsock 協(xié)議棧。使用虛擬串口實(shí)現(xiàn)藍(lán)牙設(shè)備間的通信,在數(shù)據(jù) 通信量不大的情況下更加方便快捷,所以本設(shè)計(jì)采用的第一種通信方式。

3.系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

3.1 系統(tǒng)結(jié)構(gòu)

系統(tǒng)分為 SmartPhone 端和PC 端。首先SmartPhone 端與PC 端通過(guò)虛擬串行口建立藍(lán)牙 的通信連接,然后SmartPhone 端通過(guò)鍵盤(pán)或觸摸屏向PC 端發(fā)送文件打開(kāi)、幻燈片播放、 翻頁(yè)、關(guān)閉、窗口放大、窗口縮小、文件關(guān)閉等指令,PC 端在收到指令后調(diào)用后臺(tái)Office Powerpoint 控制程序,實(shí)現(xiàn)對(duì)Powerpoint 對(duì)應(yīng)的操作,同時(shí)PC 端傳回Powerpoint 播放的狀 態(tài)信息在SmartPhone 端進(jìn)行顯示。

3.2 藍(lán)牙設(shè)備間的數(shù)據(jù)傳輸

SmartPhone 端在利用藍(lán)牙模塊與PC 端進(jìn)行通信前,首先要對(duì)PC 端的藍(lán)牙設(shè)備進(jìn)行查 詢搜索,來(lái)獲得設(shè)備的名稱、地址、所提供的服務(wù)等相關(guān)信息。在以往的系統(tǒng)設(shè)計(jì)中,設(shè)備 查詢需要調(diào)用相關(guān)的藍(lán)牙API 函數(shù)來(lái)遍歷取得通信范圍內(nèi)的藍(lán)牙設(shè)備信息,并將結(jié)果信息 存入系統(tǒng)定義的WSAQUERYSET 數(shù)據(jù)結(jié)構(gòu)中,然后再通過(guò)注冊(cè)虛擬串口,實(shí)現(xiàn)設(shè)備間的藍(lán) 牙串行通信,整個(gè)過(guò)程復(fù)雜并且容易出錯(cuò),或者有的系統(tǒng)干脆采用手工指定的方式。本系統(tǒng) 則采取一種新的方法,通過(guò)讀取系統(tǒng)的注冊(cè)表,來(lái)查詢相關(guān)的藍(lán)牙設(shè)備名稱、服務(wù)以及使用 的虛擬串口號(hào)。在Windows Mobile 5.0 平臺(tái)中, 注冊(cè)表HKEY_LOCAL_MACHINESOFTWAREMicrosoftBluetoothDevice 下存儲(chǔ)了藍(lán)牙設(shè)備的設(shè) 備名稱、16 位字符的ID 號(hào)以及設(shè)備的CLASS , 而 HKEY_LOCAL_MACHINESOFTWAREMicrosoftBluetoothSerialPorts 下則存儲(chǔ)了藍(lán)牙連 接所使用的虛擬串口號(hào),但不包含系統(tǒng)保留的串口標(biāo)識(shí)。在這個(gè)鍵值下系統(tǒng)為每一個(gè)匹配的 設(shè)備都設(shè)定了一個(gè)藍(lán)牙串口號(hào),而且可以通過(guò)指定"New Outgoing Port"值設(shè)定設(shè)備的新虛擬 串口號(hào)。

利用這種新的機(jī)制就不在需要使用傳統(tǒng)的RegisterDevice()方法去注冊(cè)虛擬串口號(hào) 然后使用,而是通過(guò)查詢或設(shè)定注冊(cè)表進(jìn)行使用,而不與別的串口相沖突。 通過(guò)對(duì)以上方法獲得設(shè)備及虛擬串口號(hào)的信息后,再利用這些信息實(shí)現(xiàn) SmartPhone 端 和PC 端的藍(lán)牙通信。通信過(guò)程的流程圖如圖2 所示:

3.3 Powerpoint 控制解決方案

系統(tǒng)采用方便靈活的Microsoft Office 自動(dòng)化方法將 Office 功能并入自定義解決方案 中。Office 基于 COM,因此必須使用 COM 的編程方式。.NET Framework 中使用COM Interop 集實(shí)現(xiàn)與早期 COM 的通信。COM Interop 的作用是在 .NET 代碼與COM 對(duì)象之 間添加一個(gè)“填充程序”。在項(xiàng)目中添加對(duì) COM 服務(wù)器的引用時(shí),.NET 使用類型信息生 成運(yùn)行庫(kù)可調(diào)用包裝 (RCW) 的代碼。這些托管代碼將被編譯到單獨(dú)的Interop 程序集中, 并由 .NET Framework 訪問(wèn),RCW 充當(dāng)托管代碼與 COM 服務(wù)器之間的媒介。

由于 OFFICE COM 服務(wù)器能夠支持 .NET,它可以提供一個(gè)安裝并注冊(cè)到全局程序集緩 存中的主 Interop 程序集 (PIA)。這些程序集都是共享程序集,PIA 被視為在 .NET 項(xiàng)目中 引用早期 COM 服務(wù)器的最佳方法。

從類型庫(kù)創(chuàng)建的 Interop 程序集使用早期綁定與 COM 項(xiàng)目進(jìn)行通信。為了讓綁定細(xì)節(jié)保持通用狀態(tài),除了綁定外,另一個(gè)重要問(wèn)題是對(duì)象實(shí)例化。如果使用 Interop 程序集, Office 應(yīng)用程序的 RCW 將在使用 New 運(yùn)算符時(shí)控制對(duì)象實(shí)例化。RCW 隱含調(diào)用相應(yīng)的 COM 例程來(lái)創(chuàng)建該應(yīng)用程序的新實(shí)例供代碼使用。

本系統(tǒng)通過(guò)引用互操作程序集 Microsoft.Office.Interop.PowerPoint 實(shí)現(xiàn)Office 自動(dòng)化過(guò) 程,利用.NET 編寫(xiě)應(yīng)用程序來(lái)實(shí)現(xiàn)在PC 端控制Powerpoint 應(yīng)用程序。PC 端通過(guò)藍(lán)牙通信 接收SmartPhone 端發(fā)來(lái)的指令,利用 Powerpoint 的自動(dòng)化功能實(shí)現(xiàn)文檔的打開(kāi)、關(guān)閉、縮 放、播放等控制功能,并且將獲得的Powerpoint 的總頁(yè)數(shù)、當(dāng)前播放頁(yè)等信息返回給 SmartPhone 端進(jìn)行顯示。理論上來(lái)說(shuō)通過(guò)用戶界面手動(dòng)執(zhí)行的操作幾乎都可以通過(guò)該解決 方案來(lái)執(zhí)行。主要控制代碼如下:



4.結(jié)束語(yǔ)

本文就藍(lán)牙遙控系統(tǒng)提出了相應(yīng)解決方案,進(jìn)行了設(shè)計(jì)與開(kāi)發(fā), 系統(tǒng)完成后經(jīng)過(guò)測(cè) 試運(yùn)行良好,可方便快捷的實(shí)現(xiàn)對(duì)Powerpoint 進(jìn)行遙控控制。按照以上給出的設(shè)計(jì)框架和 方法,對(duì)系統(tǒng)進(jìn)行擴(kuò)展后,完全可以實(shí)現(xiàn)對(duì)其它多種應(yīng)用軟件的遙控,實(shí)現(xiàn)通用藍(lán)牙遙控器 系統(tǒng)。

本文創(chuàng)新點(diǎn)是系統(tǒng)采用了一種全新的方法以獲得藍(lán)牙通信所需的參數(shù),與傳統(tǒng)方法 相比更加簡(jiǎn)單、方便,不易出錯(cuò)。并且系統(tǒng)使用了Office 自動(dòng)化技術(shù)實(shí)現(xiàn)對(duì)powerpoint 的 全面控制,該系統(tǒng)不需要購(gòu)買(mǎi)額外的硬件設(shè)備,只需利用已有設(shè)備,在SmartPhone 平臺(tái) 中具有廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉