本發(fā)明涉及遙控器觸控領(lǐng)域,尤其涉及一種基于安卓系統(tǒng)的遙控器控制方法和裝置。
背景技術(shù):
隨著安卓系統(tǒng)的普及和應(yīng)用,安卓的無線輸入設(shè)備也不斷增多,比如藍(lán)牙遙控器、藍(lán)牙鍵盤等。但是,目前市場上的藍(lán)牙觸控遙控器的觸摸功能只能使用HID的鍵盤協(xié)議,也就必須要求遙控器的CPU耗費大量的時間來進(jìn)行觸摸手勢識別,然后將識別出的手勢轉(zhuǎn)換成標(biāo)準(zhǔn)的HID鍵盤值再發(fā)送給安卓系統(tǒng),使得現(xiàn)有的藍(lán)牙觸控遙控器不能處理復(fù)雜的手勢且處理速度慢。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種基于安卓系統(tǒng)的遙控器控制方法和裝置,旨在解決現(xiàn)有的藍(lán)牙觸控遙控器不能處理復(fù)雜的手勢且處理速度慢的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種基于安卓系統(tǒng)的遙控器控制方法包括以下步驟:
初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;
實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;
將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
優(yōu)選地,所述采樣數(shù)據(jù)包括藍(lán)牙HID私有協(xié)議編碼、觸摸動作編碼、觸摸動作水平坐標(biāo)編碼和觸摸動作垂直坐標(biāo)編碼。
優(yōu)選地,所述將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令的步驟包括:
根據(jù)所述觸摸動作編碼判斷觸摸操作是否完成;
若是,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi);
所述藍(lán)牙模塊將存儲的所述藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
優(yōu)選地,所述基于安卓系統(tǒng)的遙控器控制方法還包括:
獲取遙控器開關(guān)鍵的觸摸信息,并判斷遙控器開關(guān)鍵是否被長按,若是,則控制遙控器關(guān)機(jī)。
優(yōu)選地,所述計時器為32位計時器,時鐘周期為1毫秒。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種基于安卓系統(tǒng)的遙控器控制裝置包括:
初始化模塊,用于初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;
監(jiān)測模塊,用于實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;
發(fā)送模塊,用于將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
優(yōu)選地,所述采樣數(shù)據(jù)包括藍(lán)牙HID私有協(xié)議編碼、觸摸動作編碼、觸摸動作水平坐標(biāo)編碼和觸摸動作垂直坐標(biāo)編碼。
優(yōu)選地,所述發(fā)送模塊包括:
判斷單元,用于根據(jù)所述觸摸動作編碼判斷觸摸操作是否完成;
存儲單元,用于當(dāng)判斷有觸摸操作完成時,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi);
發(fā)送單元,用于所述藍(lán)牙模塊將存儲的所述藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
優(yōu)選地,所述基于安卓系統(tǒng)的遙控器控制裝置還包括:
關(guān)機(jī)模塊,用于獲取遙控器開關(guān)鍵的觸摸信息,并當(dāng)判斷遙控器開關(guān)鍵被長按時,控制遙控器關(guān)機(jī)。
優(yōu)選地,所述計時器為32位計時器,時鐘周期為1毫秒。
本發(fā)明提供的技術(shù)方案通過初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。將獲取的遙控器觸摸手勢數(shù)據(jù)打包發(fā)送至被控設(shè)備,使得遙控器不需對觸摸數(shù)據(jù)進(jìn)行識別再發(fā)送,利用被控設(shè)備來對觸摸手勢進(jìn)行識別,進(jìn)而減輕了藍(lán)牙遙控器的系統(tǒng)負(fù)擔(dān),使得藍(lán)牙遙控器對復(fù)雜手勢也能處理,提高了處理速度。
附圖說明
圖1為本發(fā)明基于安卓系統(tǒng)的遙控器控制方法第一實施例的流程示意圖;
圖2為本發(fā)明基于安卓系統(tǒng)的遙控器控制方法第二實施例中發(fā)送藍(lán)牙HID私有協(xié)議數(shù)據(jù)包步驟的細(xì)化流程示意圖;
圖3為本發(fā)明基于安卓系統(tǒng)的遙控器控制方法第三實施例的流程示意圖;
圖4為本發(fā)明基于安卓系統(tǒng)的遙控器控制裝置第一實施例的功能模塊示意圖;
圖5為本發(fā)明基于安卓系統(tǒng)的遙控器控制裝置第二實施例中發(fā)送模塊的細(xì)化功能模塊示意圖;
圖6為本發(fā)明基于安卓系統(tǒng)的遙控器控制裝置第三實施例的功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用于解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種基于安卓系統(tǒng)的遙控器控制方法,參照圖1,在一實施例中,該基于安卓系統(tǒng)的遙控器控制方法包括:
S10,初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;
本實施例中,所述初始化遙控器的觸摸板和藍(lán)牙模塊,即為將遙控器的觸摸板和藍(lán)牙模塊還原至初始狀態(tài),并通過藍(lán)牙模塊控制遙控器與被控設(shè)備的藍(lán)牙系統(tǒng)建立藍(lán)牙連接。
S20,實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;
優(yōu)選地,所述計時器為32位計時器,時鐘周期為1毫秒,即所述32位計時器的計時單位為1毫秒。也就是說,當(dāng)所述遙控器的當(dāng)前時間數(shù)據(jù)為100時,即為遙控器開機(jī)至當(dāng)前的時間間隔為100毫秒,進(jìn)而使得所述遙控器能準(zhǔn)確記錄當(dāng)前觸摸操作下的時間,及觸摸操作之間的時間間隔,確保所述遙控器觸摸板的觸摸信息的準(zhǔn)確采集及后續(xù)遙控器功能的實現(xiàn)。
本實施例中,所述采樣數(shù)據(jù)包括觸摸軌跡和/或觸摸距離,結(jié)合采集的所述觸摸板計時器的時間值,后續(xù)即可計算得出觸摸速度并對其進(jìn)行分析。
S30,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
具體地,當(dāng)判斷所述遙控器有觸摸操作時,則將遙控器觸摸板的采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包,并通過遙控器的藍(lán)牙模塊將上述數(shù)據(jù)包發(fā)送至被控設(shè)備的藍(lán)牙系統(tǒng),用于使得所述被控設(shè)備根據(jù)接收的數(shù)據(jù)包對采樣數(shù)據(jù)及時間值進(jìn)行分析及運算,進(jìn)而對用戶的觸摸信息進(jìn)行識別。
需要說明的是,所述數(shù)據(jù)包包括采樣數(shù)據(jù)和時間值,其中,所述采樣數(shù)據(jù)包括藍(lán)牙HID私有協(xié)議編碼、觸摸動作編碼、觸摸動作水平坐標(biāo)編碼和觸摸動作垂直坐標(biāo)編碼。所述數(shù)據(jù)包為一個10個字節(jié)的數(shù)據(jù)包,包括一個字節(jié)的藍(lán)牙HID私有協(xié)議數(shù)據(jù)編碼,一個字節(jié)的觸摸動作編碼,兩個字節(jié)的觸摸動作水平坐標(biāo)編碼,兩個字節(jié)的觸摸動作垂直坐標(biāo)編碼,以及四個字節(jié)的計時器時間值數(shù)據(jù);進(jìn)而使得所述數(shù)據(jù)包能成功繞開藍(lán)牙HID的標(biāo)準(zhǔn)協(xié)議,將藍(lán)牙觸控遙控器的采樣數(shù)據(jù)及時間值封裝成HID私有協(xié)議數(shù)據(jù)包發(fā)送給被控設(shè)備,通過被控設(shè)備來對采樣數(shù)據(jù)和時間值進(jìn)行分析運算。也就是說,所述藍(lán)牙觸控遙控器只負(fù)責(zé)對觸摸信息進(jìn)行獲取、封裝和發(fā)送,無需對觸摸信息進(jìn)行分析運算,大大減輕了藍(lán)牙觸控遙控器CPU的處理負(fù)擔(dān),簡化了藍(lán)牙觸控遙控器的處理步驟,進(jìn)而也就使得所述藍(lán)牙觸控遙控器對復(fù)雜的手勢也能進(jìn)行獲取和處理,也提高了藍(lán)牙觸控遙控器的處理速度。
其中,上述觸摸動作編碼,可以定義為,1表示按下,2表示滑動,3表示抬起。
需要說明的是,本實施例中所述基于安卓系統(tǒng)的被控設(shè)備包括BlueDroid進(jìn)程和Input進(jìn)程,所述BlueDroid進(jìn)程包括BlueDroid、EventThread和觸摸點環(huán)形緩沖區(qū),所述Input進(jìn)程包括EventHub和InputReader。當(dāng)所述藍(lán)牙觸控遙控器發(fā)送所述數(shù)據(jù)包至被控設(shè)備,所述BlueDroid接收所述數(shù)據(jù)包,并把所述數(shù)據(jù)包存入觸摸點環(huán)形緩沖區(qū)內(nèi),與此同時,所述、EventThread讀取所述數(shù)據(jù)包,并將讀取的點按照時間先后順序還原成手指滑動曲線,從矢量速度和運動軌跡的角度分析并計算出觸摸軌跡,識別觸摸手勢,然后將觸摸手勢轉(zhuǎn)換成安卓系統(tǒng)標(biāo)準(zhǔn)的Input Key值,把Input Key值寫入Input設(shè)備節(jié)點,則Input進(jìn)程會立即讀取,并廣播發(fā)送給對應(yīng)的APP進(jìn)行處理。
本發(fā)明提供的技術(shù)方案通過初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。將獲取的遙控器觸摸手勢數(shù)據(jù)打包發(fā)送至被控設(shè)備,使得遙控器不需對觸摸數(shù)據(jù)進(jìn)行識別再發(fā)送,利用被控設(shè)備來對觸摸手勢進(jìn)行識別,進(jìn)而減輕了藍(lán)牙遙控器的系統(tǒng)負(fù)擔(dān),使得藍(lán)牙遙控器對復(fù)雜手勢也能處理,提高了處理速度。
進(jìn)一步地,參照圖2,基于上述實施例,在本實施例中,上述步驟S30還包括:
S31,根據(jù)所述觸摸動作編碼判斷觸摸操作是否完成;
S32,若是,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi);
S33,所述藍(lán)牙模塊將存儲的所述藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
具體地,根據(jù)監(jiān)測的采樣數(shù)據(jù)中的觸摸動作編碼判斷觸摸操作是否完成,也即通過觸摸動作編碼判斷是否有抬起的觸摸動作;若是,則判斷觸摸操作完成,將監(jiān)測獲取的采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi)。需要進(jìn)一步說明的是,所述觸摸動作是在預(yù)設(shè)的時間內(nèi)進(jìn)行判斷,也即在計時器預(yù)設(shè)的計時時長內(nèi)判斷是否有抬起的觸摸動作,在該預(yù)設(shè)時長內(nèi)獲取的是單次抬起觸摸動作還是兩次抬起觸摸動作,進(jìn)而可以判斷是單擊操作還是雙擊操作,用以實現(xiàn)不同的操作功能。
所述FIFO緩存器是一種先進(jìn)先出的緩存器,也即按順序?qū)懭霐?shù)據(jù),按順序讀出數(shù)據(jù),例如,第一個寫入的數(shù)據(jù)第一個被讀出。本實施例中,所述FIFO緩存器能對連續(xù)的數(shù)據(jù)進(jìn)行緩存,防止在進(jìn)行存儲操作時丟失數(shù)據(jù),同時可避免頻繁的總線操作,減輕了遙控器CPU處理負(fù)擔(dān),并且允許遙控器系統(tǒng)進(jìn)行DMA操作,大大提高了數(shù)據(jù)的傳輸速度。
所述遙控器的藍(lán)牙模塊將存儲的藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備對數(shù)據(jù)包進(jìn)行解碼,根據(jù)接收的所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
需要說明的是,當(dāng)根據(jù)觸控板的采樣數(shù)據(jù)判定無觸摸操作時,也即未獲取相應(yīng)的觸摸動作編碼,則丟棄已經(jīng)獲取的采樣數(shù)據(jù)和時間值,重新監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值,直至根據(jù)重新獲取的觸摸動作編碼判斷有觸摸操作,則將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi),以確保后續(xù)操作功能的實現(xiàn)。
本實施例中,進(jìn)一步提出了根據(jù)采樣數(shù)據(jù)中觸摸動作編碼判斷是否有觸摸操作時的具體實施步驟,也就是說,所述基于安卓系統(tǒng)的遙控器控制方法通過一次或者多次獲取遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值,直至判斷有觸摸操作,將采樣數(shù)據(jù)和時間值封裝成HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,用于使得所述安卓系統(tǒng)的被控設(shè)備根據(jù)接收的數(shù)據(jù)包對采樣數(shù)據(jù)及時間值進(jìn)行分析及運算,進(jìn)而對觸摸信息進(jìn)行識別,保證用戶手指觸摸的有效操作。
進(jìn)一步地,參照圖3,基于上述實施例,在本實施例中,所述基于安卓系統(tǒng)的遙控器控制方法還包括:
S40,獲取遙控器開關(guān)鍵的觸摸信息,并判斷遙控器開關(guān)鍵是否被長按,若是,則控制遙控器關(guān)機(jī)。
具體地,當(dāng)所述藍(lán)牙觸控遙控器完成數(shù)據(jù)包的發(fā)送,則判斷遙控器開關(guān)鍵是否被長按,當(dāng)判定所述遙控器開關(guān)鍵被長按時,則控制遙控器關(guān)機(jī)。通過控制遙控器及時關(guān)機(jī),能避免誤觸遙控器而發(fā)生的誤操作,也能節(jié)省所述遙控器的運行功耗。
可以理解的是,所述遙控器的開關(guān)鍵可為物理按鍵或是觸摸鍵,且所述開關(guān)鍵與遙控器的電池電連接。
本實施例中,通過獲取遙控器開關(guān)鍵的長按信息,可以控制遙控器關(guān)機(jī);應(yīng)當(dāng)說明的是,所述遙控器的開關(guān)鍵可以但不限于只實現(xiàn)遙控器的關(guān)機(jī),通過獲取開關(guān)鍵的不同觸摸信息,可以控制遙控器實現(xiàn)不同的功能。例如,獲取開關(guān)鍵的雙擊信息,用于控制遙控器進(jìn)入睡眠狀態(tài)或是解除睡眠狀態(tài)。
或者,通過獲取開關(guān)鍵的不同觸摸信息,可以通過遙控器控制被控設(shè)備實現(xiàn)不同的功能。例如,在一種實施方式中,通過獲取開關(guān)鍵的單擊信息,可以通過遙控器控制被控設(shè)備實現(xiàn)暫停功能或解除暫停功能;在另一種實施方式中,通過獲取開關(guān)鍵的雙擊信息,可以通過遙控器控制被控設(shè)備實現(xiàn)確定當(dāng)前操作的功能。
需要說明的是,當(dāng)判斷遙控器開關(guān)鍵未被長按時,則回到實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值的步驟,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,再次判斷遙控器開關(guān)鍵是否被長按;直至判斷遙控器開關(guān)鍵被長按時,則控制遙控器關(guān)機(jī)。
可以理解的是,通過判斷遙控器開關(guān)鍵是否被長按,來控制遙控器是否關(guān)機(jī);通過獲取遙控器開關(guān)鍵的觸摸信息,來判斷用戶的操作意圖,進(jìn)而執(zhí)行不同的動作,實現(xiàn)不同功能。本實施例中,長按開關(guān)鍵定義為控制遙控器關(guān)機(jī),也即只有當(dāng)采集到用戶長按開關(guān)鍵的觸摸操作,遙控器才會關(guān)機(jī),當(dāng)未采集到長按開關(guān)鍵的觸摸操作,即可認(rèn)為用戶沒有關(guān)閉遙控器的意圖,進(jìn)而繼續(xù)獲取遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值,執(zhí)行相應(yīng)的實施步驟,確保用戶的手勢觸摸操作能被及時識別,提高手勢觸摸操作識別的準(zhǔn)確性,使得所述基于安卓系統(tǒng)的遙控器控制方法更加智能化。
本發(fā)明還提供一種基于安卓系統(tǒng)的遙控器控制裝置,參照圖4,在一實施例中,本發(fā)明提供的基于安卓系統(tǒng)的遙控器控制裝置包括:
初始化模塊10,用于初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;
本實施例中,所述初始化遙控器的觸摸板和藍(lán)牙模塊,即為將遙控器的觸摸板和藍(lán)牙模塊還原至初始狀態(tài),并通過藍(lán)牙模塊控制遙控器與被控設(shè)備的藍(lán)牙系統(tǒng)建立藍(lán)牙連接。
監(jiān)測模塊20,用于實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;
優(yōu)選地,所述計時器為32位計時器,時鐘周期為1毫秒,即所述32位計時器的計時單位為1毫秒。也就是說,當(dāng)所述遙控器的當(dāng)前時間數(shù)據(jù)為100時,即為遙控器開機(jī)至當(dāng)前的時間間隔為100毫秒,進(jìn)而使得所述遙控器能準(zhǔn)確記錄當(dāng)前觸摸操作下的時間,及觸摸操作之間的時間間隔,確保所述遙控器觸摸板的觸摸信息的準(zhǔn)確采集及后續(xù)遙控器功能的實現(xiàn)。
本實施例中,所述采樣數(shù)據(jù)包括觸摸軌跡和/或觸摸距離,結(jié)合采集的所述觸摸板計時器的時間值,后續(xù)即可計算得出觸摸速度并對其進(jìn)行分析。
發(fā)送模塊30,用于將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
具體地,當(dāng)判斷所述遙控器有觸摸操作時,則將遙控器觸摸板的采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包,并通過遙控器的藍(lán)牙模塊將上述數(shù)據(jù)包發(fā)送至被控設(shè)備的藍(lán)牙系統(tǒng),用于使得所述被控設(shè)備根據(jù)接收的數(shù)據(jù)包對采樣數(shù)據(jù)及時間值進(jìn)行分析及運算,進(jìn)而對用戶的觸摸信息進(jìn)行識別。
需要說明的是,所述數(shù)據(jù)包包括采樣數(shù)據(jù)和時間值,其中,所述采樣數(shù)據(jù)包括藍(lán)牙HID私有協(xié)議編碼、觸摸動作編碼、觸摸動作水平坐標(biāo)編碼和觸摸動作垂直坐標(biāo)編碼。所述數(shù)據(jù)包為一個10個字節(jié)的數(shù)據(jù)包,包括一個字節(jié)的藍(lán)牙HID私有協(xié)議數(shù)據(jù)編碼,一個字節(jié)的觸摸動作編碼,兩個字節(jié)的觸摸動作水平坐標(biāo)編碼,兩個字節(jié)的觸摸動作垂直坐標(biāo)編碼,以及四個字節(jié)的計時器時間值數(shù)據(jù);進(jìn)而使得所述數(shù)據(jù)包能成功繞開藍(lán)牙HID的標(biāo)準(zhǔn)協(xié)議,將藍(lán)牙觸控遙控器的采樣數(shù)據(jù)及時間值封裝成HID私有協(xié)議數(shù)據(jù)包發(fā)送給被控設(shè)備,通過被控設(shè)備來對采樣數(shù)據(jù)和時間值進(jìn)行分析運算。也就是說,所述藍(lán)牙觸控遙控器只負(fù)責(zé)對觸摸信息進(jìn)行獲取、封裝和發(fā)送,無需對觸摸信息進(jìn)行分析運算,大大減輕了藍(lán)牙觸控遙控器CPU的處理負(fù)擔(dān),簡化了藍(lán)牙觸控遙控器的處理步驟,進(jìn)而也就使得所述藍(lán)牙觸控遙控器對復(fù)雜的手勢也能進(jìn)行獲取和處理,也提高了藍(lán)牙觸控遙控器的處理速度。
其中,上述觸摸動作編碼,可以定義為,1表示按下,2表示滑動,3表示抬起。
需要說明的是,本實施例中所述基于安卓系統(tǒng)的被控設(shè)備包括BlueDroid進(jìn)程和Input進(jìn)程,所述BlueDroid進(jìn)程包括BlueDroid、EventThread和觸摸點環(huán)形緩沖區(qū),所述Input進(jìn)程包括EventHub和InputReader。當(dāng)所述藍(lán)牙觸控遙控器發(fā)送所述數(shù)據(jù)包至被控設(shè)備,所述BlueDroid接收所述數(shù)據(jù)包,并把所述數(shù)據(jù)包存入觸摸點環(huán)形緩沖區(qū)內(nèi),與此同時,所述、EventThread讀取所述數(shù)據(jù)包,并將讀取的點按照時間先后順序還原成手指滑動曲線,從矢量速度和運動軌跡的角度分析并計算出觸摸軌跡,識別觸摸手勢,然后將觸摸手勢轉(zhuǎn)換成安卓系統(tǒng)標(biāo)準(zhǔn)的Input Key值,把Input Key值寫入Input設(shè)備節(jié)點,則Input進(jìn)程會立即讀取,并廣播發(fā)送給對應(yīng)的APP進(jìn)行處理。
本發(fā)明提供的技術(shù)方案通過初始化遙控器的觸摸板和藍(lán)牙模塊,并控制遙控器藍(lán)牙連接被控設(shè)備;實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值;將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。將獲取的遙控器觸摸手勢數(shù)據(jù)打包發(fā)送至被控設(shè)備,使得遙控器不需對觸摸數(shù)據(jù)進(jìn)行識別再發(fā)送,利用被控設(shè)備來對觸摸手勢進(jìn)行識別,進(jìn)而減輕了藍(lán)牙遙控器的系統(tǒng)負(fù)擔(dān),使得藍(lán)牙遙控器對復(fù)雜手勢也能處理,提高了處理速度。
進(jìn)一步地,請參照圖5,基于上述實施例,在本實施例中,所述發(fā)送模塊30包括:
判斷單元31,用于根據(jù)所述觸摸動作編碼判斷是否有觸摸操作;
存儲單元32,用于當(dāng)判斷有觸摸操作時,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi);
發(fā)送單元33,用于所述藍(lán)牙模塊將存儲的所述藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備根據(jù)所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
具體地,根據(jù)監(jiān)測的采樣數(shù)據(jù)中的觸摸動作編碼判斷觸摸操作是否完成,也即通過觸摸動作編碼判斷是否有抬起的觸摸動作;若是,則判斷觸摸操作完成,將監(jiān)測獲取的采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi)。需要進(jìn)一步說明的是,所述觸摸動作是在預(yù)設(shè)的時間內(nèi)進(jìn)行判斷,也即在計時器預(yù)設(shè)的計時時長內(nèi)判斷是否有抬起的觸摸動作,在該預(yù)設(shè)時長內(nèi)獲取的是單次抬起觸摸動作還是兩次抬起觸摸動作,進(jìn)而可以判斷是單擊操作還是雙擊操作,用以實現(xiàn)不同的操作功能。
所述FIFO緩存器是一種先進(jìn)先出的緩存器,也即按順序?qū)懭霐?shù)據(jù),按順序讀出數(shù)據(jù),例如,第一個寫入的數(shù)據(jù)第一個被讀出。本實施例中,所述FIFO緩存器能對連續(xù)的數(shù)據(jù)進(jìn)行緩存,防止在進(jìn)行存儲操作時丟失數(shù)據(jù),同時可避免頻繁的總線操作,減輕了遙控器CPU處理負(fù)擔(dān),并且允許遙控器系統(tǒng)進(jìn)行DMA操作,大大提高了數(shù)據(jù)的傳輸速度。
所述遙控器的藍(lán)牙模塊將存儲的藍(lán)牙HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,以供所述被控設(shè)備對數(shù)據(jù)包進(jìn)行解碼,根據(jù)接收的所述采樣數(shù)據(jù)和時間值分析用戶輸入的操作指令。
需要說明的是,當(dāng)判斷單元31根據(jù)觸控板的采樣數(shù)據(jù)判定無觸摸操作時,也即未獲取相應(yīng)的觸摸動作編碼,則丟棄已經(jīng)獲取的采樣數(shù)據(jù)和時間值,所述基于安卓系統(tǒng)的遙控器控制裝置重新執(zhí)行監(jiān)測模塊20的功能,直至根據(jù)重新獲取的觸摸動作編碼判斷有觸摸操作,則將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并存儲至藍(lán)牙模塊FIFO緩存器內(nèi),以確保后續(xù)操作功能的實現(xiàn)。
本實施例中,進(jìn)一步提出了根據(jù)采樣數(shù)據(jù)中觸摸動作編碼判斷是否有觸摸操作時的具體實施步驟,也就是說,所述基于安卓系統(tǒng)的遙控器控制裝置通過一次或者多次獲取遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值,直至判斷有觸摸操作,將采樣數(shù)據(jù)和時間值封裝成HID私有協(xié)議數(shù)據(jù)包發(fā)送至被控設(shè)備,用于使得所述安卓系統(tǒng)的被控設(shè)備根據(jù)接收的數(shù)據(jù)包對采樣數(shù)據(jù)及時間值進(jìn)行分析及運算,進(jìn)而對觸摸信息進(jìn)行識別,保證用戶手指觸摸的有效操作。
進(jìn)一步地,進(jìn)一步地,請參照圖6,基于上述實施例,在本實施例中,所述基于安卓系統(tǒng)的遙控器控制裝置還包括:
關(guān)機(jī)模塊40,用于獲取遙控器開關(guān)鍵的觸摸信息,并當(dāng)判斷遙控器開關(guān)鍵被長按時,控制遙控器關(guān)機(jī)。
具體地,當(dāng)所述藍(lán)牙觸控遙控器完成數(shù)據(jù)包的發(fā)送,則判斷遙控器開關(guān)鍵是否被長按,當(dāng)判定所述遙控器開關(guān)鍵被長按時,則控制遙控器關(guān)機(jī)。通過控制遙控器及時關(guān)機(jī),能避免誤觸遙控器而發(fā)生的誤操作,也能節(jié)省所述遙控器的運行功耗。
可以理解的是,所述遙控器的開關(guān)鍵可為物理按鍵或是觸摸鍵,且所述開關(guān)鍵與遙控器的電池電連接。
本實施例中,通過獲取遙控器開關(guān)鍵的長按信息,可以控制遙控器關(guān)機(jī);應(yīng)當(dāng)說明的是,所述遙控器的開關(guān)鍵可以但不限于只實現(xiàn)遙控器的關(guān)機(jī),通過獲取開關(guān)鍵的不同觸摸信息,可以控制遙控器實現(xiàn)不同的功能。例如,獲取開關(guān)鍵的雙擊信息,用于控制遙控器進(jìn)入睡眠狀態(tài)或是解除睡眠狀態(tài)。
或者,通過獲取開關(guān)鍵的不同觸摸信息,可以通過遙控器控制被控設(shè)備實現(xiàn)不同的功能。例如,在一種實施方式中,通過獲取開關(guān)鍵的單擊信息,可以通過遙控器控制被控設(shè)備實現(xiàn)暫停功能或解除暫停功能;在另一種實施方式中,通過獲取開關(guān)鍵的雙擊信息,可以通過遙控器控制被控設(shè)備實現(xiàn)確定當(dāng)前操作的功能。
需要說明的是,當(dāng)判斷遙控器開關(guān)鍵未被長按時,則回到實時監(jiān)測遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值的步驟,將采樣數(shù)據(jù)和時間值封裝成藍(lán)牙HID私有協(xié)議數(shù)據(jù)包并通過藍(lán)牙模塊發(fā)送至被控設(shè)備,再次判斷遙控器開關(guān)鍵是否被長按;直至判斷遙控器開關(guān)鍵被長按時,則控制遙控器關(guān)機(jī)。
可以理解的是,通過判斷遙控器開關(guān)鍵是否被長按,來控制遙控器是否關(guān)機(jī);通過獲取遙控器開關(guān)鍵的觸摸信息,來判斷用戶的操作意圖,進(jìn)而執(zhí)行不同的動作,實現(xiàn)不同功能。本實施例中,長按開關(guān)鍵定義為控制遙控器關(guān)機(jī),也即只有當(dāng)采集到用戶長按開關(guān)鍵的觸摸操作,遙控器才會關(guān)機(jī),當(dāng)未采集到長按開關(guān)鍵的觸摸操作,即可認(rèn)為用戶沒有關(guān)閉遙控器的意圖,進(jìn)而繼續(xù)獲取遙控器觸摸板的采樣數(shù)據(jù)和計時器的時間值,執(zhí)行相應(yīng)的實施步驟,確保用戶的手勢觸摸操作能被及時識別,提高手勢觸摸操作識別的準(zhǔn)確性,使得所述基于安卓系統(tǒng)的遙控器控制裝置更加智能化。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。