基于Zigbee技術的室內照明系統設計研究
1. 引言
隨著科技的進步,人們對通信技術的要求也不斷增長,短距離無線通信技術也隨之產生。
如今,各種短距離無線通信技術層出不窮,其中較為成功并且應用比較廣泛的有Bluetooth(藍牙)、ZigBee、Wi-Fi、WiMAX、無線USB 和UWB 等。
ZigBee 的協議構架是建立在IEEE 802.15.4 標準基礎之上的。IEEE 802.15.4 標準定義了ZigBee 物理層(PHY)和媒體訪問控制層(MAC);ZigBee 聯盟則定義了ZigBee 協議的網絡層(ZWK)、應用層(APL)和安全服務規范。作為一種新興的低速率無線通信技術,ZigBee 技術擁有著速率低、功耗小、成本低、免許可無線通信頻段、近距離通信、時延短、數據傳輸可靠和組網方式多樣等多種技術特點,這些特點使ZigBee 技術很適合應用到工業控制、智能家居、醫療護理、智能農業、消費類電子和遠程控制等領域。目前,藍牙技術復雜,應用系統費用較高,功耗高,電池供電壽命短,在其無法突破價格瓶頸的情況下,ZigBee 技術將擁有更加廣闊的應用前景。
本文按照ZigBee 協議規范的要求,設計了一套適用于智能家居網絡的室內照明自動控制系統。該系統能夠準確地實現對室內各照明器件的遠程控制,并可通過監測室內光線的變化調整電燈的開斷,實現對照明的智能控制,同時也使控制系統的可靠性和靈活性得到提高。
2. 基于Microchip ZigBee 協議棧的室內照明自動控制系統結構
本文所介紹的室內照明自動控制系統是 ZigBee 技術在智能家居中的一種典型應用。
Microchip ZigBee 協議棧是在ZigBee 無線協議規范的基礎上定義的,但它不完全符合ZigBee 協議,不支持群集和點對點網絡,沒有安全和訪問控制功能,沒有路由器功能,也不支持一對多綁定。使用Microchip ZigBee 協議棧設計ZigBee 節點,需要具備的硬件條件至少要包括一個帶有SPI 串口的PIC18F 單片機,一個帶有所需外部元件的RF 收發器,一根天線,可以是PCB 上的引線形成的天線或單極天線。
系統構建的是一個星狀網絡,即由一個協調器節點和若干終端節點構成的主從網絡。最先啟動的FFD(全功能設備)自任PAN 協調器,并選擇一個和其覆蓋區域內的其它PAN不同的標識符作為自己的PAN 標識符。通常在其工作區域內不存在其它PAN 時,PAN 標志符設置為0。協調器可以允許其它FFD 和RFD(精簡功能設備)加入網絡。在星狀網絡中,協調器節點和終端節點之間可以相互發送或者接收數據,但兩個終端節點之間不能進行直接通信,如果一個終端節點要向另一個終端節點發送數據,只能通過協調器這個中間媒介完成。
依照Microchip ZigBee 協議棧的開發要求,我們設計了一個可以移植Microchip ZigBee協議棧的室內照明自動控制系統,系統的結構框圖如圖1 所示。
其中協調器節點和所有終端節點共同構成了ZigBee 無線通信網絡。協調器節點的作用是建立一個網絡,并為加人到網絡中的節點分派網絡地址,同時還負責通過串口和上位機進行通信,各個終端節點則是為了實現具體的開關電燈的功能,并將工作的結果反饋給協調器節點。上位機除了實時監控網絡工作狀況外還起到家庭網關的作用,即可以提供各種遠程智能控制接口,在家庭內部的ZigBee 網絡和Internet 之間建立起一種連接,使用戶可以用一臺連接到Internet 上的PC 機控制家里的電器設備。
圖1照明控制系統結構示意圖
3. 系統節點的硬件設計
設計選用 Microchip 公司的PIC18LF4620 單片機作為控制器,射頻收發器部分采用TI公司的CC2420 射頻模塊。控制器通過SPI 總線和一些離散控制信號與射頻模塊相連,控制器充當SPI 主器件,而射頻模塊充當從器件。控制器實現了IEEE 802.15.4 MAC 層和ZigBee協議層,射頻模塊CC2420 則實現了IEEE 802.15.4 物理層和一些MAC 層功能。圖2 為終端節點的結構框圖:圖3 為協調器節點的結構框圖:
圖2 終端節點的結構框圖
圖3 協調器節點結構框圖
PIC18LF4620 單片機和CC2420 射頻模塊的接口電路如圖4 所示:
圖4 PIC 單片機與射頻模塊接口電路
終端節點控制器通過CC2420 射頻模塊接收來自協調器節點的數據,并按照協調器節點的指示,完成對繼電器控制,從而實現室內各個電燈開關狀態的轉換。
終端節點可以通過光敏電阻監視室內光線的變化,當光線亮度超過某一特定值時,控制器將檢測到來自于光敏電阻的輸出信號的變化,并將這種變化告訴協調器。協調器收到信號后會重復前面的操作完成對電燈的開關動作。這種設計適用于墻角落地燈。
協調器節點通過鍵盤上的按鍵發送控制信號,開斷相應終端節點上的繼電器從而控制電燈的亮滅,并通過RS232 串口將收到的從節點信號反饋給主節點。液晶顯示屏用來顯示各個終端節點的工作狀態。
4. 系統節點的軟件設計
這里涉及到一個端點綁定的概念。一個ZigBee 節點最多可以支持32 個端點(編號0~31)和8 個接口(編號0~7)。端點0 被保留用于設備配置,而端點31 被保留僅用于廣播。剩下的30 個端點被用于應用。每個端點總共有8 個接口,這樣應用在一個物理信道中最多能有240 條虛擬信道。協調器節點負責建立并維護一個描述各個端點之間邏輯鏈路的綁定表,并通過源端點和群集ID 來唯一定義一條數據鏈路。在本照明系統中,我們給每一個終端節點上的繼電器和協調器上的按鍵都分配一個在節點內唯一的端點號,并用這個端點號來對這些應用對象進行標記,通過端點綁定的方法在終端節點中的繼電器和協調器上的不同按鍵之間建立聯系,協調器節點將各個開關端點發送的數據包發送到相應的端點,從而實現協調器節點對分布在室內的各個電燈的控制。
4.1 終端節點軟件設計
終端節點的任務主要是接收來自協調器的數據并根據這些數據對相應的電燈執行開關操作,并將操作的結果反饋給協調器節點。終端節點上點電后掃描所有可用信道來尋找臨近協調器,申請加入此網絡。由于選用電池供電,因此要保證終端節點的低功耗,設計中采用定時喚醒的方式連接服務器,接收和發送數據,其它時間則進入休眠模式,以達到終端節點的功耗最低。終端節點的程序流程圖如圖5 所示。
圖5 終端節點系統流程圖
4.2 協調器節點軟件設計
作為網絡協調器,其功能主要分為兩個部分,即建立網絡和進行網絡管理。ZigBee 協調器主要負責建立ZigBee 網絡,分配網絡地址和維護綁定列表。協調器通過掃描一個空閑信道來創建一個新網絡,維護一個目前連接設備的網絡列表,支持獨立掃描程序來確保以前的連接設備能夠重新加入網絡
評論