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

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

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

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


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


2 下位機的設(shè)計
2.1 無線傳感器網(wǎng)絡(luò)節(jié)點的布置

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


3 手機端軟件的設(shè)計
3.1 手機和藍牙設(shè)備的通信

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

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

 


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

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