本發(fā)明涉及數(shù)據(jù)處理技術(shù),特別設(shè)計(jì)藍(lán)牙體感數(shù)據(jù)的處理技術(shù)。
背景技術(shù):
目前在安卓智能電視等安卓系統(tǒng)的智能設(shè)備上使用藍(lán)牙體感設(shè)備需要做大量的定制工作,非常不便,這大大限制了安卓系統(tǒng)的智能設(shè)備對(duì)藍(lán)牙體感設(shè)備的支持能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是要解決目前安卓系統(tǒng)的智能設(shè)備中使用藍(lán)牙體感設(shè)備需要做大量的定制工作的問題,提供了一種基于hidraw的藍(lán)牙體感數(shù)據(jù)處理方法。
本發(fā)明解決其技術(shù)問題,采用的技術(shù)方案是,基于hidraw的藍(lán)牙體感數(shù)據(jù)處理方法,其特征在于,包括以下步驟:
步驟1、將藍(lán)牙體感設(shè)備自身描述為hidraw類型;
步驟2、安卓系統(tǒng)的智能設(shè)備中的藍(lán)牙協(xié)議棧接收到藍(lán)牙體感設(shè)備發(fā)送來的藍(lán)牙體感數(shù)據(jù)后經(jīng)由Linux內(nèi)核寫入hidraw;
步驟3、當(dāng)安卓系統(tǒng)的智能設(shè)備的用戶打開的應(yīng)用程序需要使用藍(lán)牙體感數(shù)據(jù)時(shí),找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備,根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)。
具體的,步驟2中,所述智能設(shè)備為智能電視或智能移動(dòng)終端。
進(jìn)一步的,所述智能移動(dòng)終端為智能手機(jī)或平板電腦。
具體的,步驟3中,所述找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備的方法為:遍歷目錄下所有設(shè)備,根據(jù)vid和pid找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備。
再進(jìn)一步的,步驟3中,所述對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫的獲取方式為:根據(jù)hidraw設(shè)備名區(qū)分當(dāng)前連接的藍(lán)牙體感設(shè)備的廠商,選擇該廠商對(duì)應(yīng)的HAL藍(lán)牙體感數(shù)據(jù)解析庫。
具體的,步驟3中,在根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)之前,還需要對(duì)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫的變量進(jìn)行初始化。
再進(jìn)一步的,步驟3中,在根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)時(shí),根據(jù)應(yīng)用程序獲取藍(lán)牙體感數(shù)據(jù)的類型單獨(dú)上傳gsensor或陀螺儀數(shù)據(jù)。
具體的,步驟3中,當(dāng)安卓系統(tǒng)的智能設(shè)備的用戶打開的應(yīng)用程序需要使用藍(lán)牙體感數(shù)據(jù)時(shí),若找到的hidraw中沒有藍(lán)牙體感數(shù)據(jù)時(shí),開始計(jì)時(shí)并設(shè)置超時(shí)時(shí)間,若計(jì)時(shí)至超時(shí)時(shí)間仍未有藍(lán)牙體感數(shù)據(jù)寫入,則跳出read函數(shù)的阻塞。
本發(fā)明的有益效果是,在本發(fā)明方案中,通過上述基于hidraw的藍(lán)牙體感數(shù)據(jù)處理方法,可以簡化安卓系統(tǒng)的智能設(shè)備與藍(lán)牙體感設(shè)備的對(duì)接工作,增強(qiáng)用戶體驗(yàn),方便用戶。
具體實(shí)施方式
下面結(jié)合實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。
本發(fā)明所述基于hidraw的藍(lán)牙體感數(shù)據(jù)處理方法為:首先將藍(lán)牙體感設(shè)備自身描述為hidraw類型,安卓系統(tǒng)的智能設(shè)備中的藍(lán)牙協(xié)議棧接收到藍(lán)牙體感設(shè)備發(fā)送來的藍(lán)牙體感數(shù)據(jù)后經(jīng)由Linux內(nèi)核寫入hidraw,當(dāng)安卓系統(tǒng)的智能設(shè)備的用戶打開的應(yīng)用程序需要使用藍(lán)牙體感數(shù)據(jù)時(shí),找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備,根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)。
實(shí)施例
本發(fā)明實(shí)施例的基于hidraw的藍(lán)牙體感數(shù)據(jù)處理方法,其包括以下步驟:
步驟1、將藍(lán)牙體感設(shè)備自身描述為hidraw類型。
步驟2、安卓系統(tǒng)的智能設(shè)備中的藍(lán)牙協(xié)議棧接收到藍(lán)牙體感設(shè)備發(fā)送來的藍(lán)牙體感數(shù)據(jù)后經(jīng)由Linux內(nèi)核寫入hidraw。
本步驟中,智能設(shè)備可以為智能電視或智能移動(dòng)終端等,如智能手機(jī)或平板電腦等。
步驟3、當(dāng)安卓系統(tǒng)的智能設(shè)備的用戶打開的應(yīng)用程序需要使用藍(lán)牙體感數(shù)據(jù)時(shí),找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備,根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)。
本步驟中,找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備的方法可以為:遍歷目錄下所有設(shè)備,根據(jù)vid和pid找到藍(lán)牙協(xié)議棧創(chuàng)建的hidraw設(shè)備。
對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫的獲取方式可以為:根據(jù)hidraw設(shè)備名區(qū)分當(dāng)前連接的藍(lán)牙體感設(shè)備的廠商,選擇該廠商對(duì)應(yīng)的HAL藍(lán)牙體感數(shù)據(jù)解析庫。
在根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)之前,還可以對(duì)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫的變量進(jìn)行初始化。
在根據(jù)對(duì)應(yīng)的藍(lán)牙體感數(shù)據(jù)解析庫讀取并解析hidraw中的藍(lán)牙體感數(shù)據(jù)時(shí),根據(jù)應(yīng)用程序獲取藍(lán)牙體感數(shù)據(jù)的類型單獨(dú)上傳gsensor或陀螺儀數(shù)據(jù)。
當(dāng)安卓系統(tǒng)的智能設(shè)備的用戶打開的應(yīng)用程序需要使用藍(lán)牙體感數(shù)據(jù)時(shí),若找到的hidraw中沒有藍(lán)牙體感數(shù)據(jù)時(shí),開始計(jì)時(shí)并設(shè)置超時(shí)時(shí)間,若計(jì)時(shí)至超時(shí)時(shí)間仍未有藍(lán)牙體感數(shù)據(jù)寫入,則跳出read函數(shù)的阻塞。