專利名稱:一種基于手機傳感器控制電腦的方法
一種基于手機傳感器控制電腦的方法技術(shù)領(lǐng)域
本發(fā)明涉及一種基于手機傳感器的控制電腦的方法。在這種開發(fā)方法中,用戶手握手機做出相應(yīng)動作,手機端傳感器接收到相應(yīng)數(shù)據(jù),處理器將數(shù)據(jù)轉(zhuǎn)為抽象的動作接口,利用藍牙技術(shù)傳至接收端,控制電腦操作。該方法致力于在不增加硬件設(shè)備,不編寫額外控制代碼的條件下,改善傳統(tǒng)的人機交互模式。
背景技術(shù):
從硬件條件上看,帶有傳感器的智能手機不斷普及,新一代的智能手機上大多內(nèi)置了多種傳感器,典型的如重力傳感器、速度傳感器和傾角傳感器甚至配置微型陀螺儀,并且提供了良好的接口調(diào)用,并且提供了良好的接口調(diào)用;這些傳感器的信號可以通過接口輸出。智能手機中傳感器的種類和精度都在不斷增加。手機內(nèi)置傳感器的迅猛發(fā)展為手機控制電腦提供了良好的硬件支持?,F(xiàn)有技術(shù)已經(jīng)就傳感器動作等相關(guān)數(shù)據(jù)進行了識別計算和輸出。從軟件應(yīng)用上看,傳感器只是把動作等相關(guān)數(shù)據(jù)輸出,但最關(guān)鍵的是如何應(yīng)用好這些數(shù)據(jù)?,F(xiàn)有的用智能手機傳感器控制電腦的軟件都僅局限于特定的應(yīng)用內(nèi),沒有一套能通過簡單配置,就能適用于多種應(yīng)用的手機動作控制電腦的方法。因此,本方法致力于建立一種能在不增加其他硬件設(shè)備的條件下,實現(xiàn)用手機動作控制電腦操作的通用方法。它主要利用將手機動作映射到鍵盤上某些鍵的操作,或者鼠標操作的方式實現(xiàn)手機動作對電腦操作的控制。參考文獻如下侯文生.基于加速度傳感器的前臂運動姿態(tài)檢測[J].傳感器與微系統(tǒng),2009,28(1) 106-108.趙學(xué)玲.加速度傳感器在動作識別中的應(yīng)用[J].機床與液壓,2011,39⑵118-120.黃啟友.基于陀螺傳感器的三維手勢識別方案[J].計算機工程,2011,37(22)153-155。
發(fā)明內(nèi)容
本發(fā)明目的是,提出致力于建立一種能在不增加其他硬件設(shè)備的條件下,實現(xiàn)用手機動作控制電腦操作的通用方法。它主要利用將手機動作映射到鍵盤上某些鍵的操作,或者鼠標操作的方式實現(xiàn)手機動作對電腦操作的控制。尤其是建立智能手機與計算機交互的框架,用手機傳感器控制電腦操作。本發(fā)明目的在于不增加硬件設(shè)備,不編寫額外控制代碼的條件下,改善傳統(tǒng)的人機交互模式。同時,該方法提出一種實現(xiàn)手機動作在計算機端的及時反饋的機制,提供常用的手機端接口,給出一套連接手機和電腦端的接口標準,用戶手握手機做出相應(yīng)動作,手機端傳感器接收到相應(yīng)數(shù)據(jù),處理器將數(shù)據(jù)轉(zhuǎn)為抽象的動作命令接口,利用藍牙技術(shù)傳至接收端,控制電腦操作,快速開發(fā)如用手機傳感器控制電腦游戲、控制幻燈片放映等眾多應(yīng)用。本發(fā)明目的還在于提高智能手機與計算機數(shù)據(jù)處理與傳輸?shù)男?,實現(xiàn)手機動作在計算機端的及時反饋、提高智能手機與計算機交互軟件開發(fā)效率。
為實現(xiàn)本發(fā)明的所述目的,本發(fā)明技術(shù)方案是基于手機傳感器控制電腦的方法,包括如下步驟I)建立智能手機與計算機控制信息交互的系統(tǒng);+在智能手機端,首先從手機傳感器得到相應(yīng)的數(shù)據(jù),進行數(shù)據(jù)的過濾擬合,得到動作命令,通過藍牙傳輸至電腦端接口 ;步驟1_1.啟動手機》而系統(tǒng),步驟1-2.初始化手機端系統(tǒng)的解釋器、藍牙和控制模塊;步驟1-3.控制模塊從傳感器模塊獲取數(shù)據(jù);步驟1-3. I控制模塊接受傳感器模塊的主傳感器、若干輔助傳感器對應(yīng)的數(shù)據(jù);步驟1-3. 2輔助傳感器獲得輔助傳感器相應(yīng)數(shù)據(jù),給主傳感器;步驟1-3. 3主傳感器獲得本身數(shù)據(jù),并通過當前模式獲得輔助數(shù)據(jù);步驟1-3. 4主傳感器打包消息,通過消息機制,利用流水線pipeline技術(shù),將數(shù)據(jù)從傳感器模塊傳遞給當前模式控制器模塊的動作擬合器模塊;步驟1-4動作擬合器在初始化時已將預(yù)定義的動作初始化并存入動作池中,動作擬合器模塊對傳感器數(shù)據(jù)進行動作生成;動作擬合器接收通過消息隊列由傳感器模塊產(chǎn)生的數(shù)據(jù)消息,并解析為實數(shù)數(shù)組,對數(shù)據(jù)通過算法進行處理抽象出動作;一個簡單的例子一如何判斷手機傾斜獲取加速度傳感器數(shù)據(jù),判斷重力加速度在某個方向上的分量大小,就可以判斷其在某個方向上的傾斜程度;當然也可以使用方向傳感器判斷傾斜程度;步驟1-5.動作擬合器模塊通過藍牙傳送給電腦端步驟1-5. I從擬合器獲取動作或消息指令,建立一個傳輸隊列;步驟1-5. 2將動作或指令信息通過藍牙模塊傳遞到電腦端,同時使用了消息機制和流水線pipeline技術(shù);+而在電腦端,通過編輯配置文件,將特定的動作或消息指令映射到某個鍵盤、鼠標或其他硬件操作,實現(xiàn)手機傳感器控制電腦操作;步驟2_1.啟動電腦纟而系統(tǒng);步驟2-2.初始化電腦端的解釋器、藍牙和配置模塊;步驟2-3.配置模塊對系統(tǒng)文件讀取并解析,初始化游戲配置;步驟2-4.系統(tǒng)從藍牙模塊獲取手機端的動作或信息指令步驟2-5.解釋器模塊進行解析完成對應(yīng)動作。2)提高數(shù)據(jù)處理與傳輸?shù)男剩謾C動作在計算機端的及時反饋,為了提高數(shù)據(jù)處理的效率,該方法采用流水線的技術(shù),即數(shù)據(jù)獲取,數(shù)據(jù)處理以及數(shù)據(jù)藍牙傳輸交錯并行執(zhí)行,其中每個部分之間的信息傳輸使用消息隊列機制完成的。本發(fā)明的有益效果是克服現(xiàn)有的用智能手機傳感器控制電腦僅局限于特定的應(yīng)用內(nèi),實現(xiàn)一套能通過簡單配置,就能適用于多種應(yīng)用的手機動作控制電腦的方法。在不增加硬件設(shè)備,不編寫額外控制代碼的條件下,改善傳統(tǒng)的人機交互模式。另外,該方法還規(guī)定了手機動作在計算機端的及時反饋的機制,提高數(shù)據(jù)處理與傳輸?shù)男?,實現(xiàn)手機傳感器對電腦操作的精確 控制。本發(fā)明提出的一種基于手機傳感器的控制電腦的方法。在這種開發(fā)方法中,用戶手握手機做出相應(yīng)動作,手機端傳感器接收到相應(yīng)數(shù)據(jù),處理器將數(shù)據(jù)轉(zhuǎn)為抽象的動作接口,利用藍牙技術(shù)傳至接收端,控制電腦操作。在不增加硬件設(shè)備,不編寫額外控制代碼的條件下,改善傳統(tǒng)的人機交互模式。同時,該方法提出一種實現(xiàn)手機動作在計算機端的及時反饋的機制,提高數(shù)據(jù)處理與傳輸?shù)男剩瑢崿F(xiàn)手機傳感器對電腦操作的精確控制。
圖I.手機端系統(tǒng)狀態(tài)轉(zhuǎn)換圖。圖2.電腦端系統(tǒng)轉(zhuǎn)換圖。圖3.手機端處理流程圖。圖4.電腦端處理流程圖。圖5.電腦端模塊圖。圖6 手機端模塊圖。圖7.主從傳感器協(xié)作控制圖。圖8 消息隊列示意圖。圖9.消息定義形式圖說明。
具體實施例方式圖I說明I、系統(tǒng)啟動,進行藍牙連接2、進行系統(tǒng)設(shè)置,包括游戲選擇,游戲的按鍵設(shè)置,然后進入游戲3、傳感器在流水線同步機制下產(chǎn)生數(shù)據(jù)、處理數(shù)據(jù),而后將動作信息傳給電腦4、最終斷開藍牙,系統(tǒng)停止。電腦端系統(tǒng)轉(zhuǎn)換圖(圖2)說明I、系統(tǒng)啟動2、讀取配置文件,配置系統(tǒng)信息,配置各游戲動作信息;消息解釋器就緒3、藍牙連接4、消息解釋器獲取數(shù)據(jù),并解析,獲得動作名稱及其數(shù)據(jù),根據(jù)動作信息以及電腦端配置做出相應(yīng)動作;以此循環(huán)往復(fù)。5、藍牙斷開,系統(tǒng)停止。消息定義主要用于封裝動作、系統(tǒng)行為等信息,并通過藍牙傳送至電腦端。類型包括“系統(tǒng)”和“動作”兩種類型,分別表示系統(tǒng)信息和動作信息 ’“系統(tǒng)”類型的子類型包括“開始游戲”,“終止游戲”等子類型;“動作”類型包括“鼠標動作”,“鍵盤動作”等子類型;參數(shù)為該動作的其他信息。 手機端軟件體系結(jié)構(gòu)本方法分為手機端部分和電腦端部分,兩部分互相合作,完成方法期望達到的目的。本節(jié)將從模塊層次上描述手機端部分的體系結(jié)構(gòu)
今模塊圖本方法的手機端分為6個模塊,分別為啟動模塊,模式控制模塊,藍牙模塊,擬合器模塊,消息或動作模塊以及傳感器模塊。模塊圖如圖I所示各模塊分工合作,完成系統(tǒng)任務(wù)。系統(tǒng)從啟動模塊啟動,初始化解釋器,藍牙以及控制模塊;控制模塊從傳感器模塊獲得各種傳感器數(shù)據(jù),使用擬合模塊進行動作擬合,生成某種動作,并通過藍牙傳輸給電腦端軟件。今處理流程圖 本發(fā)明的手機端的處理流程圖如圖3所示步驟3-1 :啟動t旲塊負責(zé)t旲塊啟動系統(tǒng);步驟3-2 :初始化解釋器、藍牙和控制模塊3部分。步驟3-3 :控制模塊通過手機傳感器模塊獲得各種傳感器數(shù)據(jù)。今主從傳感器協(xié)作控制圖如圖7表示傳感器間的協(xié)作關(guān)系,這里傳感器模塊,有主傳感器和輔助傳感器2種類型,主傳感器負責(zé)向模式控制模塊傳遞某時刻各個傳感器的數(shù)據(jù),輔助傳感器僅僅負責(zé)提供輔助傳感器數(shù)據(jù),由主傳感器一并傳與模式控制器。每個模式包含一個主傳感器和若干輔助傳感器。傳感器獲得數(shù)據(jù)后通過打包為一條消息,并傳遞給當前模式控制器。例以主傳感器為加速度傳感器,輔助傳感器為方向傳感器為例,由于加速度傳感器獲得的數(shù)據(jù)并非為手機運動的實際加速度,而是實際運動加速度與重力加速度(9.8m/s2)在各個方向上的加和,因此我們需要方向信息來消除重力加速度的影響。最終傳給模式控制器的傳感器數(shù)據(jù)是一個實數(shù)類型的數(shù)組,分別為加速度傳感器的3個方向上的數(shù)據(jù)、方向傳感器在3個方向上的數(shù)據(jù)以及一個時間戳。由模式控制器進行計算,進一步獲得動作信息。今消息隊列示意8表示傳感器與模式控制器之間的數(shù)據(jù)傳遞部分,為了提高數(shù)據(jù)處理的效率,這里采用了流水線的思想,即數(shù)據(jù)獲取,數(shù)據(jù)處理以及數(shù)據(jù)藍牙傳輸并行執(zhí)行,其中每個部分之間的信息傳輸按照圖8所示的消息隊列機制完成。今消息定義形式9定義了消息的具體形式。即,一條消息由一個消息頭(類型及其子類型),消息參數(shù)(由參數(shù)間隔符相隔)以及消息尾構(gòu)成。數(shù)據(jù)的獲取來源于傳感器模塊,模式控制模塊在注冊傳感器后,傳感器便可產(chǎn)生數(shù)據(jù),通過消息隊列,傳給控制模塊進行處理,在此期間繼續(xù)獲取數(shù)據(jù)。數(shù)據(jù)處理后,將產(chǎn)生的動作交由下一個消息隊列,由藍牙模塊進行傳輸。通過結(jié)構(gòu)化的、緊湊的協(xié)議定義,一方面方便了手機與計算機的信息處理,另一方面提高了信息處理的速度。步驟3-4 :擬合器模塊對各種數(shù)據(jù)進行動作的擬合,生成對應(yīng)的某種動作或消息。這里使用了享元模式,為動作的產(chǎn)生封裝一系列的算法。步驟3-5 :通過藍牙模塊傳輸給電腦端,這里同樣采用了消息隊列的思想。 電腦端軟件體系結(jié)構(gòu)今模塊圖如圖5,電腦端部分分為4個主要模塊,分別為系統(tǒng)啟動模塊,配置模塊,藍牙模塊以及消息或動作模塊。各模塊分工合作,完成系統(tǒng)任務(wù)。系統(tǒng)從主模塊啟動,初始化解釋器,藍牙以及配置模塊;配置模塊通過對系統(tǒng)配置文件的讀取與解析,啟動系統(tǒng),初始化各個應(yīng)用的配置,包括各個動作;系統(tǒng)從藍牙模塊獲得從手機端接收到的消息,交由解釋器模塊進行解析,并作出相應(yīng)操作。今處理流程圖本發(fā)明的電腦端的處理流程圖如圖4。步驟4-1 :主模塊負責(zé)啟動電腦端系統(tǒng)。 步驟4-2 :初始化解釋器、藍牙和配置模塊。步驟4-3 :配置模塊通過對系統(tǒng)配置文件的讀取與解析并啟動系統(tǒng),初始化各個應(yīng)用的配置。動作映射及其他資源設(shè)置均配置在xml文件中,xml配置文件的使用,使得系統(tǒng)的可擴展性大大增強。使用XML配置的方式實現(xiàn)動作與硬件操作的映射,如鍵盤按鍵、鼠標移動等。組合動作由簡單動作組合而成。手機端在產(chǎn)生動作時,會給每個動作制定一個名字,這個名字與xml配置文件中的名字一致,從而使得手機動作與電腦端的鍵盤、鼠標等操作對應(yīng)。步驟4-4 :通過藍牙模塊獲取手機端的消息。步驟4-5 :通過解釋器模塊進行解析和完成相應(yīng)的系統(tǒng)功能或硬件動作,如鍵盤按鍵、鼠標移動等。本發(fā)明方法致力于在不增加任何硬件設(shè)備的條件下,改善傳統(tǒng)人機交互模式,通過用戶自身的運動參與到應(yīng)用當中,讓人有身臨其境的感覺,適合普通家庭的娛樂休閑活動。該方法的另一個優(yōu)點在于我們改變了現(xiàn)有應(yīng)用軟件,而不是特別開發(fā)的應(yīng)用軟件的鍵盤和鼠標控制法,給現(xiàn)有應(yīng)用軟件注入了新的生命力。
權(quán)利要求
1.基于手機傳感器控制電腦的方法,其特征是包括如下步驟I)建立智能手機與計算機控制信息交互的系統(tǒng);+在智能手機端,首先從手機傳感器得到相應(yīng)的數(shù)據(jù),進行數(shù)據(jù)的過濾擬合,得到動作命令,通過藍牙傳輸至電腦端接口 ;步驟1_1.啟動手機%5系統(tǒng),步驟1-2.初始化手機端系統(tǒng)的解釋器、藍牙和控制模塊;步驟1-3.控制模塊從傳感器模塊獲取數(shù)據(jù);步驟1-3. I控制模塊接受傳感器模塊的主傳感器、若干輔助傳感器對應(yīng)的數(shù)據(jù);步驟1-3. 2輔助傳感器獲得輔助傳感器相應(yīng)數(shù)據(jù),給主傳感器;步驟1-3. 3主傳感器獲得本身數(shù)據(jù),并通過當前模式獲得輔助數(shù)據(jù);步驟1-3. 4主傳感器打包消息,通過消息機制,利用流水線pipeline技術(shù),將數(shù)據(jù)從傳感器模塊傳遞給當前模式控制器模塊的動作擬合器模塊;步驟1-4.動作擬合器在初始化時已將預(yù)定義的動作初始化并存入動作池中,動作擬合器模塊對傳感器數(shù)據(jù)進行動作生成;動作擬合器接收通過消息隊列由傳感器模塊產(chǎn)生的數(shù)據(jù)消息,并解析為實數(shù)數(shù)組,對數(shù)據(jù)通過算法進行處理抽象出動作;步驟1-5.模式控制器通過藍牙傳送由動作擬合器產(chǎn)生的動作給電腦端步驟1-5. I從動作擬合器獲取動作或消息指令,建立一個傳輸隊列;步驟1-5. 2將動作或指令信息通過藍牙模塊傳遞到電腦端,同時使用了消息機制和流水線pipeline技術(shù);+而在電腦端,通過編輯配置文件,將特定的動作或消息指令映射到某個鍵盤、鼠標或其他硬件操作,實現(xiàn)手機傳感器控制電腦操作;步驟2-1.啟動電腦%5系統(tǒng);步驟2-2.初始化電腦端的解釋器、藍牙和配置模塊;步驟2-3.配置模塊對系統(tǒng)文件讀取并解析,初始化游戲配置;步驟2-4.系統(tǒng)從藍牙模塊獲取手機端的動作或信息指令步驟2-5.解釋器模塊進行解析完成對應(yīng)動作。
2.根據(jù)權(quán)利要求I所述的基于手機傳感器的控制電腦的方法,其特征是采用流水線的技術(shù),即數(shù)據(jù)獲取,數(shù)據(jù)處理以及數(shù)據(jù)藍牙傳輸交錯并行執(zhí)行,其中每個部分之間的信息傳輸使用消息隊列機制完成的。
3.根據(jù)權(quán)利要求I或2所述的基于手機傳感器的控制電腦的方法,其特征是手機端設(shè)有6個模塊,分別為啟動模塊,模式控制模塊,藍牙模塊,擬合器模塊,消息或動作模塊以及傳感器模塊;系統(tǒng)從啟動模塊啟動,初始化解釋器,藍牙以及控制模塊;控制模塊從傳感器模塊獲得各種傳感器數(shù)據(jù),使用擬合模塊進行動作擬合,生成某種動作,并通過藍牙傳輸給電腦端步驟3-1 :啟動模塊負責(zé)模塊啟動系統(tǒng);步驟3-2 :初始化解釋器、藍牙和控制模塊3部分;步驟3-3 :控制模塊通過手機傳感器模塊獲得各種傳感器數(shù)據(jù)。
4.基于權(quán)利要求I或2所述的基于手機傳感器的控制電腦的方法,其特征是主從傳感器協(xié)作控制方法傳感器模塊中有主傳感器和輔助傳感器2種類型,主傳感器負責(zé)向模式控制模塊傳遞某時刻各個傳感器的數(shù)據(jù),輔助傳感器僅僅負責(zé)提供輔助傳感器數(shù)據(jù),由主傳感器一并傳與模式控制器。每個模式包含一個主傳感器和若干輔助傳感器。傳感器獲得數(shù)據(jù)后通過打包為一條消息,并傳遞給當前模式控制器。
5.根據(jù)權(quán)利要求4所述的基于手機傳感器的控制電腦的方法,其特征是傳感器與模式控制器之間的數(shù)據(jù)傳遞部分,數(shù)據(jù)處理以及數(shù)據(jù)藍牙傳輸并行執(zhí)行,每個部分之間的信息傳輸按消息隊列機制完成。
6.根據(jù)權(quán)利要求4所述的基于手機傳感器的控制電腦的方法,其特征是數(shù)據(jù)的獲取來源于傳感器模塊,模式控制模塊在注冊傳感器后,傳感器便可產(chǎn)生數(shù)據(jù),通過消息隊列,傳給控制模塊進行處理,在此期間繼續(xù)獲取數(shù)據(jù);數(shù)據(jù)處理后,將產(chǎn)生的動作交由下一個消息隊列,由藍牙模塊進行傳輸。
7.根據(jù)權(quán)利要求4或5所述的基于手機傳感器的控制電腦的方法,其特征是配置模塊通過對系統(tǒng)配置文件的讀取與解析并啟動系統(tǒng),初始化各個應(yīng)用的配置;動作映射及其他資源設(shè)置均配置在xml文件中;使用XML配置的方式實現(xiàn)動作與硬件操作的映射,如鍵盤按鍵、鼠標移動;組合動作由簡單動作組合而成;手機端在產(chǎn)生動作時,會給每個動作制定一個名字,這個名字與xml配置文件中的名字一致,從而使得手機動作與電腦端的鍵盤、鼠標等操作對應(yīng)。
8.根據(jù)權(quán)利要求4或5所述的基于手機傳感器的控制電腦的方法,其特征是以主傳感器為加速度傳感器,輔助傳感器為方向傳感器為例,加速度傳感器獲得的數(shù)據(jù)并非為手機運動的實際加速度,實際運動加速度與重力加速度(9. 8m/s2)在各個方向上的加和,因此需要方向信息來消除重力加速度的影響;最終傳給模式控制器的傳感器數(shù)據(jù)是一個實數(shù)類型的數(shù)組,分別為加速度傳感器的3個方向上的數(shù)據(jù)、方向傳感器在3個方向上的數(shù)據(jù)以及一個時間戳;由模式控制器進行計算,獲得動作信息。
全文摘要
基于手機傳感器控制電腦的方法,建立智能手機與計算機控制信息交互的系統(tǒng);在智能手機端,首先從手機傳感器得到相應(yīng)的數(shù)據(jù),進行數(shù)據(jù)的過濾擬合,得到動作命令,通過藍牙傳輸至電腦端接口;手機主傳感器打包消息,通過消息機制,利用流水線pipeline技術(shù),將數(shù)據(jù)從傳感器模塊傳遞給當前模式控制器模塊的動作擬合器模塊;動作擬合器在初始化時已將預(yù)定義的動作初始化并存入動作池中,動作擬合器模塊對傳感器數(shù)據(jù)進行動作生成;動作擬合器接收通過消息隊列由傳感器模塊產(chǎn)生的數(shù)據(jù)消息,并解析為實數(shù)數(shù)組,對數(shù)據(jù)通過算法抽象出動作;而在電腦端,通過編輯配置文件,將特定的動作或消息指令映射到某個鍵盤、鼠標或其他硬件操作,實現(xiàn)手機傳感器控制電腦操作。
文檔編號H04M1/725GK102622082SQ201110412458
公開日2012年8月1日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者劉欽, 華金茹, 時清凱, 眭椰敏, 索坤, 榮國平, 趙垠蘭, 邵棟 申請人:南京大學(xué)