陳星伊
摘 要 藍(lán)牙是一種先進(jìn)的無(wú)線局域網(wǎng)技術(shù),數(shù)據(jù)傳輸功耗低,能夠更好地延長(zhǎng)Android手機(jī)的待機(jī)時(shí)長(zhǎng)。因此,論文基于藍(lán)牙技術(shù)開(kāi)發(fā)一個(gè)Android遙控系統(tǒng),將開(kāi)發(fā)板藍(lán)牙模塊與Android智能手機(jī)自配對(duì),實(shí)現(xiàn)藍(lán)牙連接、指令發(fā)送、操作接收等功能,比如觸摸屏控制事件、鍵盤(pán)輸入控制事件等,更加有效地控制電氣設(shè)備。
【關(guān)鍵詞】藍(lán)牙 Android 遙控系統(tǒng) 自配對(duì)
1 引言
隨著移動(dòng)通信、藍(lán)牙通信、Android手機(jī)的快速發(fā)展和進(jìn)步,基于Android手機(jī)開(kāi)發(fā)的遙控系統(tǒng)應(yīng)用越來(lái)越多,比如智能電視、智能家居、門(mén)禁系統(tǒng)等,大大地提高了人們生活、工作和學(xué)習(xí)的便捷性?;谒{(lán)牙開(kāi)發(fā)的Android遙控系統(tǒng)具有較低的功耗,具有較強(qiáng)的環(huán)保性,不需要額外輔助通信幫助,節(jié)省人力、物力和財(cái)力,可以為智能互聯(lián)網(wǎng)控制生活打下堅(jiān)實(shí)的基礎(chǔ)。
2 Android遙控系統(tǒng)功能設(shè)計(jì)
目前,基于Android的遙控系統(tǒng)多部署和運(yùn)行于智能手機(jī),智能手機(jī)采用了先進(jìn)的觸摸屏技術(shù),因此在藍(lán)牙通信和遙控控制過(guò)程中,Android遙控系統(tǒng)主要包括四個(gè)關(guān)鍵功能,分別是鼠標(biāo)鍵盤(pán)遙控、傳感器控制、模擬遙控器控制和藍(lán)牙連接通信功能。
2.1 鼠標(biāo)鍵盤(pán)遙控
鼠標(biāo)鍵盤(pán)控制包括鼠標(biāo)指針和鍵盤(pán)按鈕兩個(gè)部分。在使用觸摸屏的過(guò)程中,人的手指就是鼠標(biāo)指針,系統(tǒng)需要捕捉人手的移動(dòng)方向和觸摸激發(fā)。把控制端應(yīng)用要求頁(yè)面中的一部分內(nèi)容設(shè)置為觸摸捕捉區(qū),在該區(qū)域滑動(dòng)手指時(shí),系統(tǒng)將會(huì)捕捉到手指滑動(dòng)操作,同時(shí)抓取手指滑動(dòng)操作中的一系列位移事件,在區(qū)域外的滑動(dòng)過(guò)程將不會(huì)被記錄。采集控制端端點(diǎn)控制時(shí)間之后,系統(tǒng)會(huì)獲取單擊事件,將事件發(fā)送給被控制端,被控端可以產(chǎn)生一個(gè)單擊事件。鍵盤(pán)控制和鼠標(biāo)指針控制處于同一個(gè)系統(tǒng)界面,兩者的操作是互相交叉的,鍵盤(pán)控制可以利用界面中的表單實(shí)現(xiàn)數(shù)據(jù)輸入,并且提供一個(gè)顯示用戶輸入的字符,查看信息輸入的狀態(tài)。
2.2 傳感器遙控
控制端傳感器可以在控制Tab頁(yè)面顯示各類(lèi)型的傳感器種類(lèi)圖標(biāo),并且將其設(shè)置為開(kāi)關(guān)按鈕,打開(kāi)相關(guān)的傳感器則可以實(shí)現(xiàn)數(shù)據(jù)傳輸和發(fā)送。傳感器事件誕生之后,即可將相關(guān)的數(shù)據(jù)發(fā)送給被控制端,避免產(chǎn)生錯(cuò)誤,造成不必要的時(shí)延,同時(shí)被控制端接收到傳感器數(shù)據(jù)之后,可以將其注入到相關(guān)的傳感器設(shè)備文件中。
2.3 模擬遙控器控制
模擬遙控器控制采用一個(gè)新的Tab頁(yè)面布局虛擬按鍵,以便能夠模擬整體遙控器的布局,實(shí)時(shí)監(jiān)聽(tīng)這些按鈕的事件,及時(shí)響應(yīng)控制按鈕的觸發(fā)內(nèi)容。
2.4 藍(lán)牙連接通信功能
藍(lán)牙設(shè)備重新發(fā)起連接之后,用戶可以顯示連接狀態(tài),修改藍(lán)牙設(shè)備的名稱,通常情況下程序進(jìn)入到自動(dòng)修改程序,如果無(wú)法實(shí)現(xiàn)自動(dòng)修改,也可以進(jìn)行手動(dòng)修改。藍(lán)牙連接完成之后,如果某種事件造成連接斷開(kāi),可以及時(shí)地發(fā)起連接動(dòng)作,為藍(lán)牙通信重新建立連接。藍(lán)牙連接完畢之后,系統(tǒng)可以顯示出控制界面,如果沒(méi)有連接成功,則循環(huán)進(jìn)入到連接頁(yè)面,使用手動(dòng)功能發(fā)起連接,按照藍(lán)牙傳輸協(xié)議完成數(shù)據(jù)通信,在整個(gè)生命周期都可以實(shí)時(shí)地發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。
3 藍(lán)牙傳輸技術(shù)在遙控系統(tǒng)中的應(yīng)用
Android遙控系統(tǒng)采用電容屏接受相關(guān)的事件,控制藍(lán)牙連接的各個(gè)按鈕內(nèi)容,因此本文針對(duì)藍(lán)牙傳輸技術(shù)在遙控系統(tǒng)中的應(yīng)用進(jìn)行重點(diǎn)闡述。首先,Android開(kāi)發(fā)板發(fā)起藍(lán)牙掃描,Android智能手機(jī)等待藍(lán)牙連接。Android開(kāi)發(fā)板可以根據(jù)需求編輯自己的名稱,等待連接的Android智能手機(jī)需要按照開(kāi)發(fā)板的要求設(shè)置。開(kāi)發(fā)板可以選擇Android智能手機(jī)的設(shè)備名稱建立連接,這樣做的好處是手機(jī)端僅需要修改藍(lán)牙設(shè)備名稱即可,然后就可以進(jìn)行連接配對(duì)。
開(kāi)發(fā)板作為掃描設(shè)備時(shí),自動(dòng)配對(duì)的步驟如下:
(1)根據(jù)需求強(qiáng)制打開(kāi)藍(lán)牙,此時(shí)藍(lán)牙設(shè)備不需要手動(dòng)打開(kāi),也不需要用戶進(jìn)行確認(rèn)即可執(zhí)行第二步。
(2)開(kāi)發(fā)板自動(dòng)獲取藍(lán)牙適配器,并且開(kāi)始掃描操作。
(3)掃描到Android智能手機(jī)設(shè)備之后,開(kāi)發(fā)板自動(dòng)發(fā)起連接。
(4)開(kāi)發(fā)板與Android智能手機(jī)進(jìn)行自動(dòng)配對(duì),自動(dòng)配對(duì)過(guò)程不需要采用SSP簡(jiǎn)單配對(duì)協(xié)議,而是采用設(shè)置PIN碼的方式進(jìn)行自動(dòng)配對(duì)。
(5)等待藍(lán)牙通道傳輸數(shù)據(jù),從輸入數(shù)據(jù)流中讀取數(shù)據(jù)包。
Android智能手機(jī)作為等待連接的機(jī)器設(shè)備,其實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟襟E如下:
(1)人工手動(dòng)打開(kāi)Android智能手機(jī)的藍(lán)牙功能。
(2)根據(jù)需求設(shè)置Android智能手機(jī)的藍(lán)牙設(shè)備名稱。
(3)等待連接。遙控系統(tǒng)發(fā)起連接的是Android開(kāi)發(fā)板,因此需要精準(zhǔn)地設(shè)置需要連接智能手機(jī)的名稱,以便開(kāi)發(fā)板能夠更加快速和精準(zhǔn)有效地實(shí)現(xiàn)通信連接。
(4)藍(lán)牙連接成功之后,開(kāi)始控制指令,通過(guò)輸出數(shù)據(jù)流發(fā)送數(shù)據(jù)包,實(shí)現(xiàn)藍(lán)牙通信傳輸。
完成智能遙控系統(tǒng)基礎(chǔ)通信程序之后,可以利用Java程序語(yǔ)言、QT開(kāi)發(fā)平臺(tái)等設(shè)計(jì)一個(gè)完整的系統(tǒng),把該系統(tǒng)部署于Android手機(jī),為用戶提供一個(gè)功能完善和友好的操作界面,保證系統(tǒng)的正常運(yùn)行。
4 結(jié)束語(yǔ)
隨著智能手機(jī)的快速普及,智能手機(jī)自身攜帶的藍(lán)牙功能可以實(shí)現(xiàn)對(duì)家用電器的控制,比如可以控制智能電視,實(shí)現(xiàn)電視開(kāi)關(guān)、音量控制和選臺(tái)等功能。因此,以藍(lán)牙技術(shù)和Android平臺(tái)為基礎(chǔ),集成觸摸屏、傳感器功能,利用嵌入式軟件開(kāi)發(fā)環(huán)境實(shí)現(xiàn)系統(tǒng)功能。
參考文獻(xiàn)
[1]肖佳旭,張歆奕,何興.基于藍(lán)牙的智能手機(jī)遙控系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2016,6(03):71-73.
[2]劉少軍,王瑜瑜.基于Android手機(jī)藍(lán)牙控制的智能小車(chē)設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2016,39(09):114-117.
[3]聶茹.基于Android手機(jī)藍(lán)牙控制的智能小車(chē)設(shè)計(jì)與實(shí)現(xiàn)[J].微型電腦應(yīng)用,2015,31(09):68-69.
[4]湯莉莉,黃偉.基于Android手機(jī)藍(lán)牙控制的智能小車(chē)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(12):132-134.
作者單位
聊城大學(xué)后備軍官學(xué)院 山東省聊城市 252059