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