《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于藍(lán)牙與智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng)
基于藍(lán)牙與智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2012年第17期
李建高,李樹(shù)明
(南京郵電大學(xué) 理學(xué)院,江蘇 南京 210003)
摘要: 介紹了一種基于藍(lán)牙與智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng)及藍(lán)牙系統(tǒng)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)系統(tǒng)架構(gòu)、下位機(jī)、手機(jī)端與服務(wù)器端的相關(guān)設(shè)計(jì),給出了相應(yīng)軟、硬件設(shè)計(jì)的流程圖以及硬件模塊的電路圖。
Abstract:
Key words :

摘  要: 介紹了一種基于藍(lán)牙智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng)及藍(lán)牙系統(tǒng)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)系統(tǒng)架構(gòu)、下位機(jī)、手機(jī)端與服務(wù)器端的相關(guān)設(shè)計(jì),給出了相應(yīng)軟、硬件設(shè)計(jì)的流程圖以及硬件模塊的電路圖。
關(guān)鍵詞: 藍(lán)牙;智能手機(jī);智能家居;節(jié)點(diǎn)

 我國(guó)智能家居行業(yè)在飛速發(fā)展,然而受高成本的限制,智能家居很難進(jìn)入普通家庭。傳統(tǒng)的智能家居都有專(zhuān)門(mén)的遙控器,而且不同的設(shè)備需要配備不同的遙控器,同時(shí)信息不能實(shí)時(shí)反饋給用戶(hù)。本文介紹的系統(tǒng)采用智能手機(jī)自帶的藍(lán)牙,解決了這些問(wèn)題。藍(lán)牙技術(shù)的控制方法類(lèi)似于現(xiàn)時(shí)紅外線(xiàn)遙控器與電器之間的指令關(guān)系,區(qū)別在于相應(yīng)產(chǎn)品需植入藍(lán)牙晶片,使用2.402~2.480 GHz免付費(fèi)、免申請(qǐng)的無(wú)線(xiàn)電頻段。為避免此頻段電子裝置眾多的相互干擾,因而輔以每秒1 600次高難度跳頻以及加密、保密技術(shù),傳輸速率在432 Kb/s~721 Kb/s不等,未來(lái)的版本將達(dá)2 Mb/s。植入了藍(lán)牙芯片的手機(jī)、電腦等,在10 m的范圍內(nèi),可作為無(wú)線(xiàn)話(huà)音及數(shù)據(jù)信息的傳送,配合專(zhuān)用的擴(kuò)大器,收發(fā)范圍可遠(yuǎn)達(dá)100 m。結(jié)合了電路交換與分組交換的特點(diǎn),可以進(jìn)行異步數(shù)據(jù)通信,可以支持多達(dá)3個(gè)同時(shí)進(jìn)行的同步話(huà)音信道,還可以使用一個(gè)信道同時(shí)傳送異步數(shù)據(jù)和同步話(huà)音。最主要的是幾乎所有手機(jī)都配備藍(lán)牙功能,帶寬完全可滿(mǎn)足實(shí)時(shí)監(jiān)控的需要,傳輸距離也足夠家居環(huán)境的使用。藍(lán)牙在局域型的信息采集與控制系統(tǒng)中有著良好的應(yīng)用前景。
