<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于SmartPhone 的藍牙遙控系統設計與實(shí)現

基于SmartPhone 的藍牙遙控系統設計與實(shí)現

作者: 時(shí)間:2010-02-01 來(lái)源:網(wǎng)絡(luò ) 收藏

3.

3.1 結構

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

3.2 設備間的數據傳輸

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

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

3.3 Powerpoint 控制解決方案

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

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

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>