本發(fā)明涉及通信領(lǐng)域,特別是涉及一種藍(lán)牙通信方法及藍(lán)牙通信裝置。
背景技術(shù):
在移動(dòng)設(shè)備領(lǐng)域,現(xiàn)有的藍(lán)牙技術(shù)得到廣泛的應(yīng)用。到目前為止,藍(lán)牙的傳輸速率可以達(dá)1.8M/s~2.1M/s,在Android OS 4.3版本之后,還支持相應(yīng)的BLE(Bluetooth low energy,藍(lán)牙低功耗協(xié)議)技術(shù),以降低藍(lán)牙通信的能耗。
但是在現(xiàn)有的藍(lán)牙通信技術(shù)中,當(dāng)藍(lán)牙通信設(shè)備A超出藍(lán)牙通信設(shè)備B的藍(lán)牙連接范圍的情況下,藍(lán)牙通信設(shè)備A和藍(lán)牙通信設(shè)備B之間的藍(lán)牙通信連接會(huì)被迫斷開(kāi),導(dǎo)致通信失敗;即使該藍(lán)牙通信設(shè)備A隨后回到了藍(lán)牙通信設(shè)備B的藍(lán)牙連接范圍內(nèi),也需要用戶(hù)通過(guò)操作藍(lán)牙通信設(shè)備A重新建立該藍(lán)牙通信連接才能繼續(xù)通信,操作較為繁瑣,通信效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種通信效率高的藍(lán)牙通信方法及藍(lán)牙通信裝置;以解決現(xiàn)有的藍(lán)牙通信方法以及藍(lán)牙通信裝置的操作繁瑣以及通信效率較低的技術(shù)問(wèn)題。
本發(fā)明實(shí)施例提供一種藍(lán)牙通信方法,其包括:
與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接;
當(dāng)所述藍(lán)牙通信連接斷開(kāi)時(shí),判斷所述藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);以及
如所述藍(lán)牙通信連接為被動(dòng)斷開(kāi),則在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與所述目標(biāo)藍(lán) 牙通信設(shè)備的藍(lán)牙通信連接。
本發(fā)明實(shí)施例還提供一種藍(lán)牙通信裝置,其包括:
連接建立模塊,用于與所述目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接;
判斷模塊,用于當(dāng)所述藍(lán)牙通信連接斷開(kāi)時(shí),判斷所述藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);以及
重連模塊,用于如所述藍(lán)牙通信連接為被動(dòng)斷開(kāi),則在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與所述目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接。
相較于現(xiàn)有技術(shù)的藍(lán)牙通信方法及藍(lán)牙通信裝置,本發(fā)明的藍(lán)牙通信方法及藍(lán)牙通信裝置通過(guò)反復(fù)重連來(lái)保證藍(lán)牙通信連接的穩(wěn)定,操作簡(jiǎn)單且通信效率高;解決了現(xiàn)有的藍(lán)牙通信方法以及藍(lán)牙通信裝置的操作繁瑣以及通信效率較低的技術(shù)問(wèn)題。
附圖說(shuō)明
圖1為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的流程圖;
圖2為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的步驟S1052的流程圖;
圖3為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的步驟S1052時(shí),目標(biāo)藍(lán)牙通信設(shè)備的操作流程圖;
圖4為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的流程圖;
圖5為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的步驟S404的流程圖;
圖6為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的步驟S4042的流程圖
圖7為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
圖8為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的重連模塊的結(jié)構(gòu)示意圖;
圖9為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的目標(biāo)藍(lán)牙通信設(shè)備的結(jié)構(gòu)示意圖;
圖10為本發(fā)明的藍(lán)牙通信裝置的第二優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
圖11為本發(fā)明的藍(lán)牙通信裝置的第二優(yōu)選實(shí)施例的傳輸數(shù)據(jù)發(fā)送模塊的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請(qǐng)參照?qǐng)D式,其中相同的組件符號(hào)代表相同的組件,本發(fā)明的原理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來(lái)舉例說(shuō)明。以下的說(shuō)明是基于所例示的本發(fā)明具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
本發(fā)明的藍(lán)牙通信方法可設(shè)置在具有藍(lán)牙功能的藍(lán)牙通信裝置中,該藍(lán)牙通信裝置包括但不限于手機(jī)、智能平板、智能手表以及智能配飾等。該藍(lán)牙通信裝置可與另一具有藍(lán)牙的藍(lán)牙移動(dòng)設(shè)備或藍(lán)牙固定設(shè)備建立藍(lán)牙通信連接。
請(qǐng)參照?qǐng)D1,圖1為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的藍(lán)牙通信方法包括:
步驟S101,搜索周?chē)繕?biāo)藍(lán)牙通信設(shè)備的設(shè)備名,并根據(jù)用戶(hù)操作確定一目標(biāo)藍(lán)牙通信設(shè)備;
步驟S102,向目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,并接收目標(biāo)藍(lán)牙通信設(shè)備的配對(duì)應(yīng)答;
步驟S103,根據(jù)配對(duì)應(yīng)答以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字,并使用該藍(lán)牙通信客戶(hù)端套接字,與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接;
步驟S104,當(dāng)藍(lán)牙通信連接斷開(kāi)時(shí),判斷藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);如藍(lán)牙通信連接為被動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S105;如藍(lán)牙通信連接為主動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S106;
步驟S105,在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與所述目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接;
步驟S106,刪除藍(lán)牙通信客戶(hù)端套接字。
下面詳細(xì)說(shuō)明本優(yōu)選實(shí)施例的藍(lán)牙通信方法的各步驟的具體流程。
在步驟S101中,藍(lán)牙通信裝置搜索位于該目標(biāo)藍(lán)牙通信設(shè)備周?chē)哪繕?biāo)藍(lán) 牙通信設(shè)備的設(shè)備名,該設(shè)備名可為目標(biāo)藍(lán)牙通信設(shè)備自帶的名稱(chēng),如設(shè)備編號(hào)等或用戶(hù)自定義的名稱(chēng),如三星9100或我的手表等。隨后用戶(hù)根據(jù)搜索到的目標(biāo)藍(lán)牙通信設(shè)備的設(shè)備名選定一進(jìn)行通信的目標(biāo)藍(lán)牙通信設(shè)備,隨后轉(zhuǎn)到步驟S102。
在步驟S102中,藍(lán)牙通信裝置向步驟S101確定的目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,該配對(duì)請(qǐng)求為藍(lán)牙通信裝置確定與目標(biāo)藍(lán)牙通信設(shè)備進(jìn)行藍(lán)牙數(shù)據(jù)通信的請(qǐng)求。目標(biāo)藍(lán)牙通信設(shè)備根據(jù)接收到的配對(duì)請(qǐng)求,生成配對(duì)應(yīng)答,并將該配對(duì)應(yīng)答發(fā)送至藍(lán)牙通信裝置,藍(lán)牙通信裝置接收目標(biāo)藍(lán)牙通信設(shè)備的配對(duì)應(yīng)答。該配對(duì)應(yīng)答是指目標(biāo)藍(lán)牙通信設(shè)備同意與藍(lán)牙通信裝置進(jìn)行藍(lán)牙數(shù)據(jù)通信的應(yīng)答。隨后轉(zhuǎn)到步驟S103。
在步驟S103中,藍(lán)牙通信裝置接收到配對(duì)應(yīng)答后,根據(jù)預(yù)設(shè)的藍(lán)牙通信協(xié)議,如RFCOMM協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字(Bluetooth Socket),并使用該藍(lán)牙通信客戶(hù)端套接字與相應(yīng)的目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接。
步驟S101至步驟S103的藍(lán)牙通信連接的具體建立過(guò)程也可采用其他方法,具體的藍(lán)牙通信連接的建立方法的不同并不限制本發(fā)明的保護(hù)范圍。
在步驟S104中,藍(lán)牙通信裝置會(huì)檢測(cè)藍(lán)牙通信連接是否斷開(kāi),這里的連接斷開(kāi)包括主動(dòng)斷開(kāi)以及被動(dòng)斷開(kāi),主動(dòng)斷開(kāi)是指用戶(hù)通過(guò)操作關(guān)閉該藍(lán)牙通信連接;被動(dòng)斷開(kāi)是指用戶(hù)并未通過(guò)操作關(guān)閉該藍(lán)牙通信連接,而是藍(lán)牙通信裝置離開(kāi)了目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信范圍,使得藍(lán)牙通信裝置無(wú)法與目標(biāo)藍(lán)牙通信設(shè)備進(jìn)行數(shù)據(jù)通信。被動(dòng)斷開(kāi)往往是用戶(hù)無(wú)意識(shí)的行為。
如藍(lán)牙通信裝置檢測(cè)到藍(lán)牙通信連接斷開(kāi),則會(huì)繼續(xù)判斷藍(lán)牙通信連接是否為被動(dòng)斷開(kāi),如藍(lán)牙通信連接為被動(dòng)斷開(kāi)則轉(zhuǎn)到步驟S105,如藍(lán)牙通信連接為主動(dòng)斷開(kāi)則轉(zhuǎn)到步驟S106。
在步驟S105中,藍(lán)牙通信裝置檢測(cè)到藍(lán)牙通信連接為被動(dòng)斷開(kāi),則在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接,具體的藍(lán)牙通信連接建立方法可包括以下步驟:
步驟S1051,向目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,并接收目標(biāo)藍(lán)牙通信設(shè)備的配對(duì)應(yīng)答;
步驟S1052,根據(jù)配對(duì)應(yīng)答以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字,并使用藍(lán)牙通信客戶(hù)端套接字,與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接。通過(guò)配對(duì)請(qǐng)求和配對(duì)應(yīng)答的設(shè)置可以提高藍(lán)牙通信連接建立的準(zhǔn)確性。
根據(jù)預(yù)設(shè)的藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字的步驟如圖2所示,圖2為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的步驟S1052的流程圖。該步驟S1052包括:
步驟S201,藍(lán)牙通信裝置根據(jù)配對(duì)應(yīng)答,讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼(UUID,Universally Unique Identifier),該應(yīng)用為安裝在藍(lán)牙通信裝置中的應(yīng)用軟件,該應(yīng)用中預(yù)設(shè)有通用唯一識(shí)別碼。通過(guò)設(shè)置通用唯一識(shí)別碼可以加強(qiáng)藍(lán)牙通信連接的安全性。
步驟S202,藍(lán)牙通信裝置根據(jù)步驟S1051讀取的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字。
其中使用藍(lán)牙通信客戶(hù)端套接字與相應(yīng)的目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接具體為,使用藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信服務(wù)器套接字(BluetoothServerSocket)建立藍(lán)牙通信連接。其中藍(lán)牙通信服務(wù)器套接字由目標(biāo)藍(lán)牙通信設(shè)備根據(jù)藍(lán)牙通信協(xié)議生成,具體的生成過(guò)程如圖3所示,圖3為本發(fā)明的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例的步驟S1052時(shí),目標(biāo)藍(lán)牙通信設(shè)備的操作流程圖。該生成過(guò)程具體包括:
步驟S301,目標(biāo)藍(lán)牙通信設(shè)備讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼,該通用唯一識(shí)別碼與藍(lán)牙通信裝置讀取的通用唯一識(shí)別碼相同。但是藍(lán)牙通信裝置中的應(yīng)用軟件可與目標(biāo)藍(lán)牙通信設(shè)備中的應(yīng)用相同或不同。
步驟S302,目標(biāo)藍(lán)牙通信設(shè)備根據(jù)步驟S301讀取的應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成所述藍(lán)牙通信服務(wù)器套接字。這樣可以較好的將藍(lán)牙通信連接和應(yīng)用關(guān)聯(lián)起來(lái),即不同藍(lán)牙設(shè)備上的同一應(yīng)用可以方便的通 過(guò)同一藍(lán)牙通信連接進(jìn)行數(shù)據(jù)傳輸。
這樣藍(lán)牙通信裝置的藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信服務(wù)器套接字重新建立了藍(lán)牙通信連接。
如在設(shè)定時(shí)間內(nèi)未能與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接,則刪除藍(lán)牙通信客戶(hù)端套接字。
在步驟S106中,藍(lán)牙通信裝置檢測(cè)到藍(lán)牙通信連接為主動(dòng)斷開(kāi),則刪除藍(lán)牙通信客戶(hù)端套接字。
這樣即完成了本優(yōu)選實(shí)施例的藍(lán)牙通信方法的藍(lán)牙通信過(guò)程。
本優(yōu)選實(shí)施例的藍(lán)牙通信方法通過(guò)反復(fù)重連來(lái)保證藍(lán)牙通信連接的穩(wěn)定,操作簡(jiǎn)單且通信效率高。
請(qǐng)參照?qǐng)D4,圖4為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的藍(lán)牙通信方法包括:
步驟S401,搜索周?chē)繕?biāo)藍(lán)牙通信設(shè)備的設(shè)備名,并根據(jù)用戶(hù)操作確定一目標(biāo)藍(lán)牙通信設(shè)備;
步驟S402,向目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,并接收目標(biāo)藍(lán)牙通信設(shè)備的配對(duì)應(yīng)答;
步驟S403,根據(jù)配對(duì)應(yīng)答以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字,并使用該藍(lán)牙通信客戶(hù)端套接字,與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接;
步驟S404,通過(guò)藍(lán)牙通信連接進(jìn)行數(shù)據(jù)傳輸;
步驟S405,當(dāng)藍(lán)牙通信連接斷開(kāi)時(shí),判斷藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);如藍(lán)牙通信連接為被動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S406;如藍(lán)牙通信連接為主動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S407;
步驟S406,在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接;
步驟S407,刪除藍(lán)牙通信客戶(hù)端套接字。
本優(yōu)選實(shí)施例的步驟S401至步驟S403與第一優(yōu)選實(shí)施例的步驟S101至 步驟S103中的描述相同或相似,具體請(qǐng)參見(jiàn)第一優(yōu)選實(shí)施例中的相關(guān)描述。
在步驟S404中,藍(lán)牙通信裝置通過(guò)步驟S403建立的藍(lán)牙通信連接進(jìn)行數(shù)據(jù)傳輸。具體如圖5所示,圖5為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的步驟S404的流程圖。該步驟S404包括:
步驟S4041,藍(lán)牙通信裝置通過(guò)藍(lán)牙通信連接,發(fā)送檢測(cè)數(shù)據(jù)至目標(biāo)藍(lán)牙通信設(shè)備,目標(biāo)藍(lán)牙通信設(shè)備根據(jù)接收到的檢測(cè)數(shù)據(jù)生成應(yīng)答數(shù)據(jù)。具體為,目標(biāo)藍(lán)牙通信設(shè)備根據(jù)檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度生成應(yīng)答數(shù)據(jù),如約定的檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度為4個(gè)字節(jié),則目標(biāo)藍(lán)牙通信設(shè)備檢測(cè)到檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度為4個(gè)字節(jié)(第一設(shè)定值),則生成應(yīng)答數(shù)據(jù),否則不生成應(yīng)答數(shù)據(jù)。
步驟S4042,藍(lán)牙通信裝置通過(guò)藍(lán)牙通信連接,接收目標(biāo)藍(lán)牙通信設(shè)備的應(yīng)答數(shù)據(jù),并根據(jù)該應(yīng)答數(shù)據(jù)發(fā)送傳輸數(shù)據(jù)至目標(biāo)藍(lán)牙通信設(shè)備。根據(jù)應(yīng)答數(shù)據(jù)確定傳輸數(shù)據(jù)的發(fā)送,可以進(jìn)一步保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
請(qǐng)參照?qǐng)D6,圖6為本發(fā)明的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例的步驟S4042的流程圖。根據(jù)應(yīng)答數(shù)據(jù)發(fā)送傳輸數(shù)據(jù)的過(guò)程可包括:
步驟S601,根據(jù)應(yīng)答數(shù)據(jù),創(chuàng)建至少一信令傳輸通道以及至少一數(shù)據(jù)傳輸通道;
步驟S602,將傳輸數(shù)據(jù)劃分為字節(jié)長(zhǎng)度小于等于第二設(shè)定值的命令傳輸數(shù)據(jù)以及字節(jié)長(zhǎng)度大于第二設(shè)定值的通信傳輸數(shù)據(jù);
步驟S603,通過(guò)信令傳輸通道傳輸命令傳輸數(shù)據(jù),通過(guò)數(shù)據(jù)傳輸通道傳輸通信傳輸數(shù)據(jù)。
傳輸數(shù)據(jù)包括字節(jié)長(zhǎng)度小于等于第二設(shè)定值,如512KB等的命令傳輸數(shù)據(jù)以及字節(jié)長(zhǎng)度大于第二設(shè)定值的通信傳輸數(shù)據(jù)。命令傳輸數(shù)據(jù)一般包括數(shù)據(jù)量較小的命令數(shù)據(jù),而通信傳輸數(shù)據(jù)一般包括數(shù)據(jù)量較大的通信數(shù)據(jù)。步驟S601創(chuàng)建多個(gè)傳輸通道,命令傳輸數(shù)據(jù)以及通信傳輸數(shù)據(jù)使用不同的傳輸通道進(jìn)行數(shù)據(jù)傳輸,由于命令傳輸數(shù)據(jù)通過(guò)專(zhuān)用的傳輸通道進(jìn)行傳輸,可以較好的避免通信傳輸數(shù)據(jù)的傳輸對(duì)命令傳輸數(shù)據(jù)傳輸?shù)挠绊憽?/p>
本優(yōu)選實(shí)施例的步驟S405至步驟S407與第一優(yōu)選實(shí)施例的步驟S104至步驟S106中的描述相同或相似,具體請(qǐng)參見(jiàn)第一優(yōu)選實(shí)施例中的相關(guān)描述。
這樣即完成了本優(yōu)選實(shí)施例的藍(lán)牙通信方法的藍(lán)牙通信過(guò)程。
本優(yōu)選實(shí)施例的藍(lán)牙通信方法在第一優(yōu)選實(shí)施例的基礎(chǔ)上,通過(guò)檢測(cè)數(shù)據(jù)以及應(yīng)答數(shù)據(jù)的設(shè)置進(jìn)一步提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。同時(shí)使用不同的傳輸通道進(jìn)行不同種類(lèi)的數(shù)據(jù)的傳輸,可以較好的避免不同種類(lèi)的數(shù)據(jù)傳輸之間的影響。進(jìn)一步提高了通信效率。
本發(fā)明還提供一種藍(lán)牙通信裝置,請(qǐng)參照?qǐng)D7,圖7為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的藍(lán)牙通信裝置70可使用上述的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例進(jìn)行實(shí)施。該藍(lán)牙通信裝置70包括搜索模塊71、配對(duì)模塊72、連接建立模塊73、判斷模塊74、重連模塊75以及刪除模塊76。搜索模塊71用于搜索周?chē)繕?biāo)藍(lán)牙通信設(shè)備77的設(shè)備名,并根據(jù)用戶(hù)操作確定一目標(biāo)藍(lán)牙通信設(shè)備;配對(duì)模塊72用于向目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,并接收目標(biāo)藍(lán)牙通信設(shè)備77的配對(duì)應(yīng)答;其中目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)配對(duì)請(qǐng)求,生成配對(duì)應(yīng)答;連接建立模塊73用于根據(jù)配對(duì)應(yīng)答以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字,并使用藍(lán)牙通信客戶(hù)端套接字,與目標(biāo)藍(lán)牙通信設(shè)備77建立藍(lán)牙通信連接;判斷模塊74用于當(dāng)藍(lán)牙通信連接斷開(kāi)時(shí),判斷藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);重連模塊75用于如藍(lán)牙通信連接為被動(dòng)斷開(kāi),則在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與所述目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接;刪除模塊76用于如藍(lán)牙通信連接為主動(dòng)斷開(kāi),則刪除藍(lán)牙通信客戶(hù)端套接字。其中該重連模塊75具體用于根據(jù)配對(duì)應(yīng)答以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字,并使用藍(lán)牙通信客戶(hù)端套接字,與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接。
請(qǐng)參照?qǐng)D8,圖8為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的重連模塊 的結(jié)構(gòu)示意圖。該連接建立模塊75包括第一識(shí)別碼讀取單元751、客戶(hù)端套接字生成單元752以及連接建立單元753。第一識(shí)別碼讀取單元751用于根據(jù)配對(duì)應(yīng)答,讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼;客戶(hù)端套接字生成單元752用于根據(jù)應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字;連接建立單元753用于通過(guò)藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備77的藍(lán)牙通信服務(wù)器套接字建立藍(lán)牙通信連接;其中藍(lán)牙通信服務(wù)器套接字由目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)藍(lán)牙通信協(xié)議生成。
請(qǐng)參照?qǐng)D9,圖9為本發(fā)明的藍(lán)牙通信裝置的第一優(yōu)選實(shí)施例的目標(biāo)藍(lán)牙通信設(shè)備的結(jié)構(gòu)示意圖。該目標(biāo)藍(lán)牙通信設(shè)備77包括第二識(shí)別碼讀取單元771、服務(wù)器套接字生成單元772以及應(yīng)答數(shù)據(jù)生成單元773。第二識(shí)別碼讀取單元771用于讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼;服務(wù)器套接字生成單元772用于根據(jù)應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信服務(wù)器套接字;應(yīng)答數(shù)據(jù)生成單元773用于如所述檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度等于第一設(shè)定值,則生成所述應(yīng)答數(shù)據(jù)。
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置70使用時(shí),搜索模塊71搜索位于該目標(biāo)藍(lán)牙通信設(shè)備77周?chē)哪繕?biāo)藍(lán)牙通信設(shè)備的設(shè)備名。用戶(hù)根據(jù)搜索到的目標(biāo)藍(lán)牙通信設(shè)備77的設(shè)備名選定一進(jìn)行通信的目標(biāo)藍(lán)牙通信設(shè)備77。
隨后配對(duì)模塊72向搜索模塊71確定的目標(biāo)藍(lán)牙通信設(shè)備77發(fā)送配對(duì)請(qǐng)求,目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)接收到的配對(duì)請(qǐng)求,生成配對(duì)應(yīng)答,并將該配對(duì)應(yīng)答發(fā)送至藍(lán)牙通信裝置70,配對(duì)模塊72接收目標(biāo)藍(lán)牙通信設(shè)備77的配對(duì)應(yīng)答。
然后配對(duì)模塊72接收到配對(duì)應(yīng)答后,連接建立模塊73根據(jù)預(yù)設(shè)的藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字(Bluetooth Socket),并使用該藍(lán)牙通信客戶(hù)端套接字與相應(yīng)的目標(biāo)藍(lán)牙通信設(shè)備77建立藍(lán)牙通信連接。
隨后判斷模塊74會(huì)檢測(cè)藍(lán)牙通信連接是否斷開(kāi),這里的連接斷開(kāi)包括主動(dòng)斷開(kāi)以及被動(dòng)斷開(kāi),主動(dòng)斷開(kāi)是指用戶(hù)通過(guò)操作關(guān)閉該藍(lán)牙通信連接;被動(dòng)斷 開(kāi)是指用戶(hù)并未通過(guò)操作關(guān)閉該藍(lán)牙通信連接,而是藍(lán)牙通信裝置70離開(kāi)了目標(biāo)藍(lán)牙通信設(shè)備77的藍(lán)牙通信范圍,使得藍(lán)牙通信裝置70無(wú)法與目標(biāo)藍(lán)牙通信設(shè)備77進(jìn)行數(shù)據(jù)通信。被動(dòng)斷開(kāi)往往是用戶(hù)無(wú)意識(shí)的行為。
如判斷模塊74檢測(cè)到藍(lán)牙通信連接斷開(kāi),則判斷模塊74會(huì)繼續(xù)判斷藍(lán)牙通信連接是否為被動(dòng)斷開(kāi),如檢測(cè)到藍(lán)牙通信連接為被動(dòng)斷開(kāi),則重連模塊75在設(shè)定時(shí)間內(nèi)自動(dòng)恢復(fù)與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信連接。當(dāng)然這里可直接使用現(xiàn)有的藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備的藍(lán)牙通信服務(wù)器套接字重新建立藍(lán)牙通信連接。
其中重連模塊75再次與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接包括以下步驟:
重連模塊75向目標(biāo)藍(lán)牙通信設(shè)備發(fā)送配對(duì)請(qǐng)求,并接收目標(biāo)藍(lán)牙通信設(shè)備的配對(duì)應(yīng)答;通過(guò)配對(duì)請(qǐng)求和配對(duì)應(yīng)答的設(shè)置可以提高藍(lán)牙通信連接建立的準(zhǔn)確性。
重連模塊75的第一識(shí)別碼讀取單元751根據(jù)配對(duì)應(yīng)答,讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼(UUID,Universally Unique Identifier),該應(yīng)用為安裝在藍(lán)牙通信裝置70中的應(yīng)用軟件,該應(yīng)用中預(yù)設(shè)有通用唯一識(shí)別碼。通過(guò)設(shè)置通用唯一識(shí)別碼可以加強(qiáng)藍(lán)牙通信連接的安全性。
重連模塊75的客戶(hù)端套接字生成單元752根據(jù)第一識(shí)別碼讀取單元751讀取的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字。
重連模塊75使用藍(lán)牙通信客戶(hù)端套接字與相應(yīng)的目標(biāo)藍(lán)牙通信設(shè)備77建立藍(lán)牙通信連接具體為,使用藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備77的藍(lán)牙通信服務(wù)器套接字(BluetoothServerSocket)建立藍(lán)牙通信連接。其中藍(lán)牙通信服務(wù)器套接字由目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)藍(lán)牙通信協(xié)議生成,該生成過(guò)程具體包括:
目標(biāo)藍(lán)牙通信設(shè)備77的第二識(shí)別碼讀取單元771讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼,該通用唯一識(shí)別碼與藍(lán)牙通信裝置70讀取的通用唯一識(shí)別碼相同。但 是藍(lán)牙通信裝置70中的應(yīng)用軟件可與目標(biāo)藍(lán)牙通信設(shè)備77中的應(yīng)用相同或不同。
目標(biāo)藍(lán)牙通信設(shè)備77的服務(wù)器套接字生成單元772根據(jù)第二識(shí)別碼讀取單元771讀取的應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼以及藍(lán)牙通信協(xié)議,生成所述藍(lán)牙通信服務(wù)器套接字。這樣可以較好的將藍(lán)牙通信連接和應(yīng)用關(guān)聯(lián)起來(lái),即不同藍(lán)牙設(shè)備上的同一應(yīng)用可以方便的通過(guò)同一藍(lán)牙通信連接進(jìn)行數(shù)據(jù)傳輸。
這樣藍(lán)牙通信裝置70的藍(lán)牙通信客戶(hù)端套接字與目標(biāo)藍(lán)牙通信設(shè)備77的藍(lán)牙通信服務(wù)器套接字建立了藍(lán)牙通信連接。
如在設(shè)定時(shí)間內(nèi)未能與目標(biāo)藍(lán)牙通信設(shè)備建立藍(lán)牙通信連接,則刪除藍(lán)牙通信客戶(hù)端套接字。
如檢測(cè)到藍(lán)牙通信連接為主動(dòng)斷開(kāi),則刪除模塊76刪除藍(lán)牙通信客戶(hù)端套接字。
這樣即完成了本優(yōu)選實(shí)施例的藍(lán)牙通信裝置70的藍(lán)牙通信過(guò)程。
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置的具體工作原理與上述的藍(lán)牙通信方法的第一優(yōu)選實(shí)施例中的描述相同或相似,具體請(qǐng)參見(jiàn)上述藍(lán)牙通信方法的第一優(yōu)選實(shí)施例中的相關(guān)描述。
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置通過(guò)反復(fù)重連來(lái)保證藍(lán)牙通信連接的穩(wěn)定,操作簡(jiǎn)單且通信效率高。
請(qǐng)參照?qǐng)D10,圖10為本發(fā)明的藍(lán)牙通信裝置的第二優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的藍(lán)牙通信裝置可使用上述的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例進(jìn)行實(shí)施。該藍(lán)牙通信裝置100在第一優(yōu)選實(shí)施例的基礎(chǔ)上還包括檢測(cè)數(shù)據(jù)發(fā)送模塊101和傳輸數(shù)據(jù)發(fā)送模塊102,檢測(cè)數(shù)據(jù)發(fā)送模塊101用于通過(guò)藍(lán)牙通信連接,發(fā)送檢測(cè)數(shù)據(jù)至目標(biāo)藍(lán)牙通信設(shè)備77;傳輸數(shù)據(jù)發(fā)送模塊102用于通過(guò)藍(lán)牙通信連接,接收目標(biāo)藍(lán)牙通信設(shè)備77的所述應(yīng)答數(shù)據(jù),并根據(jù)應(yīng)答數(shù)據(jù)發(fā)送傳輸數(shù)據(jù);其中目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)檢測(cè)數(shù)據(jù)生成應(yīng)答數(shù)據(jù)。
請(qǐng)參照?qǐng)D11,圖11為本發(fā)明的藍(lán)牙通信裝置的第二優(yōu)選實(shí)施例的傳輸數(shù)據(jù)發(fā)送模塊的結(jié)構(gòu)示意圖。傳輸數(shù)據(jù)發(fā)送模塊102包括傳輸通道創(chuàng)建單元111、傳輸數(shù)據(jù)劃分單元112以及數(shù)據(jù)傳輸單元113;傳輸通道創(chuàng)建單元111用于根據(jù)應(yīng)答數(shù)據(jù),創(chuàng)建至少一信令傳輸通道以及至少一數(shù)據(jù)傳輸通道;傳輸數(shù)據(jù)劃分單元112用于將傳輸數(shù)據(jù)劃分為字節(jié)長(zhǎng)度小于等于第二設(shè)定值的命令傳輸數(shù)據(jù)以及字節(jié)長(zhǎng)度大于第二設(shè)定值的通信傳輸數(shù)據(jù);數(shù)據(jù)傳輸單元113用于使通過(guò)信令傳輸通道傳輸命令傳輸數(shù)據(jù),通過(guò)數(shù)據(jù)傳輸通道傳輸通信傳輸數(shù)據(jù)。
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置100使用時(shí),檢測(cè)數(shù)據(jù)發(fā)送模塊101通過(guò)藍(lán)牙通信連接,發(fā)送檢測(cè)數(shù)據(jù)至目標(biāo)藍(lán)牙通信設(shè)備77,目標(biāo)藍(lán)牙通信設(shè)備77的應(yīng)答數(shù)據(jù)生成單元773根據(jù)接收到的檢測(cè)數(shù)據(jù)生成應(yīng)答數(shù)據(jù)。具體為,目標(biāo)藍(lán)牙通信設(shè)備77根據(jù)檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度生成應(yīng)答數(shù)據(jù),如約定的檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度為4個(gè)字節(jié),則目標(biāo)藍(lán)牙通信設(shè)備77檢測(cè)到檢測(cè)數(shù)據(jù)的字節(jié)長(zhǎng)度為4個(gè)字節(jié)(第一設(shè)定值),則生成應(yīng)答數(shù)據(jù),否則不生成應(yīng)答數(shù)據(jù)。
傳輸數(shù)據(jù)發(fā)送模塊102通過(guò)藍(lán)牙通信連接,接收目標(biāo)藍(lán)牙通信設(shè)備77的應(yīng)答數(shù)據(jù),并根據(jù)該應(yīng)答數(shù)據(jù)發(fā)送傳輸數(shù)據(jù)至目標(biāo)藍(lán)牙通信設(shè)備77。根據(jù)應(yīng)答數(shù)據(jù)確定傳輸數(shù)據(jù)的發(fā)送,可以進(jìn)一步保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
傳輸通道創(chuàng)建單元111創(chuàng)建至少一信令傳輸通道以及至少一數(shù)據(jù)傳輸通道;傳輸數(shù)據(jù)劃分單元112對(duì)傳輸數(shù)據(jù)進(jìn)行劃分;傳輸數(shù)據(jù)包括字節(jié)長(zhǎng)度小于等于第二設(shè)定值,如512KB等的命令傳輸數(shù)據(jù)以及字節(jié)長(zhǎng)度大于第二設(shè)定值的通信傳輸數(shù)據(jù)。命令傳輸數(shù)據(jù)一般包括數(shù)據(jù)量較小的命令數(shù)據(jù),而通信傳輸數(shù)據(jù)一般包括數(shù)據(jù)量較大的通信數(shù)據(jù)。數(shù)據(jù)傳輸單元113通過(guò)信令傳輸通道傳輸命令傳輸數(shù)據(jù),通過(guò)數(shù)據(jù)傳輸通道傳輸通信傳輸數(shù)據(jù),由于命令傳輸數(shù)據(jù)通過(guò)專(zhuān)用的傳輸通道進(jìn)行傳輸,可以較好的避免通信傳輸數(shù)據(jù)的傳輸對(duì)命令傳輸數(shù)據(jù)傳輸?shù)挠绊憽?/p>
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置100的具體工作原理與上述的藍(lán)牙通信方法的第二優(yōu)選實(shí)施例中的描述相同或相似,具體請(qǐng)參見(jiàn)上述藍(lán)牙通信方法的第二 優(yōu)選實(shí)施例中的相關(guān)描述。
本優(yōu)選實(shí)施例的藍(lán)牙通信裝置在第一優(yōu)選實(shí)施例的基礎(chǔ)上,通過(guò)檢測(cè)數(shù)據(jù)以及應(yīng)答數(shù)據(jù)的設(shè)置進(jìn)一步提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。同時(shí)使用不同的傳輸通道進(jìn)行不同種類(lèi)的數(shù)據(jù)的傳輸,可以較好的避免不同種類(lèi)的數(shù)據(jù)傳輸之間的影響。進(jìn)一步提高了通信效率。
下面通過(guò)一具體實(shí)施例說(shuō)明本發(fā)明的藍(lán)牙通信方法及藍(lán)牙通信裝置的具體工作原理。其中藍(lán)牙通信裝置為手機(jī),與之進(jìn)行藍(lán)牙通信的目標(biāo)藍(lán)牙通信設(shè)備為智能手表。其包括以下步驟:
步驟S1201,手機(jī)A搜索周?chē)哪繕?biāo)藍(lán)牙通信設(shè)備的設(shè)備名,然后在手機(jī)A顯示屏上顯示所有的搜索到的目標(biāo)藍(lán)牙通信設(shè)備的設(shè)備名:智能手表B、手機(jī)C以及平板電腦D。
步驟S1202,用戶(hù)選擇智能手表B作為建立藍(lán)牙通信連接的目標(biāo)藍(lán)牙通信設(shè)備。
步驟S1203,手機(jī)A向智能手表B發(fā)送配對(duì)請(qǐng)求,智能手表B接收到該配對(duì)請(qǐng)求,并根據(jù)該配對(duì)請(qǐng)求生成配對(duì)應(yīng)答;隨后手機(jī)A接收智能手表B的配對(duì)應(yīng)答。
步驟S1204,手機(jī)A接收到配對(duì)應(yīng)答后,讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼UUID,并根據(jù)該UUID以及預(yù)設(shè)的RFCOMM協(xié)議,生成藍(lán)牙通信客戶(hù)端套接字BluetoothSocket。同時(shí)智能手表B也讀取應(yīng)用預(yù)設(shè)的通用唯一識(shí)別碼UUID,并根據(jù)UUID以及預(yù)設(shè)的RFCOMM協(xié)議,生成藍(lán)牙通信服務(wù)端套接字BluetoothServerSocket。
步驟S1205,手機(jī)A使用藍(lán)牙通信客戶(hù)端套接字與智能手表B的藍(lán)牙通信服務(wù)器套接字建立藍(lán)牙通信連接。
步驟S1206,在數(shù)據(jù)傳輸之前,手機(jī)A會(huì)發(fā)送一檢測(cè)數(shù)據(jù)至智能手表B,智能手表B會(huì)根據(jù)該檢測(cè)數(shù)據(jù)發(fā)送一應(yīng)答數(shù)據(jù)至手機(jī)A。
步驟S1207,手機(jī)A接收到應(yīng)答數(shù)據(jù)之后,手機(jī)A開(kāi)始通過(guò)藍(lán)牙通信連接與智能手表B進(jìn)行數(shù)據(jù)傳輸,進(jìn)行數(shù)據(jù)傳輸時(shí),命令傳輸數(shù)據(jù)和通信傳輸數(shù)據(jù)使用不同的傳輸通道進(jìn)行傳輸。
步驟S1208,在數(shù)據(jù)傳輸過(guò)程中,手機(jī)A會(huì)檢測(cè)藍(lán)牙通信連接是否斷開(kāi),如藍(lán)牙通信連接斷開(kāi),手機(jī)A則會(huì)進(jìn)一步判斷該藍(lán)牙通信連接是否為被動(dòng)斷開(kāi);如該藍(lán)牙通信連接為被動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S1209,如該藍(lán)牙通信連接為主動(dòng)斷開(kāi),則轉(zhuǎn)到步驟S1210。
步驟S1209,手機(jī)A每隔3秒重連一次,重復(fù)連接20次,如在60秒之后還未建立連接,則刪除藍(lán)牙通信客戶(hù)端套接字,結(jié)束藍(lán)牙通信過(guò)程。
步驟S1210,由于用戶(hù)主動(dòng)斷開(kāi)連接,因此手機(jī)A直接刪除藍(lán)牙通信客戶(hù)端套接字,結(jié)束藍(lán)牙通信過(guò)程。
本發(fā)明的藍(lán)牙通信方法及藍(lán)牙通信裝置通過(guò)反復(fù)重連來(lái)保證藍(lán)牙通信連接的穩(wěn)定,通信效率高;解決了現(xiàn)有的藍(lán)牙通信方法以及藍(lán)牙通信裝置的通信效率較低的技術(shù)問(wèn)題。
本發(fā)明實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。上述的各裝置或系統(tǒng),可以執(zhí)行相應(yīng)方法實(shí)施例中的方法。
綜上所述,雖然本發(fā)明已以?xún)?yōu)選實(shí)施例揭露如上,但上述優(yōu)選實(shí)施例并非用以限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求界定的范圍為準(zhǔn)。