1 基于藍(lán)牙的無(wú)線(xiàn)傳感網(wǎng)絡(luò)系統(tǒng)構(gòu)架
1.1 藍(lán)牙網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

 藍(lán)牙技術(shù)是一種無(wú)線(xiàn)數(shù)據(jù)與語(yǔ)音通信的開(kāi)放性全球規(guī)范,它以低成本的近距離無(wú)線(xiàn)連接為基礎(chǔ),為固定與移動(dòng)設(shè)備通信環(huán)境建立一個(gè)特別連接。藍(lán)牙工作在全球通用的2.4  GHz ISM頻段,數(shù)據(jù)傳輸速率為1  Mb/s,時(shí)分雙工方案被用來(lái)實(shí)現(xiàn)全雙工傳輸,使用IEEE802.15協(xié)議。
 每個(gè)藍(lán)牙設(shè)備被分配一個(gè)唯一48 bit的藍(lán)牙設(shè)備地址[1],它支持兩種操作模式:主設(shè)備和從設(shè)備。其中主設(shè)備負(fù)責(zé)提供時(shí)鐘同步信號(hào)和調(diào)頻序列,從設(shè)備接收主設(shè)備的同步控制和調(diào)頻控制。藍(lán)牙支持點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)的通信,最基本的組網(wǎng)方式是微微網(wǎng)。如圖1所示,同一個(gè)微微網(wǎng)中的所有設(shè)備都跟隨主設(shè)備的調(diào)頻序列。在圖1中,(a)是點(diǎn)對(duì)點(diǎn)的連接;(b)是點(diǎn)對(duì)多點(diǎn)的連接。本文中使用的是圖1(b)的連接方式[2]。


1.2 遠(yuǎn)程信息采集與控制系統(tǒng)體系結(jié)構(gòu)
 基于藍(lán)牙與智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng)主要由各個(gè)房間的有相應(yīng)數(shù)據(jù)采集功能的藍(lán)牙無(wú)線(xiàn)傳感器節(jié)點(diǎn)、放置在家庭中心位置的具有數(shù)據(jù)處理能力的中心節(jié)點(diǎn)(具有藍(lán)牙功能的收發(fā)器)、一款智能手機(jī)以及一個(gè)網(wǎng)絡(luò)服務(wù)器終端組成[2]。各無(wú)線(xiàn)傳感器通過(guò)藍(lán)牙將采集的數(shù)據(jù)傳送至中心節(jié)點(diǎn),中心節(jié)點(diǎn)通過(guò)藍(lán)牙將數(shù)據(jù)發(fā)送至手機(jī)端,手機(jī)端安裝有專(zhuān)門(mén)的接收軟件,可以接收下位機(jī)發(fā)送來(lái)的數(shù)據(jù),并進(jìn)行處理,將處理后數(shù)據(jù)發(fā)送至服務(wù)器。同時(shí)服務(wù)器對(duì)手機(jī)發(fā)送指令,手機(jī)可以對(duì)下位機(jī)發(fā)送指令,以實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、實(shí)時(shí)控制。圖2反映了體系的完整結(jié)構(gòu)。


2 下位機(jī)的設(shè)計(jì)
2.1 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的布置

 不同的房間放置不同的傳感器,如廚房放置一氧化碳傳感器、溫度傳感器,臥室放置溫濕度傳感器、光強(qiáng)傳感器。這些傳感器節(jié)點(diǎn)離中心節(jié)點(diǎn)的的距離一般都不會(huì)超過(guò)10 m,這已經(jīng)足夠覆蓋一般家庭所有房間。
