張 毅,葉天翔,馬子超
(重慶郵電大學通信學院,重慶 400065)
在近距離無線通信技術(shù)中,ZigBee和藍牙的應用極為廣泛。ZigBee所具有的近距離、低復雜度、自組織、低功耗、低數(shù)據(jù)速率和低成本的特點,使其廣泛應用于工業(yè)監(jiān)控、傳感器網(wǎng)絡、家庭監(jiān)控和安全系統(tǒng)等無線領(lǐng)域[1-2]。然而,ZigBee傳感網(wǎng)絡的監(jiān)控軟件大多依賴于PC機的存在,不能滿足人們所預期的實時監(jiān)控要求。而現(xiàn)有的Zig-Bee手持設備價格昂貴、功能簡單、體積偏大,攜帶起來也不方便。
智能手機的出現(xiàn)重新定義了手機的概念。它不僅滿足了人們?nèi)粘Mㄐ诺男枨?,并且具有獨立的操作系統(tǒng),像個人電腦一樣支持用戶自行安裝軟件、游戲等第三方服務商提供的程序,并通過此類程序不斷對手機的功能進行擴充,同時可通過移動通信網(wǎng)絡來實現(xiàn)無線網(wǎng)絡接入。在硬件方面,智能手機的核心處理器不斷升級,已經(jīng)遠遠滿足了手持設備的硬件需求。因此,可以設想在某些近距離通信場合(家庭、車間、樓道等),設計一種支持藍牙與Zig-Bee相互通信的網(wǎng)關(guān),實現(xiàn)手機對ZigBee設備的檢測和控制。
整個系統(tǒng)由智能手機、藍牙網(wǎng)關(guān)和ZigBee設備組成。ZigBee設備集成了傳感器、微處理器和數(shù)據(jù)傳輸接口,分別負責數(shù)據(jù)的采集、處理、接收和傳輸。藍牙網(wǎng)關(guān)負責對每個節(jié)點設備的管理,接收節(jié)點發(fā)來的數(shù)據(jù)信息,并對這些信息進行解析,然后將轉(zhuǎn)換后的信息發(fā)送至手機。智能手機將藍牙網(wǎng)關(guān)傳送來的數(shù)據(jù)進行解析和存儲,并在手機屏幕上顯示。同樣,手機也可以通過藍牙網(wǎng)關(guān)的連接向ZigBee設備發(fā)送控制指令,實現(xiàn)手機對ZigBee設備狀態(tài)的監(jiān)控,其結(jié)構(gòu)如圖1所示。
圖1 藍牙網(wǎng)關(guān)系統(tǒng)結(jié)構(gòu)圖
藍牙與ZigBee同屬于2.4 GHz頻段,需要考慮如何處理同在有效傳輸范圍內(nèi)的無線設備之間的相互干擾。
藍牙協(xié)議自帶調(diào)節(jié)性跳頻技術(shù),它具有79個相互獨立且隨機選擇的有效通信頻率,藍牙設備可以使用其中的任意一個頻率,它可以隨時有規(guī)律地跳向另一個頻率。由于頻率之間的跳變每秒鐘會產(chǎn)生1600次,即使處于同一頻段,其持續(xù)的時間也不會超過千分之一秒。因此,調(diào)節(jié)性調(diào)頻技術(shù)可以將外界設備對藍牙設備的干擾降低到最低[3]。
ZigBee系統(tǒng)是非跳頻系統(tǒng),所以藍牙在79次通信中才有1次機會和ZigBee的通信頻率產(chǎn)生重疊,且將會迅速跳至另一個頻率。因此,藍牙不會對ZigBee產(chǎn)生嚴重威脅,而ZigBee對藍牙系統(tǒng)的影響可以忽略不計。另一方面,IEEE 802.15.4標準中提供了很多機制來保證Zig-Bee在2.4 GHz頻段和其他無線技術(shù)標準的共存能力。
因此,兩種無線協(xié)議可以在2.4 GHz頻段共存。
藍牙網(wǎng)關(guān)由藍牙模塊與ZigBee模塊組成。其連接圖如圖2所示。
圖2 藍牙網(wǎng)關(guān)的設計圖
藍牙模塊采用CSR公司的BC417143B芯片,它采用藍牙2.0協(xié)議標準,支持微微網(wǎng),帶有一路USB接口和兩路串口,采用BGA封裝,能夠與手機建立通信,有效傳輸距離為10 m,數(shù)據(jù)傳輸速率最大值為3 Mbit/s[4]。
ZigBee模塊采用德州儀器推出的CC2530芯片。它具有如下主要特性[5]:自帶8051處理器內(nèi)核;支持IEEE 802.15.4協(xié)議規(guī)范;具有強大的抗干擾性能,天線接收靈敏度高;采用3種電源模式,功耗更低;具有8通道14位模/數(shù)轉(zhuǎn)換的ADC;支持AES加密;采用QFN封裝,便于焊接;自帶兩路RS-232串口、1個16位計數(shù)器和2個8位計數(shù)器。
藍牙網(wǎng)關(guān)的軟件結(jié)構(gòu)主要包括ZigBee傳感器網(wǎng)絡的初始化、藍牙傳感器網(wǎng)絡的初始化、數(shù)據(jù)傳輸3個部分。
ZigBee傳感器網(wǎng)絡的初始化包括ZigBee系統(tǒng)時鐘、堆棧、LED、按鍵、Flash、硬件模塊、MAC層、應用框架層、操作系統(tǒng)等初始化。
藍牙傳感器網(wǎng)絡的初始化是通過串口向藍牙模塊發(fā)送AT指令實現(xiàn)的。其中包括設置藍牙模塊的工作角色、獲取模塊藍牙地址、設置配對密碼、設置串口參數(shù)、初始化SPP規(guī)范庫、進入節(jié)能模式等。
手機與藍牙網(wǎng)關(guān)綁定地址后,進行一對一的數(shù)據(jù)傳輸。在網(wǎng)關(guān)管理層中,藍牙網(wǎng)關(guān)將來自手機的數(shù)據(jù)進行解析,根據(jù)節(jié)點類型獲取ZigBee節(jié)點的短地址。然后通過單播的方式向?qū)墓?jié)點發(fā)送控制信息。節(jié)點收到指令后,對數(shù)據(jù)進行解析,獲取功能指令和操作類型,再產(chǎn)生相應的操作,實現(xiàn)手機對ZigBee節(jié)點的操控。同樣的,該信息的傳遞也是可逆的,ZigBee設備可以將節(jié)點的傳感器信息通過藍牙網(wǎng)關(guān)上傳到手機,實現(xiàn)手機對ZigBee設備的監(jiān)測。藍牙/ZigBee協(xié)議的模型如圖3所示。網(wǎng)關(guān)管理層負責兩種協(xié)議的轉(zhuǎn)換。
圖3 藍牙/ZigBee協(xié)議的模型
這里采用Windows Mobile操作系統(tǒng)的智能手機作為監(jiān)控端,它界面類似于PC上的Windows,便于熟悉電腦的人操作。手機端的軟件開發(fā)工具為Microsoft Visual Studio,它具有豐富的插件,可以提高開發(fā)人員的工作效率。
軟件在架構(gòu)上分為藍牙虛擬串口驅(qū)動、數(shù)據(jù)解析與存儲、界面功能實現(xiàn)。其軟件結(jié)構(gòu)如圖4所示。
圖4 手機監(jiān)控端應用軟件結(jié)構(gòu)圖
串口的驅(qū)動是通過構(gòu)造一個serialPort類來實現(xiàn)的。serialPort的構(gòu)造函數(shù)中首先以讀寫的方式打開串口,用一個用于控制以及配置串口通信設備的數(shù)據(jù)結(jié)構(gòu)來進行串口配置。其中,包括串口的串口號、波特率、數(shù)據(jù)位、校驗位、停止位的配置。串口讀和寫是通過serialPort.Read-Byte()和serialPort.Write()函數(shù)來實現(xiàn)的。
根據(jù)節(jié)點的類型、編號、功能指令的不同,將信息分類,然后將解析后的傳感器數(shù)據(jù)進行存儲。最后,在手機屏幕上顯示數(shù)據(jù)。
根據(jù)功能的需求,在應用層添加功能函數(shù),實現(xiàn)手機對ZigBee節(jié)點的控制。
根據(jù)ZigBee節(jié)點的類型、編號、功能指令、操作類型等參數(shù),定義相應的數(shù)據(jù)包格式。在智能終端和ZigBee節(jié)點通信時,按照統(tǒng)一的指令傳輸數(shù)據(jù)。通信協(xié)議指令包格式如表1所示。
表1 通信協(xié)議指令包格式 byte
運用上述方案完成藍牙網(wǎng)關(guān)的設計,并對該設計進行了測試。
首先,將移動終端與藍牙網(wǎng)關(guān)建立連接。然后,通過手機對相應的ZigBee節(jié)點發(fā)送控制指令。最后,對手機端接收的信息進行實時解析,并在手機上顯示ZigBee節(jié)點當前的狀態(tài)。測試結(jié)果如圖5所示。
圖5 手機端監(jiān)控界面
測試表明,經(jīng)過藍牙網(wǎng)關(guān)的轉(zhuǎn)換,可以實現(xiàn)手機對ZigBee設備的控制和檢測。經(jīng)過后期功能的豐富和完善,可以實現(xiàn)智能手機對ZigBee手持設備的替換。
現(xiàn)代家庭中,各式各樣的遙控器琳瑯滿目,而且每家擁有的遙控器數(shù)量越來越多,造成了使用上的不便。用手機替代現(xiàn)有控制器是一種很好地解決辦法,不僅給人們帶來諸多的便捷,而且避免了閑置和丟棄的遙控器產(chǎn)生的大量電子垃圾。
本文設計的藍牙網(wǎng)關(guān)實現(xiàn)了藍牙與ZigBee信息的轉(zhuǎn)換,向移動終端添加了ZigBee手持設備的功能。不僅節(jié)省了ZigBee手持設備開發(fā)的成本,而且使人們對ZigBee節(jié)點的監(jiān)控更加方便。同時,也證明了在近距離無線通信領(lǐng)域,ZigBee和藍牙不是相互競爭,而是互相補充,可以利用其在各自應用領(lǐng)域的優(yōu)點,將二者更好地結(jié)合,擴展應用方案。
[1]高守瑋,吳燦陽.ZigBee技術(shù)實踐教程[M].北京:北京航空航天大學出版社,2009.
[2]王銳華,于全.淺析 ZigBee技術(shù)[J].電視技術(shù),2004,28(6):33-35.
[3]金純,林金朝,萬寶紅.藍牙協(xié)議及其源代碼分析[M].北京:國防工業(yè)出版社,2006.
[4]BC417143B Data Sheet[EB/OL].[2011-02-22].http://www.datasheetarchive.com/pdf.
[5]CC2530 Data Sheet[EB/OL].[2011-02-22].http://www.ti.com/lit/ds/symlink/cc2530.pdf.