趙慶平,姜恩華
(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北235000)
在科技高速發(fā)展的今天,人們的生活水平越來(lái)越高,對(duì)家居環(huán)境的追求不再僅限于豪華舒適,而是在此基礎(chǔ)上將網(wǎng)絡(luò)化、智能化、低能耗等概念融入其中,這已逐步成為了當(dāng)今家居環(huán)境的發(fā)展趨勢(shì)。本文在此背景下設(shè)計(jì)了一種基于ZigBee網(wǎng)絡(luò)的智能家居終端控制器,它能夠通過(guò)傳感器采集環(huán)境信息,上傳至嵌入式智能家居網(wǎng)關(guān),同時(shí)也能從網(wǎng)關(guān)接收命令實(shí)現(xiàn)對(duì)被控對(duì)象的控制,節(jié)點(diǎn)之間通過(guò)最優(yōu)路徑算法實(shí)現(xiàn)自組織,從而組成一個(gè)無(wú)線傳感器網(wǎng)絡(luò)。
智能家居整體框圖如圖1所示,圖中右側(cè)實(shí)線框中的部分即為本設(shè)計(jì)需要實(shí)現(xiàn)的部分。智能家居網(wǎng)關(guān)與ZigBee協(xié)調(diào)器充當(dāng)外部網(wǎng)絡(luò)與ZigBee網(wǎng)絡(luò)連接的橋梁,各種手機(jī)或個(gè)人計(jì)算機(jī)通過(guò)智能家居網(wǎng)關(guān)和ZigBee協(xié)調(diào)器向ZigBee終端節(jié)點(diǎn)發(fā)送命令,或者從終端節(jié)點(diǎn)接收環(huán)境信息。ZigBee網(wǎng)絡(luò)內(nèi)部采用網(wǎng)狀拓?fù)?,除了協(xié)調(diào)器外其他任何節(jié)點(diǎn)均可以攜帶執(zhí)行模塊或數(shù)據(jù)采集模塊[1-7]。

作為智能家居系統(tǒng)中的最基本的組成部分,充當(dāng)協(xié)調(diào)器功能的終端控制節(jié)點(diǎn)需要完成以下功能:首先,節(jié)點(diǎn)要建立一個(gè)ZigBee網(wǎng)絡(luò),確定網(wǎng)絡(luò)的拓?fù)?、頻段與標(biāo)識(shí)號(hào),并允許具有相同頻段與標(biāo)識(shí)號(hào)的路由或終端節(jié)點(diǎn)加入網(wǎng)絡(luò)。其次,對(duì)于路由或終端節(jié)點(diǎn)通過(guò)無(wú)線網(wǎng)絡(luò)傳遞上來(lái)的信息要通過(guò)串口發(fā)送到智能家居網(wǎng)關(guān)。最后,與接收數(shù)據(jù)對(duì)應(yīng),要能夠通過(guò)串口接收智能家居網(wǎng)關(guān)的控制命令,并將命令通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送至路由或終端設(shè)備。
充當(dāng)路由節(jié)點(diǎn)或終端節(jié)點(diǎn)的設(shè)備都能完成如下功能:能夠采集環(huán)境變量信息,并將信息通過(guò)無(wú)線網(wǎng)絡(luò)傳遞給協(xié)調(diào)器,同時(shí)能夠接收協(xié)調(diào)器發(fā)送過(guò)來(lái)的命令,并在解析命令后執(zhí)行相應(yīng)的動(dòng)作。路由節(jié)點(diǎn)比終端節(jié)點(diǎn)還要多一些功能,比如協(xié)助自己的子節(jié)點(diǎn)進(jìn)行通訊等。
本文采用市面上比較常見的一種溫濕度集成的傳感器SHT10,這種傳感器體積小,功耗低,而且芯片內(nèi)部還集成了14位的A/D轉(zhuǎn)換器,在精度要求不高的場(chǎng)合還可以轉(zhuǎn)換為12位或8位精度,完全適用于智能家居的應(yīng)用場(chǎng)合。集成的溫度和相對(duì)濕度傳感器以及相應(yīng)的信號(hào)處理電路,可以直接以數(shù)字的形式輸出,雖然成本增加,但是系統(tǒng)的集成度更高,這可以通過(guò)批量生產(chǎn)降低成本。圖2為溫濕度傳感器電路圖。