2.2 下位機(jī)控制模塊的設(shè)計(jì)
 藍(lán)牙模塊處于等待連接狀態(tài),當(dāng)手機(jī)第一次發(fā)出連接請(qǐng)求時(shí)需要輸入藍(lán)牙內(nèi)置的密碼,以后再連接時(shí)則不需要輸入密碼,除非密碼改變。匹配成功后建立連接,藍(lán)牙模塊充當(dāng)手機(jī)和微控制器(單片機(jī))的通信信道,實(shí)現(xiàn)手機(jī)和微控制器的雙向連接。用戶(hù)通過(guò)手機(jī)經(jīng)藍(lán)牙向單片機(jī)發(fā)送命令,單片機(jī)接收到命令后,控制相應(yīng)的執(zhí)行模塊,實(shí)現(xiàn)控制功能。例如:制作以52單片機(jī)為主控制器的學(xué)習(xí)型遙控器,經(jīng)藍(lán)牙模塊與手機(jī)建立,用戶(hù)便可以實(shí)現(xiàn)電視換臺(tái)、控制音量等操作。同時(shí)微控制器還能將相關(guān)傳感器采集的數(shù)據(jù)實(shí)時(shí)發(fā)送給手機(jī),實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)功能。如:溫度傳感器和煙霧傳感器檢測(cè)到數(shù)據(jù)超標(biāo)后,將報(bào)警信號(hào)發(fā)送給單片機(jī),單片機(jī)將報(bào)警信號(hào)發(fā)送給手機(jī),通知用戶(hù)火警[3]。
 下位機(jī)模塊原理如圖3所示,模塊分別為控制開(kāi)關(guān)、藍(lán)牙模塊、紅外發(fā)射模塊和紅外接收模塊。開(kāi)關(guān)可以控制各種家電的開(kāi)關(guān),藍(lán)牙模塊用于接收和發(fā)送數(shù)據(jù),紅外發(fā)射器負(fù)責(zé)控制紅外遙控的家電,紅外接收模塊可以復(fù)制遙控器的發(fā)送紅外的頻率,以實(shí)系統(tǒng)現(xiàn)通用性。


3 手機(jī)端軟件的設(shè)計(jì)
3.1 手機(jī)和藍(lán)牙設(shè)備的通信

 采用Java語(yǔ)言開(kāi)發(fā)Adroid2.2版本以上的手機(jī)應(yīng)用程序,該版本支持藍(lán)牙通信。首先通過(guò)SDK提供的BluetoothAdapter類(lèi)的startDiscovery()方法,掃描出附近與傳感器相連的藍(lán)牙設(shè)備并返回其物理地址,以列表形式展現(xiàn);然后通過(guò)ListView的點(diǎn)擊事件確定與哪臺(tái)藍(lán)牙設(shè)備進(jìn)行連接,當(dāng)選中一個(gè)物理地址之后,便會(huì)調(diào)用BluetoothSocket類(lèi)的connect方法,使手機(jī)和該藍(lán)牙設(shè)備建立基于TCP/IP協(xié)議的SOCKET連接。重點(diǎn)代碼[4]如下:
 BluetoothDevice mBTDevice=mBTAdapter.getRemoteDevice(dvcAddr);
mBTSocket=mBTDevice.createRfcommSocketToServiceRecord(dvcUUID);
mBTSocket.connect();
 其中,dvcAddr為所要連接的藍(lán)牙設(shè)備的物理地址,mBTDevice利用通用唯一識(shí)別碼(dvcUUID)來(lái)創(chuàng)建一個(gè)BluetoothSocket對(duì)象,該對(duì)象利用connect方法與藍(lán)牙設(shè)備建立連接。
 建立連接之后,利用OutputStream對(duì)象的write方法可以向藍(lán)牙設(shè)備發(fā)送信息,實(shí)現(xiàn)控制。并通過(guò)操作輸入輸出流進(jìn)行交互(包括手機(jī)對(duì)藍(lán)牙設(shè)備信息的采集以及對(duì)其操作指令的傳達(dá))。重點(diǎn)代碼如下:
 out=BTConnectActivity.mBTSocket.getOutputStream();
 String str="2";
 out.write(str.getBytes(),0,1);
 上述代碼以控制燈泡的開(kāi)關(guān)為例,當(dāng)字符為非0時(shí)(代碼中為2),打開(kāi)開(kāi)關(guān);當(dāng)字符為0時(shí),關(guān)閉開(kāi)關(guān)。
