本發(fā)明涉及數(shù)據(jù)處理技術(shù),特別設(shè)計(jì)藍(lán)牙體感數(shù)據(jù)的處理技術(shù)。
背景技術(shù):
目前傳統(tǒng)的體感設(shè)備大都采用射頻的方式發(fā)送數(shù)據(jù),而對(duì)于藍(lán)牙體感設(shè)備,其通過(guò)藍(lán)牙協(xié)議棧進(jìn)行數(shù)據(jù)發(fā)送,即藍(lán)牙體感數(shù)據(jù),但目前安卓系統(tǒng)的智能設(shè)備中,并沒(méi)有對(duì)藍(lán)牙協(xié)議棧規(guī)范的處理方式,導(dǎo)致藍(lán)牙體感設(shè)備無(wú)法正常使用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是要解決目前安卓系統(tǒng)的智能設(shè)備中,藍(lán)牙體感設(shè)備無(wú)法正常使用的問(wèn)題,提供了一種基于GATT的藍(lán)牙體感數(shù)據(jù)處理方法。
本發(fā)明解決其技術(shù)問(wèn)題,采用的技術(shù)方案是,基于GATT的藍(lán)牙體感數(shù)據(jù)處理方法,其特征在于,包括以下步驟:
步驟1、安卓系統(tǒng)的智能設(shè)備中的應(yīng)用程序接收到開(kāi)機(jī)廣播后啟動(dòng),搜索藍(lán)牙體感設(shè)備,與其建立連接并注冊(cè)藍(lán)牙體感數(shù)據(jù)對(duì)應(yīng)的服務(wù),等待藍(lán)牙協(xié)議棧回調(diào);
步驟2、當(dāng)藍(lán)牙體感設(shè)備發(fā)送藍(lán)牙體感數(shù)據(jù)時(shí),應(yīng)用程序中的回調(diào)函數(shù)被調(diào)用,提取藍(lán)牙體感數(shù)據(jù)并復(fù)制一份后以消息機(jī)制發(fā)送至另一線程進(jìn)行處理;
步驟3、消息接收方的線程接收到該藍(lán)牙體感數(shù)據(jù),對(duì)其按照該藍(lán)牙體感設(shè)備廠商提供的數(shù)據(jù)格式進(jìn)行解析,將解析得到的數(shù)據(jù)封裝為安卓系統(tǒng)所支持的體感數(shù)據(jù)格式,將其寫(xiě)入對(duì)應(yīng)的需要獲取藍(lán)牙體感數(shù)據(jù)的設(shè)備節(jié)點(diǎn),供安卓系統(tǒng)使用。
具體的,步驟1中,所述智能設(shè)備為智能電視或智能移動(dòng)終端。
進(jìn)一步的,所述智能移動(dòng)終端為智能手機(jī)或平板電腦。
具體的,步驟3中,所述將解析得到的數(shù)據(jù)封裝為安卓系統(tǒng)所支持的體感數(shù)據(jù)格式時(shí),還區(qū)分gsensor和陀螺儀數(shù)據(jù)。
再進(jìn)一步的,所述區(qū)分gsensor和陀螺儀數(shù)據(jù)時(shí),采用jni方法進(jìn)行區(qū)分。
具體的,還包括以下步驟:
步驟4、未連接藍(lán)牙體感設(shè)備或藍(lán)牙體感設(shè)備斷開(kāi)時(shí),定時(shí)掃描藍(lán)牙體感設(shè)備,若發(fā)現(xiàn)藍(lán)牙體感設(shè)備,則與其建立連接并注冊(cè)藍(lán)牙體感數(shù)據(jù)對(duì)應(yīng)的服務(wù),等待藍(lán)牙協(xié)議?;卣{(diào),回到步驟2,否則不進(jìn)行處理。
本發(fā)明的有益效果是,在本發(fā)明方案中,通過(guò)上述基于GATT的藍(lán)牙體感數(shù)據(jù)處理方法,可以使安卓系統(tǒng)的智能設(shè)備適配藍(lán)牙體感設(shè)備,增強(qiáng)用戶體驗(yàn),方便用戶。
具體實(shí)施方式
下面結(jié)合實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。
本發(fā)明所述基于GATT的藍(lán)牙體感數(shù)據(jù)處理方法為:首先安卓系統(tǒng)的智能設(shè)備中的應(yīng)用程序接收到開(kāi)機(jī)廣播后啟動(dòng),搜索藍(lán)牙體感設(shè)備,與其建立連接并注冊(cè)藍(lán)牙體感數(shù)據(jù)對(duì)應(yīng)的服務(wù),等待藍(lán)牙協(xié)議?;卣{(diào),當(dāng)藍(lán)牙體感設(shè)備發(fā)送藍(lán)牙體感數(shù)據(jù)時(shí),應(yīng)用程序中的回調(diào)函數(shù)被調(diào)用,提取藍(lán)牙體感數(shù)據(jù)并復(fù)制一份后以消息機(jī)制發(fā)送至另一線程進(jìn)行處理,消息接收方的線程接收到該藍(lán)牙體感數(shù)據(jù),對(duì)其按照該藍(lán)牙體感設(shè)備廠商提供的數(shù)據(jù)格式進(jìn)行解析,將解析得到的數(shù)據(jù)封裝為安卓系統(tǒng)所支持的體感數(shù)據(jù)格式,將其寫(xiě)入對(duì)應(yīng)的需要獲取藍(lán)牙體感數(shù)據(jù)的設(shè)備節(jié)點(diǎn),供安卓系統(tǒng)使用。
實(shí)施例
本發(fā)明實(shí)施例的基于GATT的藍(lán)牙體感數(shù)據(jù)處理方法,其包括以下步驟:
步驟1、安卓系統(tǒng)的智能設(shè)備中的應(yīng)用程序接收到開(kāi)機(jī)廣播后啟動(dòng),搜索藍(lán)牙體感設(shè)備,與其建立連接并注冊(cè)藍(lán)牙體感數(shù)據(jù)對(duì)應(yīng)的服務(wù),等待藍(lán)牙協(xié)議棧回調(diào)。
本例中,智能設(shè)備可以為智能電視或智能移動(dòng)終端等,如智能手機(jī)或平板電腦等。
步驟2、當(dāng)藍(lán)牙體感設(shè)備發(fā)送藍(lán)牙體感數(shù)據(jù)時(shí),應(yīng)用程序中的回調(diào)函數(shù)被調(diào)用,提取藍(lán)牙體感數(shù)據(jù)并復(fù)制一份后以消息機(jī)制發(fā)送至另一線程進(jìn)行處理。
步驟3、消息接收方的線程接收到該藍(lán)牙體感數(shù)據(jù),對(duì)其按照該藍(lán)牙體感設(shè)備廠商提供的數(shù)據(jù)格式進(jìn)行解析,將解析得到的數(shù)據(jù)封裝為安卓系統(tǒng)所支持的體感數(shù)據(jù)格式,將其寫(xiě)入對(duì)應(yīng)的需要獲取藍(lán)牙體感數(shù)據(jù)的設(shè)備節(jié)點(diǎn),供安卓系統(tǒng)使用。
本步驟中,將解析得到的數(shù)據(jù)封裝為安卓系統(tǒng)所支持的體感數(shù)據(jù)格式時(shí),還可區(qū)分gsensor和陀螺儀數(shù)據(jù)。區(qū)分gsensor和陀螺儀數(shù)據(jù)時(shí),可采用jni方法進(jìn)行區(qū)分。
還可以包括以下步驟:
步驟4、未連接藍(lán)牙體感設(shè)備或藍(lán)牙體感設(shè)備斷開(kāi)時(shí),定時(shí)掃描藍(lán)牙體感設(shè)備,若發(fā)現(xiàn)藍(lán)牙體感設(shè)備,則與其建立連接并注冊(cè)藍(lán)牙體感數(shù)據(jù)對(duì)應(yīng)的服務(wù),等待藍(lán)牙協(xié)議?;卣{(diào),回到步驟2,否則不進(jìn)行處理。