利用PIN管的光伏效應(yīng),將光照強(qiáng)度轉(zhuǎn)換為電壓信號(hào)。在光電二極管的后面設(shè)計(jì)了一個(gè)同相比例放大電路,TLV2370是一款普通的單電源運(yùn)放,由R24組成反饋電路,增益Vo=(R24+R23)*Vi/R23,轉(zhuǎn)換后的電壓送入CC2430的A/D轉(zhuǎn)換引腳進(jìn)行處理。這里的R24為20kΩ,R23為10kΩ,所以增益為3。圖3為光照強(qiáng)度檢測(cè)電路圖。

在某些特定的對(duì)電源要求不高的家居環(huán)境中,ZigBee節(jié)點(diǎn)的能耗不再受限制,這時(shí)節(jié)點(diǎn)不需要電池供電,而是直流電源供電,這樣就省去了電池充電的麻煩,也避免了考慮電池壽命長(zhǎng)短的問(wèn)題。本文設(shè)計(jì)了一種體積小、不需變壓器的電源電路,該電路可以將220V市電直接轉(zhuǎn)為+5V輸出,外部電源模塊如圖4所示。

溫濕度傳感器SHT10的供電電壓最低為2.4V至5.5V,電源和地之間需要有一個(gè)去耦電容。傳感器上電后,需要至少等待11ms,這段時(shí)間是傳感器的休眠期,休眠期過(guò)后才可以對(duì)傳感器進(jìn)行操作。SHT10的SCK引腳是串行數(shù)據(jù)的時(shí)鐘引腳,這里由CC2430的I/O口模擬時(shí)序,DATA為串行數(shù)據(jù)引腳,它在時(shí)鐘的上升沿有效,且在時(shí)鐘的高電平期間必須維持穩(wěn)定。在度過(guò)休眠期后,我們可以向SHT10發(fā)送啟動(dòng)命令,其啟動(dòng)時(shí)序如圖5所示。在時(shí)鐘信號(hào)的兩個(gè)相鄰周期內(nèi),數(shù)據(jù)總線首先在第一個(gè)時(shí)鐘周期的高電平時(shí)被拉為低電平,緊接著時(shí)鐘信號(hào)變?yōu)榈碗娖讲⒑芸毂焕撸辉诘诙€(gè)時(shí)鐘周期內(nèi),數(shù)據(jù)總線也被拉高,至此,傳感器啟動(dòng),開始轉(zhuǎn)換數(shù)據(jù)。隨后,傳感器發(fā)送一組測(cè)量命令,0x03表示溫度測(cè)量,0x05表示濕度測(cè)量。數(shù)據(jù)總線上的信號(hào)在時(shí)鐘信號(hào)的上升沿有效,且在時(shí)鐘信號(hào)的高電平期間不能改變,數(shù)據(jù)命令以串行的形式發(fā)送。在等待320ms后,數(shù)據(jù)完成轉(zhuǎn)換,這時(shí)由CC2430將數(shù)據(jù)從串行總線讀出,處理后上傳至協(xié)調(diào)器。流程圖如圖6(1)所示。

光照的數(shù)據(jù)需要通過(guò)CC2430片上的A/D進(jìn)行采集,程序流程如圖6(2)所示,由于CC2430的引腳為動(dòng)態(tài)分配,所以首先要為A/D分配引腳,然后設(shè)定分辨率,啟動(dòng)轉(zhuǎn)換后等待轉(zhuǎn)換完成標(biāo)志位置位。轉(zhuǎn)換后的數(shù)據(jù)需要進(jìn)行移位處理,以及計(jì)算后才能返回給消息處理函數(shù)進(jìn)行打包發(fā)送。

利用奧爾斯公司提供的網(wǎng)絡(luò)拓?fù)浔O(jiān)控環(huán)境,只要ZigBee節(jié)點(diǎn)符合奧爾斯公司提供的串口協(xié)議,ZigBee節(jié)點(diǎn)的設(shè)備類型與ZigBee網(wǎng)絡(luò)拓?fù)渚涂梢栽诒O(jiān)控軟件中顯示出來(lái)[7]。網(wǎng)絡(luò)拓?fù)浔O(jiān)視示意圖如圖7所示,圖中最上部的節(jié)點(diǎn)為協(xié)調(diào)器,下面的節(jié)點(diǎn)為路由或終端,其中00000002號(hào)節(jié)點(diǎn)就是本項(xiàng)目自行設(shè)計(jì)的節(jié)點(diǎn),00000008號(hào)節(jié)點(diǎn)是奧爾斯公司提供的ZigBee節(jié)點(diǎn)。由此可以看到,本實(shí)驗(yàn)所設(shè)計(jì)的節(jié)點(diǎn)已經(jīng)加入到了ZigBee網(wǎng)絡(luò)。