3.2 手機(jī)和服務(wù)器交互
 在手機(jī)端以提供一個(gè)上傳界面的方式,顯示從藍(lán)牙設(shè)備接收的數(shù)據(jù),通過(guò)點(diǎn)擊事件,與上傳服務(wù)器建立SOCKET連接,并發(fā)送之前從藍(lán)牙設(shè)備接收到的數(shù)據(jù)。服務(wù)器在接收到數(shù)據(jù)之后會(huì)發(fā)送相應(yīng)的反饋信息給手機(jī)端,再通過(guò)手機(jī)和藍(lán)牙設(shè)備的交互通道,給予藍(lán)牙設(shè)備相應(yīng)的操作指令。重點(diǎn)代碼如下:
 Socket socket=new Socket("192.168.0.101",54322);
 br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
 out=new PrintWriter(new BufferedWriter(new OutputStreamWriter (socket. getOutputStream())),true);
 out.println(mes);
 其中,192.168.0.101是所要連接的服務(wù)器的IP地址,54322是端口號(hào)。通過(guò)輸出流對(duì)象out的println方法,向服務(wù)器發(fā)送數(shù)據(jù),并通過(guò)BufferReader對(duì)象br讀取從服務(wù)器發(fā)來(lái)的數(shù)據(jù)。
手機(jī)端軟件設(shè)計(jì)框圖如圖4所示。

4 服務(wù)器端軟件的設(shè)計(jì)

 


 服務(wù)器端是一個(gè)基于Java的圖形用戶(hù)界面(GUI),主要是實(shí)現(xiàn)顯示接收到的數(shù)據(jù)以及與手機(jī)進(jìn)行通信,可以接收手機(jī)上傳簡(jiǎn)單的數(shù)字信息、圖片、視頻文件等,同時(shí)服務(wù)器可以控制手機(jī),當(dāng)終端管理員需要遠(yuǎn)程采取相關(guān)操作時(shí),可直接通過(guò)控制手機(jī)來(lái)控制家里的一切。
 本文提出了基于藍(lán)牙與智能手機(jī)的遠(yuǎn)程信息采集與控制系統(tǒng),分析研究了藍(lán)牙網(wǎng)絡(luò)的一般拓?fù)浣Y(jié)構(gòu),采用藍(lán)牙節(jié)點(diǎn)模塊實(shí)現(xiàn)了無(wú)線(xiàn)終端的設(shè)計(jì),以及傳感器終端的接口電路設(shè)計(jì),給出了手機(jī)軟件模塊設(shè)計(jì)的流程圖,最后簡(jiǎn)單介紹了服務(wù)器端的功能。憑借藍(lán)牙的低功耗及傳輸穩(wěn)定、3G網(wǎng)絡(luò)覆蓋范圍極廣且傳輸速度快等特點(diǎn),該系統(tǒng)具有很好的靈活性和可擴(kuò)展性,可以廣泛應(yīng)用于野外勘探、醫(yī)療器械和智能家居等多個(gè)領(lǐng)域,具有廣闊的市場(chǎng)發(fā)展前景。
參考文獻(xiàn)
[1] CHATSCHIK B. An overview of the Bluetooth wireless technology[J]. IEEE Communications Magazine, 2001,39(12):86-94.
[2] 王寧,黃樟欽.智能手機(jī)遠(yuǎn)程家居監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2005,25(9):2212-2213.
[3] 徐鳳榮.ROK101007藍(lán)牙模塊及其在無(wú)線(xiàn)火災(zāi)自動(dòng)報(bào)警系統(tǒng)中的應(yīng)用[J].國(guó)外電子元器件,2006(11):54-57.
[4] 李寧.Android開(kāi)發(fā)權(quán)威指南[M].北京:人民郵電出版社,2011.
[5] 金純,許光辰,孫睿.藍(lán)牙技術(shù)[M].北京:電子工業(yè)出版社,2001.
[6] BRAY J, STURMAN C F. Bluetooth connect without cables. second edition[M]. New Jersey: Prentice Hall PTR,2002.
[7] 呂鑫,王忠.ZigBee無(wú)線(xiàn)數(shù)據(jù)傳輸模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽師范大學(xué)學(xué)報(bào),2010,33(4):332-335.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。