劉燎原
(江蘇建筑職業(yè)技術(shù)學院機電工程學院,江蘇 徐州 221116)
現(xiàn)代家庭的安全監(jiān)測主要包括家庭環(huán)境監(jiān)測和家用電器的控制,傳統(tǒng)的監(jiān)測系統(tǒng)通常采用有線連接方式[1],且布線復雜、系統(tǒng)可擴展性差、維護成本高。隨著無線傳感器網(wǎng)絡(WSN)技術(shù)和ZigBee技術(shù)的發(fā)展,組建基于ZigBee協(xié)議的家庭WSN網(wǎng)絡已勢不可擋。[2]為了克服家庭安防和遠程用戶孤立的問題,對普通用戶來說,使用最方便的就是在家庭之外的任何地方通過手機等移動終端遠程監(jiān)控家庭環(huán)境和設(shè)備。鑒于此,本文提出了一種利用ZigBee技術(shù)和GSM模塊組建的家用主人助手系統(tǒng),該系統(tǒng)利用ZigBee技術(shù)構(gòu)建了家庭WSN網(wǎng)絡,完成對家庭環(huán)境各種檢測信號和控制信號的傳輸,并且通過GSM模塊實現(xiàn)遠程監(jiān)控。通過測試,該系統(tǒng)具有功耗低、成本低、擴展性強、數(shù)據(jù)傳輸可靠等優(yōu)點,具有很強的實用性。
在家用主人助手系統(tǒng)中,家庭子網(wǎng)的構(gòu)建是重中之重。根據(jù)智能家居的應用特點,對家用主人助手系統(tǒng)的家庭子網(wǎng)進行構(gòu)架時,主要關(guān)注的是低功耗、低成本的通信手段以及靈活的組網(wǎng)方式。新興的ZigBee是一種近距離、低功耗、低速率、低成本的無線通信技術(shù)[3],它的物理層、MAC層采用了IEEE802.15.4協(xié)議標準,在此基礎(chǔ)上ZigBee聯(lián)盟對其網(wǎng)絡層、應用會聚層和高層應用規(guī)范進行了標準化和必要的完善及擴展。ZigBee技術(shù)專注于10~250 kbps的低速率傳輸應用,主要適合于自動控制和遠程控制領(lǐng)域。因此在本系統(tǒng)中,選用ZigBee技術(shù)來實現(xiàn)家庭子網(wǎng)的組建,為家庭內(nèi)部控制系統(tǒng)提供網(wǎng)絡平臺。
由于ZigBee網(wǎng)絡的范圍僅限于短距離,用戶一旦離開家庭就無法了解家庭狀態(tài),也無法對家中的設(shè)備進行遠程控制和管理。因此,家庭控制網(wǎng)絡必須與外界網(wǎng)絡進行連接才能實現(xiàn)遠程控制,用戶通過手機等遠程移動終端訪問家用主人助手系統(tǒng),可以方便地獲取家居狀態(tài)信息,實現(xiàn)主要的管理功能,從而提高智能家居系統(tǒng)的實用性。在本系統(tǒng)中選用GSM模塊實現(xiàn)遠程的數(shù)據(jù)傳輸和遠程控制[4],利用GSM 網(wǎng)絡既可實現(xiàn)對家庭中盜情、燃氣泄漏及溫度等的監(jiān)測,并以短消息方式向主人發(fā)出警報,又可通過發(fā)送短消息對家用電器(如,空調(diào)、電視、音響、微波爐等)進行遠程開啟和關(guān)閉電源。
基于ZigBee技術(shù)組成的家用主人助手系統(tǒng)屬于一種家庭無線傳感器網(wǎng)絡[5],由ZigBee協(xié)調(diào)器和ZigBee終端節(jié)點、GSM模塊、遠程用戶監(jiān)測端等部分組成,該系統(tǒng)的總體設(shè)計如圖1所示。將4個ZigBee終端節(jié)點和相應的傳感器或繼電器相連,且分布在家中的不同位置,用來檢測和傳輸采集信號、供用戶遠程查詢、布防狀態(tài)的遠程報警、遠程控制電器開啟等。ZigBee協(xié)調(diào)器和4個終端節(jié)點進行雙向通信,它負責建立ZigBee網(wǎng)絡、管理網(wǎng)絡以及數(shù)據(jù)的轉(zhuǎn)發(fā)接收等??紤]到使用方便,該系統(tǒng)的遠程用戶監(jiān)測端采用手機,手機通過GSM模塊這個中介和該系統(tǒng)進行雙向通信,手機通過訪問GSM網(wǎng)絡采集到家庭WSN的相關(guān)數(shù)據(jù)信息,實現(xiàn)對家庭的遠程監(jiān)控。
圖1 系統(tǒng)總體方案圖
ZigBee技術(shù)是一種基于IEEE802.15.4協(xié)議標準的雙向無線通信技術(shù),它將ZigBee網(wǎng)絡中的節(jié)點分為全功能器件(FFD)和簡化功能器件(RFD)。在網(wǎng)絡拓撲方式中,ZigBee標準有星型、樹型、網(wǎng)狀等組網(wǎng)方式。本系統(tǒng)設(shè)計的家庭WSN采用星型組網(wǎng)方式,網(wǎng)絡中存在由 FFD構(gòu)成的協(xié)調(diào)器節(jié)點和由RFD構(gòu)成的終端節(jié)點。下面對系統(tǒng)總體方案中的每個硬件設(shè)備進行設(shè)計。
ZigBee協(xié)調(diào)器主要負責建立網(wǎng)絡并將其他節(jié)點加入網(wǎng)絡、提供信息路由、安全管理等。[6]在該網(wǎng)絡中協(xié)調(diào)器節(jié)點和終端節(jié)點都使用TI公司的ZigBee芯片CC2530模塊,它是公司針對頻段2.4 GHz的ISM 頻段推出的第二代支持 ZigBee和IEEE802.15.4協(xié)議的片上系統(tǒng)集成芯片。內(nèi)部集成了ZigBee射頻(RF)前端、增強型8051的內(nèi)核、8路輸入的12位AD以及看門狗定時器等,只需很少的外圍電路即可構(gòu)建一個簡單的節(jié)點。其中必備的外圍電路包括晶振電路、電源、復位電路、無線收發(fā)電路等,本系統(tǒng)使用的ZigBee模塊的核心板電路圖如圖2所示。
圖2 ZigBee模塊核心板圖
在本系統(tǒng)中設(shè)置了4個終端節(jié)點以無線通信方式組織成網(wǎng)絡,每個節(jié)點由ZigBee模塊和相應的傳感器組成,作為家居環(huán)境的檢測節(jié)點。Zig-Bee終端節(jié)點負責監(jiān)測周圍一定范圍內(nèi)的環(huán)境溫度、防盜、火災或有毒氣體等情況的探測以及對各種家電設(shè)備的控制等。[7]
ZigBee終端節(jié)點1連接的熱釋電傳感器放置在門窗的特定區(qū)域,用來監(jiān)測盜賊的非法闖入。該傳感器是靠接收人體發(fā)出的紅外線能量變化來完成非接觸探測。在布防狀態(tài)時,當傳感器探測到有人出現(xiàn)在特定區(qū)域時,它觸發(fā)終端節(jié)點芯片的中斷,從而激活終端節(jié)點芯片,芯片會自動通過ZigBee無線收發(fā)模塊把打好的報警數(shù)據(jù)包發(fā)送出去。ZigBee協(xié)調(diào)器通過自身的收發(fā)模塊接收終端節(jié)點的數(shù)據(jù),對接收到的數(shù)據(jù)進行必要的處理,然后經(jīng)過GSM網(wǎng)絡撥通主人電話或發(fā)送短信到主人手機上,實現(xiàn)快速遠程報警。
ZigBee終端節(jié)點2連接的氣體傳感器放置在廚房,用來檢測可燃氣體和煙霧。氣體傳感器采用的是MQ-2傳感器模塊,對居室內(nèi)的環(huán)境液化氣、煙霧、甲烷等較敏感。該模塊提供數(shù)字輸出引腳D0和模擬輸出引腳A0。當廚房內(nèi)氣體或煙霧濃度超過設(shè)定閾值時,D0引腳輸出低電平,激活終端節(jié)點芯片,報警流程和熱釋電傳感器的報警流程相同。
ZigBee終端節(jié)點3和溫度傳感器連接用來檢測房間的溫度,溫度傳感器采用的是美國DALLAS公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片,它的測溫范圍為-55~+125℃。DS18B20可以把采集到的溫度信號直接轉(zhuǎn)化成9~12位串行數(shù)字信號,它采用獨特的單線接口方式,無需外部元件。該模塊有電源、數(shù)據(jù)端、地3個引腳,在該系統(tǒng)中把該模塊的數(shù)據(jù)端和ZigBee終端節(jié)點的I/O口相連,實現(xiàn)溫度數(shù)字信號的采集、傳輸。
ZigBee終端節(jié)點4和繼電器模塊與電器電源相連,用來實現(xiàn)電器的遠程開啟和關(guān)閉。當主人在外面想提前開啟電器時,可以通過手機發(fā)送控制編碼至該系統(tǒng)TC35i模塊所使用的SIM卡號。TC35i模塊接收到短信息后解碼,通過Zig-Bee協(xié)調(diào)器向ZigBee終端節(jié)點發(fā)送信號,繼電器吸合,電器開啟。
GSM通信模塊選用西門子公司的TC35i模塊,該模塊集射頻電路、基帶于一體,性能穩(wěn)定,價格低廉,它具備GSM無線通信的全部功能,用戶通過標準的AT指令對其進行控制,支持TEXT和PDU模式的短信編碼方式。TC35i的數(shù)據(jù)輸入輸出接口實際上是一個串行異步收發(fā)器,其引腳RXD、引腳TXD均為TTL電平的串口通信引腳,CC2530也支持串口通信,所以采用串口通信的方式來實現(xiàn)這兩種網(wǎng)絡之間的互聯(lián)和數(shù)據(jù)的收發(fā)。
在GSM模塊中內(nèi)嵌一張合法的SIM卡,當遠程用戶通過手機向該GSM模塊發(fā)送短消息時,GSM模塊將消息接收后告知ZigBee協(xié)調(diào)器,協(xié)調(diào)器通過AT指令控制GSM模塊進行短消息的讀取和發(fā)送,當短信內(nèi)容送到ZigBee協(xié)調(diào)器后,ZigBee協(xié)調(diào)器根據(jù)短信的內(nèi)容執(zhí)行相應的操作。ZigBee協(xié)調(diào)器根據(jù)短信內(nèi)容與某個ZigBee終端節(jié)點進行通信,該ZigBee終端節(jié)點根據(jù)所接收的信息內(nèi)容執(zhí)行相應的操作命令,如,控制電器的開啟和關(guān)閉、使用傳感器對周圍環(huán)境信息進行采集等。
本系統(tǒng)程序主要包括協(xié)調(diào)器節(jié)點程序、終端節(jié)點程序、TC35i程序。TI公司為CC2530芯片提供了符合ZigBee協(xié)議的完整協(xié)議棧,能夠?qū)崿F(xiàn)ZigBee網(wǎng)絡的組建和所有的ZigBee協(xié)議規(guī)定的服務與應用。協(xié)議棧分為物理層、MAC層、網(wǎng)絡層和應用層。軟件設(shè)計主要針對應用層的應用程序的編寫,對下層的操作調(diào)用相應的服務即可。本設(shè)計利用IAR7.0開發(fā)環(huán)境來編制調(diào)試程序,應用層的程序遵循 Z -STACK -2.4.0 -1.4.0協(xié)議棧。
協(xié)調(diào)器節(jié)點的程序流程如圖3所示。程序先進行系統(tǒng)初始化,包括底層硬件初始化、協(xié)議棧的初始化。初始化完成后,協(xié)調(diào)器節(jié)點建立一個網(wǎng)絡,進入休眠狀態(tài)等待終端節(jié)點的加入。當終端節(jié)點加入到網(wǎng)絡中后,協(xié)調(diào)器開始接收終端節(jié)點發(fā)送過來的傳感器數(shù)據(jù),并把數(shù)據(jù)存入數(shù)據(jù)緩存中。檢查數(shù)據(jù)是否超過警戒值或者是否收到遠端發(fā)來的查詢命令,兩者只要有一個成立便通過GSM模塊向遠端發(fā)送數(shù)據(jù),然后進入下一次的數(shù)據(jù)接收。
圖3 ZigBee協(xié)調(diào)器軟件流程
終端節(jié)點的程序流程如圖4所示。同協(xié)調(diào)器一樣,終端節(jié)點也需要進行相應的初始化。在初始化完成后,終端節(jié)點便搜尋所在區(qū)域的網(wǎng)絡,并向協(xié)調(diào)器發(fā)出申請加入網(wǎng)絡的請求,得到允許后,終端節(jié)點便加入到網(wǎng)絡中。然后該節(jié)點對傳感器采集的數(shù)據(jù)進行一次讀取,并把數(shù)據(jù)打包發(fā)送給協(xié)調(diào)器。一次操作完成后進入下一個循環(huán)周期。如果需要實現(xiàn)低功耗,則讓終端節(jié)點每采集一次數(shù)據(jù)并發(fā)送后進入休眠狀態(tài),休眠一段時間后重新被喚醒,再進行第二次數(shù)據(jù)采集與發(fā)送。
圖4 ZigBee終端節(jié)點軟件流程圖
由于GSM模塊支持AT命令,因此ZigBee協(xié)調(diào)器通過串口向GSM模塊發(fā)送AT指令以方便地實現(xiàn)短信息SMS的發(fā)送、接收和管理[8],如,設(shè)置短信中心號碼、短信格式、短信接收對象和方式等。其中用到的AT命令如表1所示。短信的編碼格式一般分為TEXT與PDU,本系統(tǒng)采用TEXT模式發(fā)送和接收短信,這樣就避免了復雜的漢字編碼和PDU編碼的轉(zhuǎn)換問題。
在TC35i模塊初始化中,利用“AT+CNMI=2,1”指令來選擇當有新的短消息時系統(tǒng)提示方式,“2”表示通知TE在數(shù)據(jù)線被占用的情況下,先行緩沖,待數(shù)據(jù)線空閑再行通知;“1”表示儲存到默認的內(nèi)存位置,并且向TE發(fā)出通知,設(shè)置成功后返回“OK”。利用“AT+CMGF=1”指令選擇短消息支持TEXT文本格式,設(shè)置成功后返回“OK”。
表1 AT命令
在接收短信程序中,用“AT+CMGR”讀取短信息命令,讀取到的內(nèi)容存入接收數(shù)據(jù)緩沖器,然后根據(jù)數(shù)據(jù)的內(nèi)容進行相關(guān)操作,流程圖如圖5所示。
圖5 TC35i接收短信軟件流程圖
在發(fā)送短信程序中,用“AT+CMGS”發(fā)送短信息命令,先發(fā)送“AT+CMGS=電話號碼”,TC35i再將要發(fā)送的內(nèi)容寫入發(fā)送數(shù)據(jù)緩沖區(qū),然后發(fā)送到指定的號碼;在此程序中,用“ATDn”撥出電話指令,n為撥出電話的電話號碼,流程圖如圖6所示。
圖6 TC35i發(fā)送短信軟件流程圖
系統(tǒng)測試,首先給系統(tǒng)供電,GSM模塊完成初始化及注冊操作,ZigBee模塊完成初始化。協(xié)調(diào)器建立網(wǎng)絡后,終端節(jié)點開始申請加入網(wǎng)絡。終端節(jié)點入網(wǎng)成功后,它開始周期性地采集傳感器的檢測值,然后進入低功耗模式,直到被協(xié)調(diào)器或傳感器信號喚醒。
首先進行ZigBee組網(wǎng)測試,使用TI公司配套的Z-SensorMonitor軟件,它可以形象地顯示網(wǎng)絡的拓撲結(jié)構(gòu)和各節(jié)點的狀態(tài)信息。它提供了數(shù)據(jù)存儲和恢復功能,能將十六進制數(shù)據(jù)輸出到后綴為.log的文本中,并加入時間,便于今后對系統(tǒng)狀態(tài)的調(diào)閱和再現(xiàn),圖7為實驗過程中采集到的實時網(wǎng)絡狀態(tài)信息。從圖7可以看出,本系統(tǒng)的ZigBee網(wǎng)絡的星型拓撲方式,1個ZigBee協(xié)調(diào)器節(jié)點,4個ZigBee終端節(jié)點。
圖7 系統(tǒng)的ZigBee的網(wǎng)絡拓撲圖
4.2.1 遠程報警
系統(tǒng)遠程報警功能是指系統(tǒng)的防盜、火災或有毒氣體超限的報警。以防盜報警為例,該系統(tǒng)通過按鍵來選擇系統(tǒng)的布防、撤防狀態(tài),在布防狀態(tài)下,當有人出現(xiàn)在門或窗附近時,ZigBee終端節(jié)點1的熱釋電紅外傳感器檢測到信號,傳輸?shù)絑igBee協(xié)調(diào)器,ZigBee協(xié)調(diào)器所接的蜂鳴器發(fā)出聲音報警,并且通過TC35i發(fā)送“door”或“window”報警短信息給用戶,并打電話通知用戶,如圖8所示,手機顯示屏幕顯示主人助手系統(tǒng)發(fā)來報警短信或來電。
4.2.2 遠程查詢溫度
當身處外面的用戶想了解家里的溫度時,利用手機發(fā)送“temp”短信息給主人助手系統(tǒng)(系統(tǒng)的GSM模塊插入的SIM卡的號碼即為主人助手的號碼),主人助手接收到信息后,對信息解碼,發(fā)送控制信息給終端傳感器節(jié)點3,返回溫度傳感器的采集值,該系統(tǒng)就會把家里的溫度回發(fā)給手機,如圖9所示。
圖8 手機接收報警短信和來電
圖9 通過手機遠程查詢家中溫度
4.2.3 遠程開啟電器開關(guān)
當用戶在外面想提前開啟家里的電器時,利用手機發(fā)送“open”給主人助手系統(tǒng)。主人助手系統(tǒng)接收到信息后,對信息解碼,發(fā)送控制信息給終端傳感器節(jié)點4,該節(jié)點所接的繼電器會吸合,電器被遠程開啟。如果手機發(fā)送“close”給主人助手,繼電器斷開,電器被遠程關(guān)閉,如圖10所示。
針對目前家庭安防和遠程用戶孤立的問題,使用ZigBee技術(shù)組建家庭無線傳感器網(wǎng)絡實現(xiàn)傳感器信號的采集、控制,利用GSM模塊實現(xiàn)用戶的遠程控制,設(shè)計了一種基于ZigBee技術(shù)和GSM的家用主人助手系統(tǒng)。通過對該系統(tǒng)的功能測試,系統(tǒng)很好的實現(xiàn)了遠程報警、遠程控制、遠程查詢等功能,具有功耗低、成本低、擴展性強、數(shù)據(jù)傳輸可靠、實用性強等優(yōu)點。本系統(tǒng)還可以通過更換不同的傳感器或增加節(jié)點,實現(xiàn)對多種環(huán)境參數(shù)的監(jiān)測,還可以應用于智能建筑、醫(yī)院、倉庫等多種場所,具有廣泛的應用前景。
[1]韋明劭.基于無線傳感器網(wǎng)絡在智能家居中的設(shè)計[J].輕工科技,2012,14(2):63 -64.
[2]瞿雷,劉盛德,胡成斌.ZigBee技術(shù)及應用[M].北京:北京航空航天大學出版社,2007.
[3]高守瑋,吳燦陽,楊超,等.ZigBee技術(shù)實踐教程——基于CC2430/31的無線傳感器網(wǎng)絡解決方案[M].北京:北京航空航天大學出版社,2009:27-30.
[4]葉金平.基于 GSM 的智能溫濕度控制系統(tǒng)的研究[D].西安:西安理工大學,2009.
[5]鮮曉東.基于 WSNs和 GSM的室內(nèi)環(huán)境監(jiān)測預警系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2011,30(6):141 -144.
[6]曹紅蘋,蔣云良,繆強.室內(nèi)無線傳感器網(wǎng)絡及其應用[J].計算機應用研究,2006,23(9):209 -212.
[7]劉省賢.基于GSM和ZigBee技術(shù)的無線安防系統(tǒng)研制[J].陜西科技大學學報,2009,27(4):139 -142.
[8]陳冬林.基于GSM短消息的編碼方法及其編程實現(xiàn)[J].計算機與現(xiàn)代化,2006,11(3):115 -117.