ZigBee節(jié)點(diǎn)采集環(huán)境數(shù)據(jù)后上傳到智能家居網(wǎng)關(guān),在網(wǎng)關(guān)上可以顯示環(huán)境參數(shù)。實(shí)際演示結(jié)果如圖8所示,圖中的曲線是ZigBee節(jié)點(diǎn)2采集的相對(duì)濕度數(shù)據(jù)曲線。圖9是運(yùn)行在PC上的智能家居終端控制軟件的截圖,在圖中右側(cè)可以看到設(shè)計(jì)的8個(gè)ZigBee節(jié)點(diǎn)(只展示了3個(gè)節(jié)點(diǎn)),節(jié)點(diǎn)1是協(xié)調(diào)器,不進(jìn)行環(huán)境參數(shù)采集,節(jié)點(diǎn)2,節(jié)點(diǎn)3,節(jié)點(diǎn)8均為終端節(jié)點(diǎn),分別采集了實(shí)驗(yàn)室3個(gè)不同地方的環(huán)境參數(shù)。在節(jié)點(diǎn)下面,有關(guān)于窗簾和照明設(shè)備的操作選項(xiàng),通過(guò)這些按鈕,可以控制實(shí)驗(yàn)室的燈和窗簾等設(shè)備,命令首先通過(guò)網(wǎng)關(guān)到達(dá)協(xié)調(diào)器,然后通過(guò)無(wú)線網(wǎng)絡(luò)到達(dá)終端節(jié)點(diǎn)。

圖10是外部電源截圖,它可以將220V交流電轉(zhuǎn)換成+5V輸出的直流電,集成板上有兩個(gè)繼電器,用來(lái)控制家居設(shè)備的開關(guān)量。圖11為ZigBee控制節(jié)點(diǎn)實(shí)物圖,它可以與電源模塊通過(guò)插針連接,外部電源為其供電并從節(jié)點(diǎn)接收控制信號(hào)。

本文設(shè)計(jì)的這款基于ZigBee網(wǎng)絡(luò)的智能家居終端控制器,能夠自動(dòng)發(fā)現(xiàn)并加入ZigBee網(wǎng)絡(luò),同時(shí)通過(guò)各種傳感器電路采集周圍環(huán)境信息,如光照、溫濕度、壓力等,并將這些數(shù)據(jù)通過(guò)ZigBee網(wǎng)絡(luò)上傳至智能家居網(wǎng)關(guān)。在數(shù)據(jù)的下行方向上,終端節(jié)點(diǎn)能夠通過(guò)ZigBee網(wǎng)絡(luò)接收來(lái)自智能家居網(wǎng)關(guān)的命令,在解析這些命令后通過(guò)相應(yīng)的控制電路實(shí)現(xiàn)對(duì)家用電器設(shè)備的實(shí)時(shí)控制。因此,這款智能家居終端控制器具有很好的實(shí)用價(jià)值。
[1]劉海清.基于ZigBee的智能家居原型控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2010.
[2]韓雙雙.基于ZigBee無(wú)線網(wǎng)絡(luò)的智能家居系統(tǒng)關(guān)鍵技術(shù)研究[D].長(zhǎng)春:吉林大學(xué),2009.
[3]徐方榮.無(wú)線智能家居控制系統(tǒng)的設(shè)計(jì)[D].上海:上海交通大學(xué),2010.
[4]萬(wàn)檳.智能家居系統(tǒng)的ZigBee無(wú)線網(wǎng)絡(luò)方案的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2010.
[5]吳孟侗.智能家居系統(tǒng)中ZigBee節(jié)點(diǎn)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008.
[6]尚麗麗.基于ZigBee的智能家居系統(tǒng)設(shè)計(jì)[D].大連:大連理工大學(xué),2010.
[7]李文仲,段朝玉.ZigBee2007/PRO協(xié)議棧實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2009.