曹慧
(九江職業(yè)技術(shù)學院,九江 332007)
藍牙調(diào)試助手的開發(fā)與實現(xiàn)
曹慧
(九江職業(yè)技術(shù)學院,九江332007)
許多電子系列產(chǎn)品的控制系統(tǒng)都較為封閉,主要是借助于成熟的串口來實現(xiàn)系統(tǒng)內(nèi)部與外界的數(shù)據(jù)交換。當系統(tǒng)出現(xiàn)問題時,只能通過系統(tǒng)報警信號來分析錯誤來源。如何快速地檢測和維護系統(tǒng),并實時地發(fā)送信息,是一項亟需解決的事情。隨著近年來藍牙技術(shù)的發(fā)展和廣泛應(yīng)用為這一問題的解決提供了新的思路。本次設(shè)計中我們采用近距離、高抗干擾的藍牙技術(shù)通過手機模擬電子設(shè)備的運行對數(shù)據(jù)進行無線接收和提取,為實現(xiàn)技術(shù)的工業(yè)化應(yīng)用奠定了理論性基礎(chǔ)。
本次制作的軟件名稱為“藍牙調(diào)試助手”,為手機端產(chǎn)品。主要通過歡迎界面、首屏界面、驗證連接界面以及調(diào)試界面實時接收另一臺手機模擬電子設(shè)備發(fā)出的實時電流以及電壓。
軟件系統(tǒng)分級圖如圖1所示。
本次實現(xiàn)模擬電子設(shè)備連接的藍牙核心協(xié)議為RFCOMM協(xié)議。RFCOMM協(xié)議提供了基于L2CAP協(xié)議的串口仿真,基于ETSI07.10的版本??芍С衷趦蓚€BT設(shè)備之間同時保持高達60路的通信連接。本系統(tǒng)為藍牙與電子產(chǎn)品提供相同的128位UUID進行驗證并建立通訊連接,通過彼此建立的特殊通道,實時信息將被手機端接收,并實時更新出另一臺電子設(shè)備的實時電流、電壓變化。協(xié)議棧線分層如圖2所示。
圖2 協(xié)議棧線分層圖
2.1系統(tǒng)實現(xiàn)
本系統(tǒng)的軟件開發(fā)是借助于 Android系統(tǒng)的Eclipse開發(fā)工具和Java平臺完成的。Java平臺由Java虛擬機 (Java Virtual Machine)和Java應(yīng)用編程接口(Application Programming Interface、簡稱API)構(gòu)成,相比于其他語言平臺更具健壯性、安全性和可移植性。而Eclipse是一個基于Java的可擴展開發(fā)工具,最大的特點是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,是目前國內(nèi)使用Java開發(fā)最多的開發(fā)工具,實用性不言而喻。
(1)環(huán)境配置
實施平臺首先需要在PC機端對環(huán)境變量進行配置,配置方案如圖3所示。
圖3 配置方案截圖
(2)軟件程序
●程序系統(tǒng)流程圖
在通過藍牙通信時,服務(wù)端首先要進行UUID的輸入然后搜索藍牙設(shè)備進行連接。其建立連接主要有5個步驟:(1)UUID初始化Init Bluetooth();(2)打開藍牙 bluetoothAdapter.enable();(3)設(shè)備搜索 bluetoothAdapter.startDiscovery();(4)建立通道accept()、獲取數(shù)據(jù)流getInputStream ();(5)斷開連接interrupt()sock,Close()。
初始化UUID主要是通過軟件本身預帶的128位UUID。當確認UUID無誤后,進入到下一級搜索界面,這時程序會自動調(diào)用enable()方法,打開藍牙。每次點擊該界面下的搜索按鈕就會調(diào)用startDiscovery()方法,搜索周邊所有可見藍牙設(shè)備以及讀取搜索到的藍牙設(shè)備地址,依次點擊目標藍牙地址進入次級界面:調(diào)試界面。該界面根據(jù)上級界面?zhèn)鬟f的UUID和藍牙地址,調(diào)用accept()方法請求客戶機的連接,當客戶機響應(yīng)后,即進行實時數(shù)據(jù)傳送。要斷開連接直接調(diào)用interrupt()方法斷開線程里的通道即可。
程序流程圖如下:
圖4 系統(tǒng)流程圖
●藍牙接口函數(shù)
主要用到了BluetoothServerSocket與BluetoothSocket兩個封裝類分別調(diào)用了accept()、getInputStream()兩個主要函數(shù)[2],首先建立起通道,然后取得輸入流,最后進行讀寫。
●主控程序片段
以上為程序主要片段,主要調(diào)用了BluetoothServer Socket與BluetoothSocket兩個封裝類里的accept()、getInputStream()兩個方法。另外對于獲取到的輸入流,用封裝的downWrite()方法,進行流的讀取和發(fā)送。通過Android中提供的一種異步回調(diào)機制Handler,使用它,我們可以在完成一個很長時間的任務(wù)后做出相應(yīng)的通知,以此來達到界面數(shù)據(jù)的實時更新。
(3)手機界面截屏
以下圖5中集中展示了“藍牙調(diào)試助手”中的歡迎界面、首屏界面、驗證連接界面以及調(diào)試界面。
圖5 歡迎界面、首屏界面、驗證連接界面以及調(diào)試界面
2.2功能仿真
兩終端設(shè)備進行連接之后,模擬設(shè)備端進行模擬數(shù)據(jù)發(fā)送,服務(wù)器端即刻將數(shù)據(jù)接收并打印在調(diào)試界面,通過實時接收來實現(xiàn)客戶端設(shè)備狀態(tài)的讀取與反饋。通過加載程序使得軟件支持后續(xù)的升級,可以通過Wi-Fi或者移動網(wǎng)絡(luò)進行實時軟件更新,該更新過程以PC作為服務(wù)器,軟件端使用PC機的IP地址訪問電腦上的Tomcat服務(wù)器,并與webapps文件夾下的服務(wù)端軟件進行校驗下載最新版本的軟件自動進行安裝[3]。為提高軟件健壯性,本系統(tǒng)采用了防反編譯技術(shù)杜絕了軟件被竊取的可能性,連接仿真測試如圖6所示:
圖6 連接仿真測試圖
隨著電子設(shè)備技術(shù)的不斷發(fā)展,藍牙技術(shù)與電子設(shè)備相結(jié)合構(gòu)建出的實時數(shù)據(jù)采集,藍牙無線傳輸系統(tǒng)將具有性能高、體積小、功耗低、抗干擾能力強、數(shù)據(jù)傳輸速度快、安裝維護方便適用于移動設(shè)備和便攜設(shè)備等優(yōu)點。本次所設(shè)計的“藍牙調(diào)試助手”,有效的實現(xiàn)了對模擬電子設(shè)備的數(shù)據(jù)采集和短距離內(nèi)數(shù)據(jù)的無線傳輸,對于類似的數(shù)據(jù)采集系統(tǒng)的設(shè)計具有很好的借鑒意義。
[1]Brent A.Miller,chatschik Bisdikian.藍牙核心技術(shù).北京機械工業(yè)出版社,2012.04.
[2]嚴紫建,劉元安.現(xiàn)代移動通信應(yīng)用技術(shù)叢書.藍牙技術(shù).北京郵電大學出版社,2009.12.
[3]鮑三泉.如何將藍牙技術(shù)嵌入到終端產(chǎn)品.電子質(zhì)量,2011.12.
Bluetooth;Bluetooth Debugging Assistant
Development and Implementation of Bluetooth Debugging Assistant
CAO Hui
(Jiujiang Vocational and Technical College,Jiujinag 332007)
1007-1423(2015)34-0060-04
10.3969/j.issn.1007-1423.2015.34.016
曹慧(1981-),女,江蘇東臺人,工程師,本科,研究生,研究方向為計算機軟件技術(shù)
2015-11-20
2015-12-01
藍牙,作為一種短距離通信的無線電技術(shù),被廣泛的應(yīng)用在包括移動電話、PDA、無線耳機、筆記本電腦等眾多設(shè)備之間進行無線信息交換。隨著藍牙技術(shù)的發(fā)展與優(yōu)化越來越多應(yīng)用開發(fā)都將傾向于這種便捷且低功耗的無線傳輸。但目前市場上有關(guān)藍牙的手機應(yīng)用軟件大多數(shù)都停留在手機傳輸文件為主的功能上,這使得該項技術(shù)變得過于單調(diào)和貧乏?;诖?,就如何將此技術(shù)在Android系統(tǒng)開發(fā)平臺上創(chuàng)建無線藍牙多元素對接進行研究,并通過仿真實現(xiàn)驗證此項研究的可行性。
藍牙;藍牙調(diào)試助手
Bluetooth,as a radio technology for short distance communication,is widely used in the wireless information exchange between the mobile phone,PDA,wireless headphones,notebook computer,peripherals and other equipment.With the development of Bluetooth technology and optimization more and more application development will tend to the wireless transmission of this convenience and low power consumption.But most of the current market for Bluetooth mobile phone application software are mainly focused on mobile phone file transfer function,which makes the technology becoming too monotonous and poor.Based on this,carries out on how to use this technology in the Android system development platform to create a wireless Bluetooth multi element docking study,and the simulation verifies the feasibility study.