專利名稱:基于手機(jī)的游戲遙控方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于手機(jī)的游戲遙控方法,特別涉及一種基于具備無(wú)線通信及加速度傳感器的手機(jī)的遙控方法。
背景技術(shù):
所謂藍(lán)牙(Bluetooth)技術(shù),實(shí)際上是一種短距離無(wú)線通信技術(shù),最大的優(yōu)點(diǎn)就是電子裝置彼此可以透過(guò)藍(lán)牙而連接起來(lái),省去了傳統(tǒng)的電線。透過(guò)芯片上的無(wú)線接收器, 配有藍(lán)牙技術(shù)的電子產(chǎn)品能夠在十米的距離內(nèi)彼此相通,傳輸速度可以達(dá)到每秒鐘1MB。 比起以往的紅外線接口的傳輸技術(shù)需要電子裝置在視線之內(nèi)的距離,藍(lán)牙技術(shù)只要在有效范圍內(nèi),可以穿透不同的物質(zhì),不限角度進(jìn)行設(shè)備間的互聯(lián),方便性大大增強(qiáng)。而比起WIFI 無(wú)線功能,藍(lán)牙雖然速度上略有不及,但卻要更省電,更節(jié)省資源更環(huán)保,以及對(duì)人體有害的電磁輻射的危害也要更小。因此,利用“藍(lán)牙”技術(shù),能夠有效地簡(jiǎn)化掌上電腦、筆記本電腦和移動(dòng)電話手機(jī)等移動(dòng)通信終端設(shè)備之間的通信,也能夠成功地簡(jiǎn)化以上這些設(shè)備與 Internet之間的通信,從而使這些現(xiàn)代通信設(shè)備與因特網(wǎng)之間的數(shù)據(jù)傳輸變得更加迅速高效,為無(wú)線通信拓寬道路。由于相比其它無(wú)線通信技術(shù),藍(lán)牙技術(shù)具有低功耗,高速率,抗干擾性強(qiáng)等特點(diǎn), 現(xiàn)有技術(shù)已越來(lái)越多地將其應(yīng)用到許多電子產(chǎn)品中。特別實(shí)在手機(jī)中,對(duì)于數(shù)據(jù)的傳輸,藍(lán)牙往往發(fā)揮重要作用。帶有藍(lán)牙功能的手機(jī),一方面可作為host端,如連接藍(lán)牙耳機(jī),通過(guò)耳機(jī)撥打或接通電話,或者通過(guò)連接藍(lán)牙小鍵盤操控手機(jī)等;另一方面也可作為device 端,如PC端裝有藍(lán)牙適配器,并且安裝了相關(guān)軟件,則手機(jī)可成為電腦遙控器,實(shí)現(xiàn)對(duì)電腦的遙控操作等。然而,盡管現(xiàn)有技術(shù)中已經(jīng)具備了通過(guò)手機(jī)的藍(lán)牙功能實(shí)現(xiàn)對(duì)PC端的遙控操作, 該項(xiàng)操作往往僅限于普通的鍵盤操作,對(duì)于某些特殊場(chǎng)合,特別是將手機(jī)作為電腦的游戲遙控器的場(chǎng)合下,手機(jī)僅通過(guò)鍵盤操作來(lái)實(shí)現(xiàn)對(duì)電腦的遙控操作顯然是不夠的。尤其實(shí)在需要實(shí)現(xiàn)某些動(dòng)作類游戲角色的動(dòng)作的力度,幅度和加速度的情況下,僅通過(guò)鍵盤實(shí)現(xiàn),操作起來(lái)十不方便。因此,如何提供一種方法,能夠便捷地實(shí)現(xiàn)動(dòng)作的力度,幅度和加速度等遙控操作,已成為本領(lǐng)域技術(shù)人員需要解決的內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明的所要解決的技術(shù)方案是提供一種基于手機(jī)的游戲遙控方法,以解決現(xiàn)有技術(shù)的不足。為解決上述技術(shù)方案,本發(fā)明提供一種基于手機(jī)的游戲遙控方法,包括以下步驟 步驟A、手機(jī)響應(yīng)PC機(jī)發(fā)出的藍(lán)牙搜索信號(hào),啟動(dòng)包括傳感器API模塊及手機(jī)藍(lán)牙應(yīng)用模塊的用戶進(jìn)程,并根據(jù)PC機(jī)的請(qǐng)求向PC機(jī)發(fā)送服務(wù)記錄信息,建立與PC機(jī)之間的藍(lán)牙通信; 步驟B、所述傳感器API模塊啟動(dòng)包括傳感器通信模塊、傳感器驅(qū)動(dòng)模塊及傳感器維護(hù)模塊的傳感器進(jìn)程;所述傳感器驅(qū)動(dòng)模塊通過(guò)所述傳感器通信模塊,以預(yù)設(shè)定的協(xié)議讀取加速度傳感器芯片輸出的數(shù)據(jù),并將上述數(shù)據(jù)輸入所述傳感器維護(hù)模塊中,所述傳感器維護(hù)模塊能夠根據(jù)所述加速度傳感器芯片輸出的數(shù)據(jù)進(jìn)行動(dòng)作判斷,并將判斷結(jié)果作為動(dòng)作通知發(fā)出;所述傳感器API模塊調(diào)用所述傳感器維護(hù)模塊中的傳感器功能接口,直接讀取所述傳感器驅(qū)動(dòng)模塊接收到的所述加速度傳感器芯片輸出的數(shù)據(jù),或接收所述動(dòng)作通知;所述手機(jī)藍(lán)牙應(yīng)用模塊設(shè)置定時(shí)器,定時(shí)從所述傳感器API模塊中讀取所述加速度傳感器芯片輸出的數(shù)據(jù)或接收所述動(dòng)作通知,并向通過(guò)中斷信道向所述PC機(jī)發(fā)送,以便所述PC機(jī)接收到所述加速度傳感器芯片輸出的數(shù)據(jù)或所述動(dòng)作通知后進(jìn)行進(jìn)一步的操作;步驟C、手機(jī)響應(yīng)所述PC機(jī)的斷開請(qǐng)求,斷開與所述PC機(jī)之間的連接。作為本發(fā)明的優(yōu)選方案之一,所述步驟A具體為步驟Al、手機(jī)收到所述PC機(jī)發(fā)出的藍(lán)牙設(shè)備搜索信息,手機(jī)啟動(dòng)所述用戶進(jìn)程,所述藍(lán)牙應(yīng)用模塊響應(yīng)所述PC機(jī)的藍(lán)牙設(shè)備搜索信息;步驟A2、手機(jī)與PC機(jī)進(jìn)行配對(duì)和鑒權(quán);步驟A3、手機(jī)收到所述PC機(jī)的搜索手機(jī)藍(lán)牙服務(wù)請(qǐng)求,向所述PC機(jī)返回服務(wù)記錄信息;步驟A4、手機(jī)收到所述PC機(jī)發(fā)送的控制信道連接請(qǐng)求,并接受該請(qǐng)求;步驟A5、手機(jī)通過(guò)控制信道發(fā)送數(shù)據(jù),告知PC機(jī)手機(jī)藍(lán)牙設(shè)備已連接;步驟A6、手機(jī)收到所述PC機(jī)發(fā)送的中斷信道連接請(qǐng)求,并接受該請(qǐng)求,則手機(jī)與PC機(jī)之間的藍(lán)牙通信建立。作為本發(fā)明的優(yōu)選方案之一,所述步驟C具體為步驟Cl、手機(jī)通過(guò)中斷信道收到 PC機(jī)發(fā)送的斷開事件后,通過(guò)控制信道向PC機(jī)發(fā)送表示準(zhǔn)備斷開藍(lán)牙設(shè)備的數(shù)據(jù);步驟 C2、手機(jī)收到PC機(jī)發(fā)出的控制信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開控制信道的連接;步驟C3、手機(jī)收到PC機(jī)發(fā)出的中斷信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開中斷信道的連接。作為本發(fā)明的優(yōu)選方案之一,所述手機(jī)與所述PC機(jī)之間按照藍(lán)牙HID協(xié)議進(jìn)行連接與數(shù)據(jù)傳輸。作為本發(fā)明的優(yōu)選方案之一,所述加速度傳感器芯片輸出的數(shù)據(jù)為反映加速度矢量在空間三維坐標(biāo)X,1,Z上的分量值。作為本發(fā)明的優(yōu)選方案之一,進(jìn)行動(dòng)作判斷的方法為對(duì)于X,y, ζ三個(gè)坐標(biāo)軸,分別計(jì)算每一坐標(biāo)軸上相鄰兩個(gè)極值的差,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大小。作為本發(fā)明的優(yōu)選方案之一,所述進(jìn)行動(dòng)作并判斷的方法,具體包括以下步驟步驟1、設(shè)置Fl (n) =0,F2(n) = 0,并獲取加速度矢量在x,y,ζ坐標(biāo)上的分量值;步驟2、分別獲取加速度矢量在X,1,ζ坐標(biāo)上的分量值的相鄰極值步驟3、分別將X,y, ζ坐標(biāo)上的分量值的相鄰極值相減,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大小;其中,步驟2 具體為分別對(duì)X,1,ζ軸上的分量值進(jìn)行以下操作步驟21、判斷分量值Vn是否到達(dá)預(yù)訂的幅度值,若沒(méi)有到達(dá),則返回步驟1,若到達(dá),則進(jìn)入步驟22 ;步驟22、判斷Fl (η)是否為零,若是,則令Fl (n) =Vn, F2 (η) = Vn,若否,則進(jìn)入步驟23 ;步驟23、判斷Vn是否大于 Fl (η),若是,則令Fl (n) =Vn, F2 (η) = Vn,若否,則進(jìn)入步驟M ;步驟Μ、判斷Vn是否小于F2(n),若是,則令F2(n) =Vn, F2 (η) = Vn,若否,則進(jìn)入步驟34 ;步驟3具體為在x, y,ζ坐標(biāo)上,分別計(jì)算Fl (n) -F2 (η)的絕對(duì)值差值,并根據(jù)獲得的三個(gè)絕對(duì)值差值判斷動(dòng)作的方向及力度大?。黄渲校?= x、y、z。作為本發(fā)明的優(yōu)選方案之一,所述傳感器API模塊還包括設(shè)置動(dòng)作屬性參數(shù)的功能,所述動(dòng)作屬性參數(shù)為用于手機(jī)應(yīng)用動(dòng)作的屬性參數(shù),包括設(shè)置需要的動(dòng)作類型類型,及設(shè)置動(dòng)作產(chǎn)生的幅度值。作為本發(fā)明的優(yōu)選方案之一,所述傳感器驅(qū)動(dòng)模塊還包括模式設(shè)置的功能,所述模式包括默認(rèn)的數(shù)據(jù)讀取模式、省電模式、及中斷模式。作為本發(fā)明的優(yōu)選方案之一,所述傳感器通信模塊采用的協(xié)議為I2C或UART。本發(fā)明的有益效果在于能夠通過(guò)揮動(dòng)手機(jī)實(shí)現(xiàn)對(duì)電腦游戲的操控,具有極佳的游戲代入感。
圖1為手機(jī)端的原理框圖。圖2為本發(fā)明提供的基于手機(jī)的游戲遙控方法的流程圖。圖3為進(jìn)行動(dòng)作判斷的方法的流程圖。
具體實(shí)施例方式下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的優(yōu)選實(shí)施例。請(qǐng)參閱圖1,本發(fā)明提供的基于手機(jī)的游戲遙控方法中,手機(jī)端主要包括用戶進(jìn)程及傳感器進(jìn)程。其中,用戶進(jìn)程又包括手機(jī)藍(lán)牙HID應(yīng)用模塊及傳感器API模塊;傳感器進(jìn)程又包括傳感器維護(hù)模塊、傳感器驅(qū)動(dòng)模塊及傳感器通信模塊。手機(jī)藍(lán)牙HID應(yīng)用模塊主要用于與PC機(jī)之間的藍(lán)牙數(shù)據(jù)傳輸,其傳輸?shù)臄?shù)據(jù)來(lái)源于傳感器API模塊。傳感器API模塊提供了用戶進(jìn)程與傳感器進(jìn)程之間的功能接口,負(fù)責(zé)傳感器的啟動(dòng)和停止,讀取傳感器進(jìn)程輸出的數(shù)據(jù),也能夠設(shè)置動(dòng)作屬性參數(shù),所述動(dòng)作屬性參數(shù)主要為用于手機(jī)某些應(yīng)用動(dòng)作的屬性參數(shù),如設(shè)置需要的動(dòng)作類型,設(shè)置動(dòng)作產(chǎn)生的幅度值等。此外,傳感器API模塊還維護(hù)應(yīng)用屬性信息,并在傳感器進(jìn)程發(fā)出動(dòng)作通知時(shí)執(zhí)行通過(guò)手機(jī)藍(lán)牙HID應(yīng)用模塊向PC機(jī)發(fā)送動(dòng)作通知,或向手機(jī)其他進(jìn)程或模塊發(fā)送動(dòng)作通知。傳感器通信模塊主要根據(jù)預(yù)設(shè)定的協(xié)議(比如I2C、UART等),讀取安裝在手機(jī)內(nèi)的加速度傳感器芯片輸出的加速度矢量在空間三維坐標(biāo)X,1, Z上的分量值。加速度驅(qū)動(dòng)模塊能夠開啟或關(guān)閉加速度傳感器芯片,并能夠設(shè)置相應(yīng)的模式,通常,開啟加速度傳感器芯片后即進(jìn)入默認(rèn)的數(shù)據(jù)讀取模式。當(dāng)加速度傳感器芯片暫時(shí)不啟用時(shí),可進(jìn)入省電模式。還包括應(yīng)對(duì)突發(fā)事件的中斷模式。當(dāng)開啟數(shù)據(jù)讀取時(shí),加速度驅(qū)動(dòng)模塊將傳感器通信模塊輸出的χ,y,ζ值輸入傳感器維護(hù)模塊中。傳感器維護(hù)模塊具有供傳感器API模塊調(diào)用的傳感器功能接口,以便與傳感器API模塊之間進(jìn)行數(shù)據(jù)交互。傳感器維護(hù)模塊具有查詢傳感器驅(qū)動(dòng)模塊輸出的χ,ι, ζ值,并根據(jù)預(yù)存儲(chǔ)的動(dòng)作判斷算法(如旋轉(zhuǎn)、甩動(dòng)、計(jì)步器等)判斷動(dòng)作,并將判斷結(jié)果作為動(dòng)作通知發(fā)出的功能。傳感器維護(hù)模塊能夠根據(jù)傳感器 API模塊的指令直接輸出x,y,z值或輸出動(dòng)作通知。傳感器維護(hù)模塊還具有應(yīng)用訪問(wèn)沖突處理的功能,防止沖突訪問(wèn)造成的問(wèn)題。其中,x,y,z值為當(dāng)手機(jī)產(chǎn)生運(yùn)動(dòng)時(shí),加速度傳感器芯片通過(guò)檢測(cè)手機(jī)在空間坐標(biāo)χ,ι, ζ三個(gè)方向的加速度,經(jīng)過(guò)A/D轉(zhuǎn)換,輸出相應(yīng)的χ, y,ζ三個(gè)方向上的分量值并保存于寄存器中待輸出。即,手機(jī)調(diào)用傳感器API模塊,進(jìn)而調(diào)用傳感器維護(hù)模塊的功能接口,進(jìn)而調(diào)用傳感器驅(qū)動(dòng)模塊的接口,最后傳感器驅(qū)動(dòng)模塊的接口通過(guò)傳感器通信模塊對(duì)加速度傳感器芯片進(jìn)行讀寫操作。若手機(jī)設(shè)置需要檢測(cè)的動(dòng)作,則傳感器維護(hù)模塊內(nèi)部設(shè)置定時(shí)器讀取數(shù)據(jù)并進(jìn)行動(dòng)作計(jì)算,如果產(chǎn)生動(dòng)作則通知傳感器API模塊,傳感器API模塊再通知藍(lán)牙應(yīng)用模塊。請(qǐng)參閱圖1及圖2,本發(fā)明提供的基于手機(jī)的游戲遙控方法包括以下步驟步驟1、手機(jī)收到所述PC機(jī)發(fā)出的藍(lán)牙設(shè)備搜索信息,手機(jī)啟動(dòng)用戶進(jìn)程,用戶進(jìn)程中的藍(lán)牙應(yīng)用模塊響應(yīng)所述PC機(jī)的藍(lán)牙設(shè)備搜索信息;步驟2、手機(jī)與PC機(jī)進(jìn)行配對(duì)和鑒權(quán);步驟3、手機(jī)收到所述PC機(jī)的搜索手機(jī)藍(lán)牙服務(wù)請(qǐng)求,向所述PC機(jī)返回HID服務(wù)
記錄信息;步驟4、手機(jī)收到所述PC機(jī)發(fā)送的HID控制信道連接請(qǐng)求,并接受該請(qǐng)求;步驟5、手機(jī)通過(guò)控制信道發(fā)送數(shù)據(jù),告知PC機(jī)手機(jī)藍(lán)牙設(shè)備已連接;步驟6、手機(jī)收到所述PC機(jī)發(fā)送的HID中斷信道連接請(qǐng)求,并接受該請(qǐng)求,則手機(jī)與PC機(jī)之間的藍(lán)牙通信建立。步驟7、手機(jī)啟動(dòng)傳感器進(jìn)程及加速度傳感器芯片,讀取位于手機(jī)內(nèi)的加速度傳感器芯片輸出的加速度矢量在空間三維坐標(biāo)X,y,Z上的分量值,并通過(guò)中斷信道發(fā)送該X,y, Z的值至PC機(jī);或者,手機(jī)讀取加速度傳感器芯片輸出的加速度矢量在空間三維坐標(biāo)x,y, ζ上的分量值后,進(jìn)行動(dòng)作判斷,并將判斷結(jié)果作為動(dòng)作通知輸出;步驟8、PC機(jī)接收到所述加速度傳感器芯片輸出的數(shù)據(jù)或所述動(dòng)作通知后進(jìn)行根據(jù)當(dāng)下軟件的要求進(jìn)一步的操作;步驟9、當(dāng)PC機(jī)不再需要手機(jī)提供數(shù)據(jù)時(shí),PC機(jī)發(fā)送斷開事件,手機(jī)通過(guò)中斷信道收到PC機(jī)發(fā)送的斷開事件后,通過(guò)控制信道向PC機(jī)發(fā)送表示準(zhǔn)備斷開藍(lán)牙設(shè)備的數(shù)據(jù);步驟10、手機(jī)收到PC機(jī)發(fā)出的控制信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開控制信道的連接;步驟11、手機(jī)收到PC機(jī)發(fā)出的中斷信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開中斷信道的連接,并關(guān)閉加速度傳感器芯片。其中,步驟7可具體為所述傳感器API模塊啟動(dòng)包括傳感器通信模塊、傳感器驅(qū)動(dòng)模塊及傳感器維護(hù)模塊的傳感器進(jìn)程;所述傳感器驅(qū)動(dòng)模塊通過(guò)所述傳感器通信模塊, 以預(yù)設(shè)定的協(xié)議讀取加速度傳感器芯片輸出的數(shù)據(jù),并將上述數(shù)據(jù)輸入所述傳感器維護(hù)模塊中,所述傳感器維護(hù)模塊能夠根據(jù)所述加速度傳感器芯片輸出的數(shù)據(jù)進(jìn)行動(dòng)作判斷,并將判斷結(jié)果作為動(dòng)作通知發(fā)出;所述傳感器API模塊調(diào)用所述傳感器維護(hù)模塊中的傳感器功能接口,直接讀取所述傳感器驅(qū)動(dòng)模塊接收到的所述加速度傳感器芯片輸出的數(shù)據(jù),或接收所述動(dòng)作通知;所述手機(jī)藍(lán)牙應(yīng)用模塊設(shè)置定時(shí)器,定時(shí)(一較佳實(shí)施例為IOms)從所述傳感器API模塊中讀取所述加速度傳感器芯片輸出的數(shù)據(jù)或接收所述動(dòng)作通知,并向通過(guò)HID中斷信道向所述PC機(jī)發(fā)送,以便所述PC機(jī)接收到所述加速度傳感器芯片輸出的數(shù)據(jù)或所述動(dòng)作通知后進(jìn)行進(jìn)一步的操作。通常情況下,為了達(dá)到更好的游戲效果,以直接發(fā)送所述加速度傳感器芯片輸出的數(shù)據(jù)為較佳方案。步驟7中,進(jìn)行動(dòng)作判斷的方法為對(duì)于x,y,ζ三個(gè)坐標(biāo)軸,分別計(jì)算每一坐標(biāo)軸上相鄰兩個(gè)極值的差,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大小。具體包括以下步驟步驟71、設(shè)置Fl (η) = 0, F2 (η) = 0,并獲取加速度矢量在x,y, ζ坐標(biāo)上的分量值;其中,η = x、y、Z,F(xiàn)l(n)及F2 (η)表示記錄的閾值;步驟72、分別獲取加速度矢量在X,y, ζ坐標(biāo)上的分量值的相鄰極值,相鄰極值為相鄰的最大值與最小值步驟73、分別將X,y, ζ坐標(biāo)上的分量值的相鄰極值相減,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大??;其中,步驟72具體為分別對(duì)X,y,ζ軸上的分量值進(jìn)行以下操作步驟721、判斷分量值Vn是否到達(dá)預(yù)訂的幅度值,若沒(méi)有到達(dá),則返回步驟1,若到達(dá),則進(jìn)入步驟722 ;步驟722、判斷Fl (η)是否為零,若是,則令Fl (η) = Vn,F2 (η) =Vn,若否,則進(jìn)入步驟23 ;本步驟能夠降低噪聲干擾帶來(lái)的影響;步驟723、判斷Vn是否大于Fl (η),若是,則令Fl (n) = Vn, F2 (η) =Vn,若否,則進(jìn)入步驟M ;步驟724、判斷Vn是否小于F2 (η),若是,則令F2 (n) = Vn, F2 (η) =Vn,若否,則進(jìn)入步驟34 ;經(jīng)過(guò)步驟723及步驟724,F(xiàn)l (η)記錄了最大值,F(xiàn)2 (η)記錄了最小值;步驟73具體為在X,y,ζ坐標(biāo)上,分別計(jì)算Fl (η) _F2 (η)的絕對(duì)值差值,并根據(jù)獲得的三個(gè)絕對(duì)值差值判斷動(dòng)作的方向及力度大小。綜上所述,PC端藍(lán)牙搜索到手機(jī)后發(fā)起HID連接(連接過(guò)程中可能提示輸入密碼),在建立連接之前,PC端通過(guò)藍(lán)牙的服務(wù)發(fā)現(xiàn)協(xié)議(SDP),獲取手機(jī)的HID服務(wù)記錄信息,根據(jù)其報(bào)告描述符確定是否可以建立HID連接。連接成功后,PC為主機(jī)(Host)端,手機(jī)為設(shè)備(Device)端,雙方即可實(shí)現(xiàn)無(wú)線通訊。手機(jī)會(huì)持續(xù)地向PC發(fā)送加速度傳感器數(shù)據(jù)或動(dòng)作通知,PC端算法會(huì)對(duì)數(shù)據(jù)進(jìn)行處理,計(jì)算出相應(yīng)的游戲動(dòng)作,從而通過(guò)手機(jī)可以無(wú)線遙控PC游戲。手機(jī)端設(shè)定一個(gè)定時(shí)器每隔IOms讀取x,y,ζ值并按照規(guī)定的數(shù)據(jù)格式發(fā)送給PC (也可發(fā)送手機(jī)按鍵事件,但發(fā)送手機(jī)按鍵事件為現(xiàn)有技術(shù),在此不再詳述),PC在接收到數(shù)據(jù)后進(jìn)行分析并處理,轉(zhuǎn)化為相應(yīng)的游戲動(dòng)作,從而實(shí)現(xiàn)手機(jī)作為游戲遙控器的功能。其中,根據(jù)藍(lán)牙服務(wù)發(fā)現(xiàn)協(xié)議(SDP),手機(jī)端需要注冊(cè)HID的服務(wù)記錄信息,除包含標(biāo)準(zhǔn)的字段外,還包括一項(xiàng)是報(bào)告描述符(Report Descriptor),該描述符說(shuō)明了手機(jī)作為HID的device端可以支持的設(shè)備類型,發(fā)送數(shù)據(jù)的格式等等。具體見下0x06,0x00,Oxff, /氺USAGE Page(Vendor defined),氺/0x09,0x01,/*USAGE(1),*/0xal,0x01,/^Collection(Application),0x85,HID_REP0RT_ID_F0R_VEND0R,/* R印ort ID(16),*/0x15,0x00,/* Logical Minimum(O),*/0x25,Oxff,L0GICAL_AXIMUM(255),0x75,0x08,REP0RT_SIZE(8),0x95,HID_REP0RT_LENGTH_F0R_VEND0R, /* REP0RT_C0UNT(17),*/0x09,0x01,/* USAGE(1),*/
0x81,0x00,/* INPUT(Data),*/0x09,0x02,USAGE (2),0x91,0x00,Output(Data, Variable, Absolute),0x09,0x03,/* USAGE (3),*/Oxb1,0x00,Feature(Data, Variable, Absolute),OxcO/氺 End Collection 氺/如按下手機(jī)按鍵1時(shí),手機(jī)通過(guò)藍(lán)牙發(fā)送的數(shù)據(jù)包為10,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00如果某一時(shí)刻讀取傳感器x,y,ζ的偏移量分別為0x10,0x20,0x30,則發(fā)送的數(shù)據(jù)包為10,00,00,00,01,00,00,00,00,00,00,00,10,20,30,00,00以上方案中,PC端游戲采用第三方方案。本發(fā)明提供的方法可以通過(guò)手機(jī)遙控實(shí)現(xiàn)游戲的功能,由于增加了傳感器,具有一般手機(jī)沒(méi)有的游戲控制功能,使用戶在閑暇時(shí)還能通過(guò)手機(jī)享受游戲功能。其能實(shí)現(xiàn)極佳的游戲效果,比如在羽毛球游戲中,無(wú)需通過(guò)按鍵,而能夠通過(guò)揮動(dòng)手機(jī)來(lái)完成發(fā)球或回球動(dòng)作,扣殺力量及方向取決于揮動(dòng)手機(jī)的速度和角度;在標(biāo)槍游戲中,上下?lián)]動(dòng)手機(jī), 人物開始跑動(dòng),持續(xù)快速揮動(dòng)手機(jī)使人物加速,在投鄭狀態(tài)時(shí)揮動(dòng)手機(jī)可將標(biāo)槍投出,投出角度與揮動(dòng)力度有關(guān)等等。具有更強(qiáng)的游戲代入感。以上實(shí)施例僅用以說(shuō)明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,比如,采用除HID以外的本領(lǐng)域技術(shù)人員熟知的協(xié)議進(jìn)行通信等,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種基于手機(jī)的游戲遙控方法,其特征在于,包括以下步驟步驟A、手機(jī)響應(yīng)PC機(jī)發(fā)出的藍(lán)牙搜索信號(hào),啟動(dòng)包括傳感器API模塊及手機(jī)藍(lán)牙應(yīng)用模塊的用戶進(jìn)程,并根據(jù)PC機(jī)的請(qǐng)求向PC機(jī)發(fā)送服務(wù)記錄信息,建立與PC機(jī)之間的藍(lán)牙通信;步驟B、所述傳感器API模塊啟動(dòng)包括傳感器通信模塊、傳感器驅(qū)動(dòng)模塊及傳感器維護(hù)模塊的傳感器進(jìn)程;所述傳感器驅(qū)動(dòng)模塊通過(guò)所述傳感器通信模塊,以預(yù)設(shè)定的協(xié)議讀取加速度傳感器芯片輸出的數(shù)據(jù),并將上述數(shù)據(jù)輸入所述傳感器維護(hù)模塊中,所述傳感器維護(hù)模塊能夠根據(jù)所述加速度傳感器芯片輸出的數(shù)據(jù)進(jìn)行動(dòng)作判斷,并將判斷結(jié)果作為動(dòng)作通知發(fā)出;所述傳感器API模塊調(diào)用所述傳感器維護(hù)模塊中的傳感器功能接口,直接讀取所述傳感器驅(qū)動(dòng)模塊接收到的所述加速度傳感器芯片輸出的數(shù)據(jù),或接收所述動(dòng)作通知; 所述手機(jī)藍(lán)牙應(yīng)用模塊設(shè)置定時(shí)器,定時(shí)從所述傳感器API模塊中讀取所述加速度傳感器芯片輸出的數(shù)據(jù)或接收所述動(dòng)作通知,并向通過(guò)中斷信道向所述PC機(jī)發(fā)送,以便所述PC機(jī)接收到所述加速度傳感器芯片輸出的數(shù)據(jù)或所述動(dòng)作通知后進(jìn)行進(jìn)一步的操作; 步驟C、手機(jī)響應(yīng)所述PC機(jī)的斷開請(qǐng)求,斷開與所述PC機(jī)之間的連接。
2.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于,所述步驟A具體為 步驟Al、手機(jī)收到所述PC機(jī)發(fā)出的藍(lán)牙設(shè)備搜索信息,手機(jī)啟動(dòng)所述用戶進(jìn)程,所述藍(lán)牙應(yīng)用模塊響應(yīng)所述PC機(jī)的藍(lán)牙設(shè)備搜索信息; 步驟A2、手機(jī)與PC機(jī)進(jìn)行配對(duì)和鑒權(quán);步驟A3、手機(jī)收到所述PC機(jī)的搜索手機(jī)藍(lán)牙服務(wù)請(qǐng)求,向所述PC機(jī)返回服務(wù)記錄信息;步驟A4、手機(jī)收到所述PC機(jī)發(fā)送的控制信道連接請(qǐng)求,并接受該請(qǐng)求; 步驟A5、手機(jī)通過(guò)控制信道發(fā)送數(shù)據(jù),告知PC機(jī)手機(jī)藍(lán)牙設(shè)備已連接; 步驟A6、手機(jī)收到所述PC機(jī)發(fā)送的中斷信道連接請(qǐng)求,并接受該請(qǐng)求,則手機(jī)與PC機(jī)之間的藍(lán)牙通信建立。
3.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于,所述步驟C具體為 步驟Cl、手機(jī)通過(guò)中斷信道收到PC機(jī)發(fā)送的斷開事件后,通過(guò)控制信道向PC機(jī)發(fā)送表示準(zhǔn)備斷開藍(lán)牙設(shè)備的數(shù)據(jù);步驟C2、手機(jī)收到PC機(jī)發(fā)出的控制信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開控制信道的連接;步驟C3、手機(jī)收到PC機(jī)發(fā)出的中斷信道斷開連接請(qǐng)求,并接受該請(qǐng)求,斷開中斷信道的連接。
4.如權(quán)利要求1或2或3所述的基于手機(jī)的游戲遙控方法,其特征在于所述手機(jī)與所述PC機(jī)之間按照藍(lán)牙HID協(xié)議進(jìn)行連接與數(shù)據(jù)傳輸。
5.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于所述加速度傳感器芯片輸出的數(shù)據(jù)為反映加速度矢量在空間三維坐標(biāo)X,1,Z上的分量值。
6.如權(quán)利要求5所述的基于手機(jī)的游戲遙控方法,其特征在于,進(jìn)行動(dòng)作判斷的方法為對(duì)于X,y, ζ三個(gè)坐標(biāo)軸,分別計(jì)算每一坐標(biāo)軸上相鄰兩個(gè)極值的差,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大小。
7.如權(quán)利要求6所述的基于手機(jī)的游戲遙控方法,其特征在于,所述進(jìn)行動(dòng)作并判斷的方法,具體包括以下步驟步驟1、設(shè)置Fl (n) =0,F2(n) = 0,并獲取加速度矢量在x,y,ζ坐標(biāo)上的分量值; 步驟2、分別獲取加速度矢量在X,y, ζ坐標(biāo)上的分量值的相鄰極值 步驟3、分別將X,y, ζ坐標(biāo)上的分量值的相鄰極值相減,并根據(jù)所得的三個(gè)差值判斷動(dòng)作的方向及力度大小;其中,步驟2具體為分別對(duì)X,y,ζ軸上的分量值進(jìn)行以下操作 步驟21、判斷分量值Vn是否到達(dá)預(yù)訂的幅度值,若沒(méi)有到達(dá),則返回步驟1,若到達(dá),則進(jìn)入步驟22 ;步驟22、判斷Fl (η)是否為零,若是,則令Fl (η) =Vn, F2 (η) =Vn,若否,則進(jìn)入步驟、23 步驟23、判斷Vn是否大于Fl (η),若是,則令Fl (n) = Vn,F2(n) =Vn,若否,則進(jìn)入步驟24 ;步驟對(duì)、判斷Vn是否小于F2(n),若是,則令F2(n) = Vn,F2(n) =Vn,若否,則進(jìn)入步驟34 ;步驟3具體為在x,y,z坐標(biāo)上,分別計(jì)算Fl(n)-F2(n)的絕對(duì)值差值,并根據(jù)獲得的三個(gè)絕對(duì)值差值判斷動(dòng)作的方向及力度大小; 其中,η = x、y、Z,F(xiàn)l(n)及F2 (η)表示閾值。
8.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于所述傳感器API模塊還包括設(shè)置動(dòng)作屬性參數(shù)的功能,所述動(dòng)作屬性參數(shù)為用于手機(jī)應(yīng)用動(dòng)作的屬性參數(shù),包括設(shè)置需要的動(dòng)作類型,及設(shè)置動(dòng)作產(chǎn)生的幅度值。
9.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于所述傳感器驅(qū)動(dòng)模塊還包括模式設(shè)置的功能,所述模式包括默認(rèn)的數(shù)據(jù)讀取模式、省電模式、及中斷模式。
10.如權(quán)利要求1所述的基于手機(jī)的游戲遙控方法,其特征在于所述傳感器通信模塊采用的協(xié)議為I2C或UART。
全文摘要
本發(fā)明揭示了一種基于手機(jī)的游戲遙控方法,包括1)PC機(jī)與手機(jī)之間建立藍(lán)牙通信;2)手機(jī)端啟動(dòng)加速度傳感器,其具體步驟為手機(jī)調(diào)用傳感器API,進(jìn)而調(diào)用傳感器維護(hù)模塊的功能接口,進(jìn)而調(diào)用傳感器的驅(qū)動(dòng)模塊接口,最后傳感器的驅(qū)動(dòng)模塊接口通過(guò)傳感器的通訊模塊對(duì)傳感器進(jìn)行讀寫操作;3)手機(jī)藍(lán)牙應(yīng)用模塊定時(shí)通過(guò)傳感器API模塊讀取加速度傳感器芯片輸出的數(shù)據(jù)或接收到傳感器API模塊的動(dòng)作通知后輸出至PC機(jī);4)手機(jī)響應(yīng)所述PC機(jī)的斷開請(qǐng)求,斷開與所述PC機(jī)之間的連接,并關(guān)閉傳感器的步驟。本發(fā)明的有益效果在于能夠通過(guò)揮動(dòng)手機(jī)實(shí)現(xiàn)對(duì)電腦游戲的操控,具有極佳的游戲代入感。
文檔編號(hào)H04M11/00GK102340607SQ20101023130
公開日2012年2月1日 申請(qǐng)日期2010年7月20日 優(yōu)先權(quán)日2010年7月20日
發(fā)明者聶建林 申請(qǐng)人:德信無(wú)線通訊科技(上海)有限公司