摘 要: 介紹了ZigBee技術(shù),提出了一種基于ARM9芯片與ZigBeeCC2480芯片控制的、應(yīng)用于家居中的智能無線照明系統(tǒng)。該系統(tǒng)具有上電自組網(wǎng)的功能,用戶可以控制協(xié)調(diào)器通過路由器向該路由器節(jié)點上的任意一個終端設(shè)備發(fā)送信號,終端設(shè)備接收到命令并產(chǎn)生PWM信號,實現(xiàn)了對每一盞LED的多級調(diào)光及情景模式控制功能。闡述了實現(xiàn)該系統(tǒng)的幾個關(guān)鍵問題并給出了實驗結(jié)果。
關(guān)鍵詞: ZigBee;ARM;無線控制系統(tǒng);PWM
目前市場上有多種智能家居情景照明的解決方案,其中利用ZigBee技術(shù)組網(wǎng)配合MCU控制的方案因其成本低、功耗低和易于實現(xiàn)等優(yōu)點得到廣泛應(yīng)用。本文提出了一種利用ZigBee技術(shù)組建無線網(wǎng)絡(luò)配合ARM9內(nèi)核MCU,利用TCP/IP協(xié)議進(jìn)行通信,可以對家居中每一盞LED燈進(jìn)行控制,實現(xiàn)亮度控制與情景轉(zhuǎn)換的智能控制系統(tǒng)。
1 無線ZigBee網(wǎng)絡(luò)
ZigBee是一種新興的短距離、低速率無線網(wǎng)絡(luò)技術(shù),它是一種介于無線標(biāo)記技術(shù)和藍(lán)牙技術(shù)之間的技術(shù)方案,主要用于近距離無線連接,具有自己的無線電標(biāo)準(zhǔn),在數(shù)千個微小的傳感器之間互相協(xié)調(diào)實現(xiàn)通信。這些傳感器只需要很少的能量,以接力的方式通過無線電波將數(shù)據(jù)從一個傳感器傳到另一個傳感器,因此其通信效率非常高[1-2]。
ZigBee采用自組網(wǎng)方式實現(xiàn)組網(wǎng),這種架構(gòu)被稱為無線基礎(chǔ)構(gòu)架的無線局域網(wǎng),而且對網(wǎng)絡(luò)內(nèi)部的設(shè)備數(shù)量不加限制,并可隨時建立無線通信鏈路。協(xié)調(diào)器一直處于監(jiān)聽狀態(tài),新添加的RFD會被及時發(fā)現(xiàn)[3]。
2 系統(tǒng)規(guī)劃
整體組網(wǎng)采用樹狀簇型結(jié)構(gòu),即以每個房間為1個單元,房間內(nèi)的每盞燈作為一個終端設(shè)備,每個房間設(shè)置1個路由器用以與協(xié)調(diào)器通信并向房間內(nèi)每一個終端設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)[4]。整體結(jié)構(gòu)布局及組網(wǎng)方式如圖1所示。
在功能設(shè)定方面,由于不同的房間所具有的職能不同,所以對每一個房間的終端設(shè)備所具有的功能進(jìn)行分別設(shè)置??傮w上,要求房間內(nèi)所有的終端設(shè)備可以對LED進(jìn)行開關(guān)控制及亮度調(diào)節(jié)。
為了方便和快速進(jìn)行調(diào)節(jié),在遙控面板上還加入了情景和亮度設(shè)定,其中亮度設(shè)定為昏暗程度、明亮程度和超明亮程度。情景模式可以設(shè)置多種顏色模式。還可以具有以下功能:
(1)智能調(diào)光:開燈時,燈光亮度由暗逐漸變亮;關(guān)燈時燈光亮度逐漸由明變暗。有利于保護(hù)視力及延長燈泡壽命。
(2)延時功能:當(dāng)按下延時按鍵后,所有燈光將在一定時間后全部關(guān)閉。
(3)全開全關(guān):實現(xiàn)一鍵控制全部燈光的開關(guān)功能。
3 工作流程
系統(tǒng)的總體軟件流程圖如圖2所示。該流程圖從電路的整體功能上概括地說明了整套系統(tǒng)所能實現(xiàn)的功能,即通過發(fā)送模塊發(fā)送指令,接收模塊收到指令以后對其進(jìn)行解碼,從而控制LED等的情景變化和亮度變化。
4 功能實現(xiàn)
4.1 上電啟動
系統(tǒng)上電后,首先進(jìn)行一系列初始化功能,包括對液晶顯示屏、按鍵、CC2480模塊、定時器及UART接口進(jìn)行初始化。初始化完成后,系統(tǒng)會啟動組建網(wǎng)絡(luò)的功能。對于協(xié)調(diào)器,首先會發(fā)送StartZBNwk(COORDINATOR,NWKpanID)函數(shù)向CC2480中寫入指令以啟動ZigBee協(xié)議棧。其中,COORDINATOR是器件類型,表示此器件作為協(xié)調(diào)器使用;NWKpanID是此網(wǎng)絡(luò)的網(wǎng)絡(luò)ID。路由器進(jìn)行同樣的操作,不同的是函數(shù)中設(shè)備類型參數(shù)為ROUTER[5]。
協(xié)議棧啟動后,系統(tǒng)會利用GetDeviceInfo(DEVICE_
SHORT_ADDR)函數(shù)來獲取CC2480通過UART向ARM核發(fā)送的設(shè)備信息。其中,DEVICE_SHOR_ADDR參數(shù)是CC2480模塊的16位短地址。獲取地址成功后,系統(tǒng)會將信息顯示在液晶屏上,完成上電啟動過程。
4.2 組網(wǎng)綁定
上電啟動完成后,系統(tǒng)進(jìn)入組網(wǎng)綁定狀態(tài)。首先系統(tǒng)會調(diào)用ZB_APP_REGISTER_REQUEST()函數(shù)對ZigBee寄存器寫入配置,命令代碼為Cmd 0:0x26、Cmd1:0x0a;然后會調(diào)用ZgBeeAllowBind()函數(shù)發(fā)出允許綁定的命令,命令代碼為Cmd 0:0x26、Cmd1:0x02。
允許綁定后,路由器會調(diào)用menudis()函數(shù)進(jìn)行綁定。此函數(shù)進(jìn)行的操作如下:首先掃描按鍵以獲取用戶輸入的所要綁定的協(xié)調(diào)器的地址,然后調(diào)用ZgBeeZDOFindIEEE(bindAddr,0,2)函數(shù)來尋找網(wǎng)絡(luò)中的物理地址。其中,bindAddr就是所要綁定得到的協(xié)調(diào)器的地址,參數(shù)0代表獲取1個地址,參數(shù)2代表索引個數(shù)。
獲得地址后,系統(tǒng)調(diào)用ZgBeeBind(1,add)函數(shù)進(jìn)行綁定并將綁定結(jié)果顯示在液晶顯示屏上,從而完成組網(wǎng)綁定的功能[6-10]。其中命令代碼為Cmd 0:0x66、Cmd1:0x01。
4.3 數(shù)據(jù)傳輸及調(diào)光
系統(tǒng)完成組網(wǎng)后即可進(jìn)行數(shù)據(jù)傳輸和調(diào)光。系統(tǒng)采用ZgBeeSendData()函數(shù)來進(jìn)行數(shù)據(jù)傳輸,此函數(shù)包含的主要參數(shù)有目的地址、命令類型和數(shù)據(jù),命令代碼為Cmd 0:0x66、Cmd1:0x03。而目的地址與數(shù)據(jù)均通過鍵盤掃描用戶輸入來寫入寄存器。
對于調(diào)光功能的實現(xiàn),本文采用PWM調(diào)制方式,即通過輸出不同占空比的方波進(jìn)行不同情景模式的調(diào)光。具體實現(xiàn)方式:采用while循環(huán)中內(nèi)嵌1個case語句實現(xiàn)。while循環(huán)負(fù)責(zé)檢查是否有外部命令到來,每一個case分支對應(yīng)1個情景模式,當(dāng)設(shè)備接收到調(diào)光命令后,根據(jù)命令中的有關(guān)情景模式的數(shù)據(jù)進(jìn)入到相關(guān)的case分支中產(chǎn)生相應(yīng)的PWM信號,當(dāng)檢查到外部命令來臨時,則跳出該分支進(jìn)入相應(yīng)的分支產(chǎn)生新的情景模式。對于PWM信號的產(chǎn)生有多種方式,本文利用循環(huán)計時的實現(xiàn)方法,即通過利用不同長短的延時來輸出0和1實現(xiàn)不同占空比的方波。基本計算方法如下:單位延時為晶振的1/12,則系統(tǒng)在進(jìn)行[(方波周期/單位延時)×占空比]個延時后輸出1,在進(jìn)行[(方波周期/單位延時)×(1-占空比)]個延時后輸出0,如此進(jìn)行反復(fù)循環(huán)即可實現(xiàn)PWM功能。
5 實驗結(jié)果
ZigBee模塊對LED的調(diào)光控制采用PWM調(diào)制方式,即通過輸出3路不同占空比的方波實現(xiàn)對LED的RGB分量的調(diào)節(jié),形成不同顏色的光。在本實驗中采用事先設(shè)定好情景模式,根據(jù)用戶按下不同的情景按鍵輸出不同的PWM波形來實現(xiàn)LED的情景照明。實驗結(jié)果輸出占空比分別為25%、57%、70%的方波,如圖3所示。
本文針對目前智能家居照明發(fā)展趨勢,提出了一種基于ZigBee和ARM處理器的智能家居照明系統(tǒng)設(shè)計方案,實現(xiàn)了系統(tǒng)控制和智能調(diào)光功能,為以后的研究打下了一定的基礎(chǔ)。
參考文獻(xiàn)
[1] 陳強(qiáng),許樂平.基于ARM9和ZigBee的智能家居系統(tǒng)的設(shè)計[J].武漢科技學(xué)院學(xué)報,2008,21(6):48-51.
[2] 李蘭英,楊晨.基于S3C44B0X的智能家居終端控制系統(tǒng)的設(shè)計與實現(xiàn)[J].哈爾濱理工大學(xué)學(xué)報,2007,12(3).
[3] 周游,方濱,王普.基于ZigBee技術(shù)的智能家居無線網(wǎng)絡(luò)系統(tǒng)[J].電子技術(shù)應(yīng)用,2005,31(9).
[4] 李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007.
[5] 酈亮.IEEE802.15.4標(biāo)準(zhǔn)及其應(yīng)用[J].電子設(shè)計應(yīng)用,2003(1):22.
[6] 彭天笑,繆曉紅.基于ZigBee的WPAN構(gòu)建方案[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2003(8):40-44.
[7] STANDY T. End-user perspectives on home networking[J]. IEEE Communications Magazine, 2002(4):114-119.
[8] PARKER A D. IEEE 802.15.4 standard for low-rate wireless personal area network[J]. IEEE Communications Magazine, 2004(5):172-180.
[9] Chipcon. CC2480 Data Sheet. 2008.
[10] IEEE. IEEE std 802.15.4 wireless medium access control and physical layer specifications for low-rate wireless personal area networks[R]. 2003.