2.3 選擇添加的家用電器控制器
選擇添加的家用電器的控制主要根據(jù)設(shè)備功能實(shí)現(xiàn)設(shè)備控制,這里以電風(fēng)扇為例。電風(fēng)扇控制就是控制中心將上位機(jī)下達(dá)的電風(fēng)扇控制指令通過ZigBee網(wǎng)絡(luò)發(fā)送至電風(fēng)扇控制器實(shí)現(xiàn),不同的家電識(shí)別碼是不同的,例如,本協(xié)議規(guī)定電風(fēng)扇的識(shí)別碼是122,家用彩電的識(shí)別碼是123,這樣就實(shí)現(xiàn)控制中心對(duì)不同家電的識(shí)別。而對(duì)于相同的指令代碼,不同家電執(zhí)行的功能是不一樣的。圖4為選擇添加的家用電器組成。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括6部分,分別為遠(yuǎn)程控制網(wǎng)頁設(shè)計(jì)、中央控制管理系統(tǒng)設(shè)計(jì),控制中心主控制器ATMegal28程序設(shè)計(jì)、CC2430協(xié)調(diào)器程序設(shè)計(jì)、CC2430監(jiān)控節(jié)點(diǎn)程序設(shè)計(jì)、CC2430選擇添加設(shè)備的程序設(shè)計(jì)。
3.1 ZigBee協(xié)調(diào)器的程序設(shè)計(jì)
協(xié)調(diào)器首先完成應(yīng)用層初始化,將應(yīng)用層狀態(tài)和接收狀態(tài)設(shè)為空閑,然后打開全局中斷并初始化I/O端口。接著協(xié)調(diào)器開始建立無線星形網(wǎng)絡(luò)。協(xié)議中,協(xié)調(diào)器自動(dòng)選擇2.4 GHz的頻段,每秒發(fā)送的最大比特?cái)?shù)為62 500,默認(rèn)的個(gè)域網(wǎng)網(wǎng)絡(luò)號(hào)(PANID)是0x1347,最大的堆棧深度為5,最大單次發(fā)送的字節(jié)數(shù)為93,串口的波特率是57 600 bit/s,SL0W TIMER每秒產(chǎn)生中斷10次。在ZigBee網(wǎng)絡(luò)建立成功后,協(xié)調(diào)器將其地址傳送給控制中心MCU。這里,控制中心MCU將ZigBee協(xié)調(diào)器識(shí)別為監(jiān)控節(jié)點(diǎn)的一員,它被識(shí)別的地址為0。程序進(jìn)入主循環(huán)。首先判斷是否有終端節(jié)點(diǎn)發(fā)送的新數(shù)據(jù),如果有,則直接把這個(gè)數(shù)據(jù)傳送至控制中心MCU;判斷控制中心MCU是否有指令下傳,如果有則將下傳的指令發(fā)送到相應(yīng)的ZigBee終端節(jié)點(diǎn);判斷安防是否打開,是否有盜賊入侵,如果有則把報(bào)警信息傳送至控制中心MCU;判斷燈光是否處于自動(dòng)控制狀態(tài),如果是,則打開模數(shù)轉(zhuǎn)換器進(jìn)行采樣,采樣值是燈光打開或關(guān)閉的關(guān)鍵,如果發(fā)生燈光狀態(tài)改變則把新的狀態(tài)信息傳送到控制中心MC-U。ZigBee協(xié)調(diào)器程序流程如圖5所示。
3.2 ZigBee終端節(jié)點(diǎn)的程序設(shè)計(jì)
ZigBee終端節(jié)點(diǎn)是指由ZigBee協(xié)調(diào)器控制的無線ZigBee節(jié)點(diǎn),在系統(tǒng)中主要是監(jiān)控節(jié)點(diǎn)和選擇添加的家用電器控制器。ZigBee終端節(jié)點(diǎn)的初始化同樣包括應(yīng)用層初始化,打開中斷和初始化I/O口。接著嘗試加入ZigBee網(wǎng)絡(luò),需要強(qiáng)調(diào)的是:只有和ZigBee協(xié)調(diào)器設(shè)置一致的終端節(jié)點(diǎn)才能加入到網(wǎng)絡(luò)中。如果ZigBee終端節(jié)點(diǎn)嘗試加入網(wǎng)絡(luò)失敗,則每兩秒重新嘗試一次,直至順利加入到網(wǎng)絡(luò)中。加入網(wǎng)絡(luò)成功后,Zi-gBee終端節(jié)點(diǎn)將其注冊(cè)信息發(fā)送至ZigBee協(xié)調(diào)器,再由ZigBee協(xié)調(diào)器轉(zhuǎn)發(fā)至控制中心MCU以完成ZigBee終端節(jié)點(diǎn)的注冊(cè)。ZigBee終端節(jié)點(diǎn)如果是監(jiān)控節(jié)點(diǎn),則實(shí)現(xiàn)燈光及安防的控制,程序與ZigBee協(xié)調(diào)器部分類似,只是監(jiān)控節(jié)點(diǎn)需將數(shù)據(jù)發(fā)送到ZigBee協(xié)調(diào)器,再由ZigBee協(xié)調(diào)器將數(shù)據(jù)傳送至控制中心MCU。ZigBee終端節(jié)點(diǎn)如果是電風(fēng)扇控制器,則只需接收上位機(jī)的數(shù)據(jù),而不必上傳狀態(tài),故它的控制可以在無線數(shù)據(jù)接收中斷中直接完成。在無線數(shù)據(jù)接收中斷中,所有終端節(jié)點(diǎn)都是將接收的控制指令翻譯成對(duì)節(jié)點(diǎn)本身的控制參數(shù),在節(jié)點(diǎn)主程序中不對(duì)接收的無線指令進(jìn)行任何處理。
4 聯(lián)機(jī)調(diào)試
由中央控制管理系統(tǒng)下發(fā)的對(duì)固定設(shè)備的指令編碼遞增的指令,通過計(jì)算機(jī)串口發(fā)送至控制中心MCU,并通過兩線接口發(fā)送至協(xié)調(diào)器,再由協(xié)調(diào)器發(fā)送至ZigBee終端節(jié)點(diǎn),在終端節(jié)點(diǎn)接收完成時(shí)將數(shù)據(jù)再次通過串口發(fā)送至PC機(jī),在這臺(tái)PC機(jī)上完成ZigBee終端節(jié)點(diǎn)接收的數(shù)據(jù)與控制中心所發(fā)送的數(shù)據(jù)的比較。中央控制管理系統(tǒng)每一秒發(fā)送2條指令,經(jīng)過5 h的測試,測試軟件顯示共接收數(shù)據(jù)包數(shù)量為36000包時(shí)停止測試。多協(xié)議數(shù)據(jù)傳輸測試軟件測試結(jié)果如圖6所示。正確數(shù)據(jù)包36 000,錯(cuò)誤數(shù)據(jù)包數(shù)為0,正確率為100%。
5 結(jié)束語
通過ZigBee技術(shù)實(shí)現(xiàn)智能家居內(nèi)部組網(wǎng),具有遠(yuǎn)程控制方便,添加新設(shè)備靈活和控制性能可靠等優(yōu)點(diǎn)。通過RFTD技術(shù)實(shí)現(xiàn)用戶身份識(shí)別,提高系統(tǒng)的安全性。通過GSM模塊的接入,實(shí)現(xiàn)了遠(yuǎn)程控制和報(bào)警功能。
四、基于ZigBee的室內(nèi)定位系統(tǒng)設(shè)計(jì)
引言
隨著數(shù)據(jù)業(yè)務(wù)和多媒體業(yè)務(wù)的快速增加,人們對(duì)定位與導(dǎo)航的需求日益增大,尤其在復(fù)雜的室內(nèi)環(huán)境,如機(jī)場大廳、展廳、倉庫、超市、圖書館、地下停車場等環(huán)境中,常常需要確定移動(dòng)終端或其持有者、設(shè)施與物品在室內(nèi)的位置。但是受定位時(shí)間、定位精度以及室內(nèi)復(fù)雜環(huán)境等條件的限制,比較完善的定位技術(shù)目前還無法很好地利用。ZigBee是一種新興的短距離、低速率無線網(wǎng)絡(luò)技術(shù),它最顯著的特點(diǎn)是低功耗和低成本。利用ZigBee技術(shù)實(shí)現(xiàn)定位具有低成本、低功耗的優(yōu)點(diǎn),且信號(hào)傳輸不受視距的影響。
1 相關(guān)核心技術(shù)概述
1.1 ZigBee技術(shù)概述
ZigBee技術(shù)[1]是一種新興的近距離、低功耗、低成本、低數(shù)據(jù)率、低復(fù)雜度的雙向無線通信技術(shù),它是基于IEEE 802.15.4標(biāo)準(zhǔn)開發(fā)的無線協(xié)議。網(wǎng)絡(luò)層以上協(xié)議由ZigBee聯(lián)盟制定,IEEE 802.15.4負(fù)責(zé)物理層和鏈路層標(biāo)準(zhǔn)。完整的ZigBee協(xié)議套件由應(yīng)用層、應(yīng)用架構(gòu)層、網(wǎng)絡(luò)層以及數(shù)據(jù)鏈路層和物理層等組成,協(xié)議棧結(jié)構(gòu)如圖1所示。
圖1 ZigBee協(xié)議棧結(jié)構(gòu)
ZigBee可使用的頻段有3個(gè),分別是2.4 GHz的ISM頻段、歐洲的868 MHz 頻段以及美國的915 MHz 頻段,不同頻段可使用的信道分別是16、1、10個(gè)。中國采用2.4 GHz頻段,它是免申請(qǐng)和免使用費(fèi)的頻段;采用直接序列擴(kuò)頻技術(shù)DSSS(Direct Sequence Spread Spectrum),傳輸距離介于10~75 m(增加RF發(fā)射功率,可達(dá)500 m);傳輸速率為20~250 kb/s,適合傳感器數(shù)據(jù)采集和控制數(shù)據(jù)的傳輸。ZigBee技術(shù)具有強(qiáng)大的組網(wǎng)能力,可以形成星型、樹型和MESH網(wǎng)狀網(wǎng)。
1.2 RSSI定位技術(shù)
RSSI[2](Received Signal Strength Indicator,接收信號(hào)強(qiáng)度指示)是指節(jié)點(diǎn)接收到的無線信號(hào)強(qiáng)度大小。在基于接收信號(hào)強(qiáng)度指示RSSI 的定位中,已知發(fā)射節(jié)點(diǎn)的發(fā)射信號(hào)強(qiáng)度,接收節(jié)點(diǎn)根據(jù)接收到信號(hào)的強(qiáng)度計(jì)算出信號(hào)的傳播損耗,利用理論和經(jīng)驗(yàn)?zāi)P蛯鬏敁p耗轉(zhuǎn)化為距離,再利用已有的算法計(jì)算出節(jié)點(diǎn)的位置。該技術(shù)硬件要求較低、算法相對(duì)簡單,在實(shí)驗(yàn)室環(huán)境中表現(xiàn)出良好特性;但由于環(huán)境因素變化的原因,在實(shí)際應(yīng)用中往往還需要改進(jìn)。接收信號(hào)強(qiáng)度是發(fā)射功率和發(fā)射器與接收器間距離的函數(shù)。
接收信號(hào)強(qiáng)度RSSI理論值可由式 (1)表示:
RSSI=-(10n·lgd+A)(1)
其中,n代表信號(hào)傳播常量,也叫傳播指數(shù);d代表距發(fā)射器間的距離;A代表距離1 m時(shí)的接收信號(hào)強(qiáng)度。
信號(hào)的衰減與距離成對(duì)數(shù)衰減的關(guān)系。節(jié)點(diǎn)到信號(hào)源的距離越近, 由RSSI值的偏差產(chǎn)生的絕對(duì)距離誤差越??;而當(dāng)距離大于某一值時(shí),由RSSI波動(dòng)造成的絕對(duì)距離誤差將會(huì)很大。一個(gè)未知節(jié)點(diǎn)可能收到n個(gè)參考節(jié)點(diǎn)的信號(hào), 所以應(yīng)當(dāng)采用RSSI值大的前幾個(gè)參考節(jié)點(diǎn)進(jìn)行定位計(jì)算,這樣可以避免定位誤差擴(kuò)大。
2 ZigBee技術(shù)實(shí)現(xiàn)定位的優(yōu)勢
?。?) 功耗低
由于ZigBee的傳輸速率低,發(fā)射功率僅為1 mW,而且采用了休眠模式,因此ZigBee設(shè)備非常省電。ZigBee設(shè)備僅靠2節(jié)5號(hào)電池就可以維持長達(dá)6個(gè)月到2年左右的使用時(shí)間,其功耗遠(yuǎn)遠(yuǎn)低于其他無線設(shè)備。
?。?) 成本低
與 GPS相比,定位引擎在單芯片 ZigBee RF收發(fā)器中與 MCU集成在一起,成本不及 GPS硬件的1/10,功耗也只是 GPS硬件的一小部分,并且ZigBee協(xié)議是免專利費(fèi)的。
(3) 時(shí)延短
通信時(shí)延和從休眠狀態(tài)激活的時(shí)延都非常短,典型的搜索設(shè)備時(shí)延為30 ms,休眠激活的時(shí)延是15 ms,活動(dòng)設(shè)備信道接入的時(shí)延為15 ms。因此ZigBee技術(shù)適用于對(duì)實(shí)時(shí)定位要求較高的應(yīng)用。
(4) 網(wǎng)絡(luò)容量大
一個(gè)星型結(jié)構(gòu)的ZigBee網(wǎng)絡(luò)最多可以容納254個(gè)從設(shè)備和1個(gè)主設(shè)備,組網(wǎng)方式靈活。隨著ZigBee技術(shù)的成熟,未來ZigBee設(shè)備不斷增多,可以利用具有ZigBee RF的設(shè)備或基礎(chǔ)設(shè)施,容易組建ZigBee網(wǎng)絡(luò),降低了ZigBee節(jié)點(diǎn)設(shè)計(jì)和組網(wǎng)成本,且利用更多的ZigBee設(shè)備可以達(dá)到更高的定位精度。
評(píng)論