向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置,該方法包括:獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;或者,獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;通過虛擬傳感器而根據(jù)虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù);通過系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供虛擬傳感器數(shù)據(jù)。本發(fā)明提供的向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置,運(yùn)行應(yīng)用程序的終端不需要配備物理傳感器就可以實(shí)現(xiàn)對(duì)其基于傳感器的功能的測試,測試成本低。可以適用于基于不同種類傳感器的各種運(yùn)行的應(yīng)用程序,兼容性強(qiáng)。
【專利說明】向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及傳感器【技術(shù)領(lǐng)域】,特別是涉及一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置。
【背景技術(shù)】
[0002]目前很多應(yīng)用程序在運(yùn)行時(shí)會(huì)或多或少地運(yùn)用到傳感器,比如加速度傳感器、溫度傳感器或者光線傳感器等。通過傳感器可以感知終端信息或者環(huán)境信息,從而根據(jù)感知的終端信息或環(huán)境信息進(jìn)行差異化的動(dòng)作。比如目前可以通過加速度傳感器檢測出終端的搖晃動(dòng)作,從而應(yīng)用程序可以執(zhí)行與該搖晃動(dòng)作所匹配的指令。
[0003]為了使得基于傳感器的應(yīng)用程序能夠達(dá)到其設(shè)計(jì)需求,需要對(duì)應(yīng)用程序進(jìn)行測試,而目前對(duì)基于傳感器的應(yīng)用程序的測試,需要終端自身配備物理傳感器,而且對(duì)于不同的應(yīng)用程序需要分別配備不同的物理傳感器,增加測試成本。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對(duì)目前對(duì)基于傳感器的應(yīng)用程序的測試需要終端自身配備物理傳感器,增加測試成本的問題,提供一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置。
[0005]一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法,所述方法包括:
[0006]獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;或者,獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;
[0007]通過所述虛擬傳感器而根據(jù)所述虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù);
[0008]通過所述系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供所述虛擬傳感器數(shù)據(jù)。
[0009]一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置,所述裝置包括:
[0010]虛擬傳感器中間件服務(wù)模塊,用于獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器模塊發(fā)送虛擬傳感器指令;或者,用于獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器模塊發(fā)送虛擬傳感器指令;
[0011]虛擬傳感器模塊,用于根據(jù)所述虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)模塊;通過所述系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供所述虛擬傳感器數(shù)據(jù)。
[0012]上述向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法和裝置,通過運(yùn)行一個(gè)虛擬傳感器,在獲取到虛擬傳感器配置信息后自動(dòng)根據(jù)該虛擬傳感器配置信息向該虛擬傳感器發(fā)送虛擬傳感器指令,從而通過該虛擬傳感器而生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)。運(yùn)行的應(yīng)用程序在操作系統(tǒng)上運(yùn)行時(shí),就能夠自動(dòng)從系統(tǒng)傳感器服務(wù)獲取虛擬傳感器數(shù)據(jù)從而做出響應(yīng),可用于測試、模擬用戶操作動(dòng)作等各種場景。這樣運(yùn)行應(yīng)用程序的終端不需要配備物理傳感器就可以實(shí)現(xiàn)對(duì)其基于傳感器的功能的測試,測試成本低??梢赃m用于基于不同種類傳感器的各種運(yùn)行的應(yīng)用程序,而且運(yùn)行的應(yīng)用程序不需要另外開發(fā)用于支持虛擬傳感器的功能模塊,兼容性強(qiáng)。
【專利附圖】
【附圖說明】
[0013]圖1為一個(gè)實(shí)施例中向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法的流程示意圖;
[0014]圖2為一個(gè)實(shí)施例中獲取虛擬傳感器配置信息的步驟的流程示意圖;
[0015]圖3為一個(gè)實(shí)施例中虛擬傳感器配置文件選擇界面的示意圖;
[0016]圖4為一個(gè)實(shí)施例中生成虛擬傳感器配置文件的步驟的流程示意圖;
[0017]圖5為一個(gè)實(shí)施例中虛擬傳感器配置界面的的傳感器類型選擇頁面示意圖;
[0018]圖6為一個(gè)實(shí)施例中虛擬傳感器配置界面的傳感器軸選擇頁面示意圖;
[0019]圖7為一個(gè)實(shí)施例中虛擬傳感器配置界面的傳感器數(shù)據(jù)范圍選擇頁面示意圖;
[0020]圖8為一個(gè)實(shí)施例中生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)的過程展示界面示意圖;
[0021]圖9為一個(gè)實(shí)施例中向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置的結(jié)構(gòu)框圖;
[0022]圖10為一個(gè)實(shí)施例中向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置的應(yīng)用環(huán)境圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]如圖1所示,在一個(gè)實(shí)施例中,提供了一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法。本實(shí)施例以該方法應(yīng)用于移動(dòng)終端來舉例說明,該移動(dòng)終端可以是智能手機(jī)、平板電腦或者個(gè)人數(shù)字處理等。該移動(dòng)終端上運(yùn)行有自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)、虛擬傳感器以及運(yùn)行的應(yīng)用程序。該運(yùn)行的應(yīng)用程序的至少部分功能是基于傳感器的,比如電子羅盤或者重力感應(yīng)游戲等。該方法具體包括如下步驟:
[0025]步驟102,獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;或者,獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令。
[0026]虛擬傳感器配置信息是用于對(duì)虛擬傳感器自身屬性以及其動(dòng)作進(jìn)行規(guī)則限定的預(yù)定義信息??蓮哪J(rèn)的虛擬傳感器配置文件中讀取該虛擬傳感器配置信息,或者可以應(yīng)用戶操作指令而選定虛擬傳感器配置文件并從中讀取該虛擬傳感器配置信息。
[0027]在一個(gè)實(shí)施例中,虛擬傳感器配置信息包括但不限于虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式。其中虛擬傳感器類型包括但不限于:虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中的至少一種。虛擬傳感器數(shù)據(jù)變化范圍是指虛擬傳感器發(fā)送給系統(tǒng)傳感器服務(wù)的虛擬傳感器數(shù)據(jù)的變化范圍,虛擬傳感器數(shù)據(jù)變化方式比如可以是隨機(jī)變化或者按照預(yù)設(shè)步長以及預(yù)設(shè)方向漸次變化。
[0028]在一個(gè)實(shí)施例中,獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令,包括:通過自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)來獲取虛擬傳感器配置信息,并根據(jù)虛擬傳感器配置信息向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令。虛擬傳感器中間件服務(wù)隨移動(dòng)終端的啟動(dòng)而自動(dòng)啟動(dòng),并常駐系統(tǒng)后臺(tái)運(yùn)行,這樣可以隨時(shí)響應(yīng)運(yùn)行的應(yīng)用程序的測試需求而作出響應(yīng)。
[0029]在一個(gè)實(shí)施例中,可通過自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)而根據(jù)虛擬傳感器配置信息向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令。這里的虛擬傳感器指令是用來控制虛擬傳感器動(dòng)作的指令。
[0030]比如可以根據(jù)虛擬傳感器配置信息,生成適用于加速度傳感器并用于觸發(fā)加速度傳感器的X軸從-100按照每秒遞增5的速度變化到100的虛擬傳感器指令。
[0031]在一個(gè)實(shí)施例中,還可以通過虛擬傳感器中間件服務(wù)而獲取實(shí)時(shí)用戶操作指令,并根據(jù)該實(shí)時(shí)用戶操作指令而向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令。本實(shí)施例中用戶可以實(shí)時(shí)控制虛擬傳感器指令的產(chǎn)生以及發(fā)送。
[0032]步驟104,通過虛擬傳感器而根據(jù)虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)。
[0033]虛擬傳感器運(yùn)行在操作系統(tǒng)后臺(tái),隨時(shí)對(duì)虛擬傳感器中間件服務(wù)發(fā)來的虛擬傳感器指令作出響應(yīng)。從而該虛擬傳感器根據(jù)該虛擬傳感器指令所指定的虛擬傳感器類型將該虛擬傳感器配置為相應(yīng)類型的虛擬傳感器,并按照該虛擬傳感器指令所指定的虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式而生成虛擬傳感器數(shù)據(jù),并將該虛擬傳感器數(shù)據(jù)發(fā)送給系統(tǒng)傳感器服務(wù)。
[0034]其中,系統(tǒng)傳感器服務(wù)是運(yùn)行在操作系統(tǒng)后臺(tái)的系統(tǒng)自帶服務(wù),通常用于直接從物理傳感器獲取數(shù)據(jù)并為應(yīng)用層的應(yīng)用程序提供傳感器數(shù)據(jù),而這里則接收虛擬傳感器的虛擬傳感器數(shù)據(jù)并提供給應(yīng)用層的應(yīng)用程序。這里的操作系統(tǒng)可以是Android (安卓)操作系統(tǒng)、Windows (視窗)操作系統(tǒng)或者1S (蘋果公司開發(fā)的操作系統(tǒng))。
[0035]步驟106,通過系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供虛擬傳感器數(shù)據(jù)。
[0036]具體地,運(yùn)行的應(yīng)用程序運(yùn)行在移動(dòng)終端的操作系統(tǒng)上,自動(dòng)或者應(yīng)用戶操作指令而從系統(tǒng)傳感器服務(wù)獲取傳感器數(shù)據(jù)。此時(shí)系統(tǒng)傳感器服務(wù)提供的是虛擬傳感器發(fā)來的虛擬傳感器數(shù)據(jù),從而使得運(yùn)行的應(yīng)用程序按照其程序邏輯,對(duì)該虛擬傳感器數(shù)據(jù)做出響應(yīng),并生成測試數(shù)據(jù)。測試數(shù)據(jù)是指用于表示測試結(jié)果的數(shù)據(jù),比如觸發(fā)了何種動(dòng)作、生成何種數(shù)據(jù)等。
[0037]上述向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法,通過運(yùn)行一個(gè)虛擬傳感器,在獲取到虛擬傳感器配置信息后自動(dòng)根據(jù)該虛擬傳感器配置信息向該虛擬傳感器發(fā)送虛擬傳感器指令,從而通過該虛擬傳感器而生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)。運(yùn)行的應(yīng)用程序在操作系統(tǒng)上運(yùn)行時(shí),就能夠自動(dòng)從系統(tǒng)傳感器服務(wù)獲取虛擬傳感器數(shù)據(jù)從而做出響應(yīng),可用于測試、模擬用戶操作動(dòng)作等各種場景。這樣運(yùn)行應(yīng)用程序的終端不需要配備物理傳感器就可以實(shí)現(xiàn)對(duì)其基于傳感器的功能的測試,測試成本低。可以適用于基于不同種類傳感器的各種運(yùn)行的應(yīng)用程序,而且運(yùn)行的應(yīng)用程序不需要另外開發(fā)用于支持虛擬傳感器的功能模塊,兼容性強(qiáng)。
[0038]如圖2所示,在一個(gè)實(shí)施例中,步驟102中獲取虛擬傳感器配置信息的步驟具體包括如下步驟:
[0039]步驟202,接收用戶操作指令。
[0040]具體地,用戶可以通過移動(dòng)終端上的方向鍵、觸控板、軌跡球或者外接鼠標(biāo)等方式操作光標(biāo)或者點(diǎn)擊預(yù)設(shè)按鈕而觸發(fā)用戶操作指令,移動(dòng)終端則通過自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)而接收該用戶操作指令。
[0041]步驟204,根據(jù)用戶操作指令選定虛擬傳感器配置文件。
[0042]具體地,參照?qǐng)D3,通過自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)可以根據(jù)用戶操作指令,從虛擬傳感器配置文件列表中選定一個(gè)虛擬傳感器配置文件。還可以根據(jù)用戶選擇建立新的虛擬傳感器配置文件后,再根據(jù)用戶操作指令從虛擬傳感器配置文件列表中選定一個(gè)虛擬傳感器配置文件。
[0043]步驟206,從選定的虛擬傳感器配置文件中讀取虛擬傳感器配置信息。
[0044]具體地,虛擬傳感器配置信息可以包括虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式,可通過虛擬傳感器中間件服務(wù)讀取該虛擬傳感器配置信息,并根據(jù)該虛擬傳感器配置信息來生成虛擬傳感器指令并發(fā)送給虛擬傳感器。
[0045]本實(shí)施例中,通過靈活選擇虛擬傳感器配置文件而讀取相應(yīng)的虛擬傳感器配置信息,可以根據(jù)傳感器數(shù)據(jù)的應(yīng)用需求而靈活地改變虛擬傳感器配置信息,適用于各種場景下的對(duì)傳感器數(shù)據(jù)的應(yīng)用,通用性強(qiáng)。
[0046]如圖4所示,在一個(gè)實(shí)施例中,在步驟102之前,還包括生成虛擬傳感器配置文件的步驟,具體包括如下步驟:
[0047]步驟402,提供虛擬傳感器配置界面。
[0048]可通過虛擬傳感器中間件服務(wù)提供虛擬傳感器配置界面,該虛擬傳感器配置界面用于對(duì)虛擬傳感器配置信息進(jìn)行設(shè)定。
[0049]步驟404,獲取在配置界面中錄入的配置標(biāo)識(shí)和虛擬傳感器配置信息;虛擬傳感器配置信息包括虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式。
[0050]具體地,如圖5所示,可以獲取在虛擬傳感器配置界面的傳感器類型選擇頁面中選定的虛擬傳感器類型,比如從虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中選擇一種。
[0051]也可以獲取在虛擬傳感器配置界面的傳感器類型選擇頁面中錄入的配置標(biāo)識(shí)。該配置標(biāo)識(shí)用于區(qū)分不同的虛擬傳感器配置信息,可用數(shù)字、符號(hào)、字母以及漢字中的至少一種來表不。
[0052]對(duì)于具有軸向的虛擬傳感器,如圖6所示,可以在虛擬傳感器配置界面的傳感器軸選擇頁面選定需要產(chǎn)生虛擬傳感器數(shù)據(jù)的軸向,比如X軸、Y軸以及Z軸中的至少一種。
[0053]如圖7所示,可以在虛擬傳感器配置界面的傳感器數(shù)據(jù)范圍選擇頁面中錄入虛擬傳感器數(shù)據(jù)的變化范圍以及虛擬傳感器數(shù)據(jù)變化方式,其中變化方式可以是變化速率以及變化方向的組合,變化速率是指單位時(shí)間內(nèi)虛擬傳感器數(shù)據(jù)遞增或者遞減的步長,變化方向是指正向變化或者反向變化。對(duì)于具有軸向的虛擬傳感器,虛擬傳感器數(shù)據(jù)的變化范圍以及虛擬傳感器數(shù)據(jù)變化方式需要對(duì)應(yīng)軸向設(shè)定。
[0054]步驟406,生成以配置標(biāo)識(shí)為文件名的用于記錄虛擬傳感器配置信息的虛擬傳感器配直文件并存儲(chǔ)。
[0055]具體地,建立以配置標(biāo)識(shí)為文件名的文本文件,按照預(yù)設(shè)格式將虛擬傳感器配置信息記錄在該文本文件中保存,從而獲得以配置標(biāo)識(shí)為文件名的虛擬傳感器配置文件。
[0056]本實(shí)施例中,通過提供虛擬傳感器配置界面而對(duì)虛擬傳感器配置文件進(jìn)行設(shè)定,使得用戶可以靈活地對(duì)虛擬傳感器配置信息進(jìn)行更改,提高了操作便利性??梢愿鶕?jù)傳感器數(shù)據(jù)應(yīng)用需求而靈活地設(shè)置虛擬傳感器配置文件,適用于各種場景下對(duì)傳感器數(shù)據(jù)的應(yīng)用,通用性強(qiáng)。
[0057]在一個(gè)實(shí)施例中,如圖8所示,可以將步驟104中生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)的過程通過可視界面展示出來,該界面可以展示為獨(dú)立界面,也可以透明浮層形式覆蓋展示在運(yùn)行的應(yīng)用程序的界面上。
[0058]如圖9所示,在一個(gè)實(shí)施例中,提供了一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置900,具有用于實(shí)現(xiàn)上述的向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法的各個(gè)功能。該向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置900包括虛擬傳感器中間件服務(wù)模塊902和虛擬傳感器模塊904。該向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置900的應(yīng)用環(huán)境如圖10所示。
[0059]虛擬傳感器中間件服務(wù)模塊902,用于獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器模塊904發(fā)送虛擬傳感器指令。虛擬傳感器配置信息是用于對(duì)虛擬傳感器自身屬性以及其動(dòng)作進(jìn)行規(guī)則限定的預(yù)定義信息。虛擬傳感器中間件服務(wù)模塊902可用于從默認(rèn)的虛擬傳感器配置文件中讀取該虛擬傳感器配置信息,或者可用于應(yīng)用戶操作指令而選定虛擬傳感器配置文件并從中讀取該虛擬傳感器配置信息。
[0060]在一個(gè)實(shí)施例中,虛擬傳感器配置信息包括但不限于虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式。其中虛擬傳感器類型包括但不限于:虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中的至少一種。在一個(gè)實(shí)施例中,虛擬傳感器中間件服務(wù)模塊902自啟動(dòng)且常駐內(nèi)存運(yùn)行。
[0061]在一個(gè)實(shí)施例中,虛擬傳感器中間件服務(wù)模塊902還可以用于獲取實(shí)時(shí)用戶操作指令,并根據(jù)該實(shí)時(shí)用戶操作指令而向運(yùn)行的虛擬傳感器模塊904發(fā)送虛擬傳感器指令。
[0062]虛擬傳感器模塊904,用于根據(jù)虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)模塊。具體地,虛擬傳感器模塊904運(yùn)行在操作系統(tǒng)后臺(tái),隨時(shí)對(duì)虛擬傳感器中間件服務(wù)模塊902所發(fā)來的虛擬傳感器指令作出響應(yīng)。從而該虛擬傳感器模塊904用于根據(jù)該虛擬傳感器指令所指定的虛擬傳感器類型將該虛擬傳感器模塊904配置為相應(yīng)類型的虛擬傳感器,并按照該虛擬傳感器指令所指定的虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式而生成虛擬傳感器數(shù)據(jù),并將該虛擬傳感器數(shù)據(jù)發(fā)送給系統(tǒng)傳感器服務(wù)模塊。
[0063]其中,系統(tǒng)傳感器服務(wù)模塊是運(yùn)行在操作系統(tǒng)后臺(tái)的系統(tǒng)自帶服務(wù)模塊,通常用于直接從物理傳感器獲取數(shù)據(jù)并為應(yīng)用層的應(yīng)用程序提供傳感器數(shù)據(jù),而這里則接收虛擬傳感器的虛擬傳感器數(shù)據(jù)并提供給應(yīng)用層的應(yīng)用程序。這里的操作系統(tǒng)可以是安卓操作系統(tǒng)、視窗操作系統(tǒng)或者蘋果公司開發(fā)的操作系統(tǒng)。
[0064]虛擬傳感器模塊904,還用于通過系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供虛擬傳感器數(shù)據(jù)。具體地,運(yùn)行的應(yīng)用程序運(yùn)行在移動(dòng)終端的操作系統(tǒng)上,虛擬傳感器模塊904用于自動(dòng)或者應(yīng)用戶操作指令而從系統(tǒng)傳感器服務(wù)獲取傳感器數(shù)據(jù)。此時(shí)系統(tǒng)傳感器服務(wù)提供的是虛擬傳感器發(fā)來的虛擬傳感器數(shù)據(jù),從而使得運(yùn)行的應(yīng)用程序按照其程序邏輯,對(duì)該虛擬傳感器數(shù)據(jù)做出響應(yīng),并生成測試數(shù)據(jù)。測試數(shù)據(jù)是指用于表示測試結(jié)果的數(shù)據(jù),比如觸發(fā)了何種動(dòng)作、生成何種數(shù)據(jù)等。
[0065]在一個(gè)實(shí)施例中,虛擬傳感器中間件服務(wù)模塊902還用于接收用戶操作指令;根據(jù)用戶操作指令選定虛擬傳感器配置文件;從選定的虛擬傳感器配置文件中讀取虛擬傳感器配置信息。
[0066]具體地,虛擬傳感器中間件服務(wù)模塊902可用于接收通過移動(dòng)終端上的方向鍵、觸控板、軌跡球或者外接鼠標(biāo)等方式操作光標(biāo)或者點(diǎn)擊預(yù)設(shè)按鈕而觸發(fā)的用戶操作指令。虛擬傳感器中間件服務(wù)模塊902可用于根據(jù)用戶操作指令,從虛擬傳感器配置文件列表中選定一個(gè)虛擬傳感器配置文件。還可以根據(jù)用戶選擇建立新的虛擬傳感器配置文件后,再根據(jù)用戶操作指令從虛擬傳感器配置文件列表中選定一個(gè)虛擬傳感器配置文件。
[0067]本實(shí)施例中,通過靈活選擇虛擬傳感器配置文件而讀取相應(yīng)的虛擬傳感器配置信息,可以根據(jù)傳感器數(shù)據(jù)應(yīng)用需求而靈活地改變虛擬傳感器配置信息,適用于各種場景下對(duì)傳感器數(shù)據(jù)的應(yīng)用,通用性強(qiáng)。
[0068]在一個(gè)實(shí)施例中,虛擬傳感器中間件服務(wù)模塊902還用于提供虛擬傳感器配置界面;獲取在配置界面中錄入的配置標(biāo)識(shí)和虛擬傳感器配置信息;虛擬傳感器配置信息包括虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式;生成以配置標(biāo)識(shí)為文件名的用于記錄虛擬傳感器配置信息的虛擬傳感器配置文件并存儲(chǔ)。
[0069]本實(shí)施例中,通過提供虛擬傳感器配置界面而對(duì)虛擬傳感器配置文件進(jìn)行設(shè)定,使得用戶可以靈活地對(duì)虛擬傳感器配置信息進(jìn)行更改,提高了操作便利性。可以根據(jù)傳感器數(shù)據(jù)的應(yīng)用需求而靈活地設(shè)置虛擬傳感器配置文件,適用于各種場景下的對(duì)傳感器數(shù)據(jù)的應(yīng)用,通用性強(qiáng)。
[0070]在一個(gè)實(shí)施例中,虛擬傳感器模塊904包括但不限于虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中的至少一種。
[0071]在一個(gè)實(shí)施例中,虛擬傳感器中間件服務(wù)模塊902還可以用于通過可視界面將生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)的過程展示出來。該界面可以展示為獨(dú)立界面,也可以透明浮層形式覆蓋展示在運(yùn)行的應(yīng)用程序的界面上。
[0072]上述向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置900,通過運(yùn)行一個(gè)虛擬傳感器模塊,在獲取到虛擬傳感器配置信息后自動(dòng)根據(jù)該虛擬傳感器配置信息向該虛擬傳感器模塊發(fā)送虛擬傳感器指令,從而通過該虛擬傳感器模塊而生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)模塊。運(yùn)行的應(yīng)用程序在操作系統(tǒng)上運(yùn)行時(shí),就能夠自動(dòng)從系統(tǒng)傳感器服務(wù)模塊獲取虛擬傳感器數(shù)據(jù)從而做出響應(yīng),可用于測試、模擬用戶操作動(dòng)作等各種場景。這樣運(yùn)行應(yīng)用程序的終端不需要配備物理傳感器就可以實(shí)現(xiàn)對(duì)其基于傳感器的功能的測試,測試成本低??梢赃m用于基于不同種類傳感器的各種運(yùn)行的應(yīng)用程序,而且運(yùn)行的應(yīng)用程序不需要另外開發(fā)用于支持虛擬傳感器模塊的功能模塊,兼容性強(qiáng)。
[0073]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的方法,所述方法包括: 獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令;或者,獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令; 通過所述虛擬傳感器而根據(jù)所述虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù); 通過所述系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供所述虛擬傳感器數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取虛擬傳感器配置信息,包括: 接收用戶操作指令; 根據(jù)所述用戶操作指令選定虛擬傳感器配置文件; 從所述選定的虛擬傳感器配置文件中讀取虛擬傳感器配置信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取虛擬傳感器配置信息之前,還包括: 提供虛擬傳感器配置界面; 獲取在所述配置界面中錄入的配置標(biāo)識(shí)和虛擬傳感器配置信息;所述虛擬傳感器配置信息包括虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式; 生成以所述配置標(biāo)識(shí)為文件名的用于記錄所述虛擬傳感器配置信息的虛擬傳感器配直文件并存儲(chǔ)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬傳感器包括虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中的至少一種。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令,包括:通過自啟動(dòng)且常駐內(nèi)存運(yùn)行的虛擬傳感器中間件服務(wù)來獲取虛擬傳感器配置信息,并根據(jù)所述虛擬傳感器配置信息向運(yùn)行的虛擬傳感器發(fā)送虛擬傳感器指令。
6.一種向基于傳感器的應(yīng)用程序提供傳感器數(shù)據(jù)的裝置,其特征在于,所述裝置包括: 虛擬傳感器中間件服務(wù)模塊,用于獲取虛擬傳感器配置信息,并據(jù)以向運(yùn)行的虛擬傳感器模塊發(fā)送虛擬傳感器指令;或者,用于獲取實(shí)時(shí)用戶操作指令,并據(jù)以向運(yùn)行的虛擬傳感器模塊發(fā)送虛擬傳感器指令; 虛擬傳感器模塊,用于根據(jù)所述虛擬傳感器指令生成虛擬傳感器數(shù)據(jù)并發(fā)送給系統(tǒng)傳感器服務(wù)模塊;通過所述系統(tǒng)傳感器服務(wù)而向運(yùn)行的應(yīng)用程序提供所述虛擬傳感器數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述虛擬傳感器中間件服務(wù)模塊還用于接收用戶操作指令;根據(jù)所述用戶操作指令選定虛擬傳感器配置文件;從所述選定的虛擬傳感器配置文件中讀取虛擬傳感器配置信息。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述虛擬傳感器中間件服務(wù)模塊還用于提供虛擬傳感器配置界面;獲取在所述配置界面中錄入的配置標(biāo)識(shí)和虛擬傳感器配置信息;所述虛擬傳感器配置信息包括虛擬傳感器類型、虛擬傳感器數(shù)據(jù)變化范圍以及虛擬傳感器數(shù)據(jù)變化方式;生成以所述配置標(biāo)識(shí)為文件名的用于記錄所述虛擬傳感器配置信息的虛擬傳感器配置文件并存儲(chǔ)。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述虛擬傳感器模塊包括虛擬加速度傳感器、虛擬陀螺儀傳感器、虛擬地磁傳感器、虛擬溫度傳感器、虛擬距離傳感器、虛擬光線傳感器和虛擬壓力傳感器中的至少一種。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述虛擬傳感器中間件服務(wù)模塊自啟動(dòng)且常駐內(nèi)存運(yùn)行。
【文檔編號(hào)】G06F9/455GK104461686SQ201410665417
【公開日】2015年3月25日 申請(qǐng)日期:2014年11月19日 優(yōu)先權(quán)日:2014年11月19日
【發(fā)明者】邱劍, 曹桂田, 項(xiàng)弦 申請(qǐng)人:深圳市酷商時(shí)代科技有限公司