ZigBee 是一種新興的無線通信技術,它具有短距離、低功耗、低成本和低數據速率等特點。而智能家居的特點就是網絡傳輸數據量小,對帶寬要求低,但是需要的網絡實時性好,延遲要短,要求接入方便,系統續航能力久、可擴展性強并且后期維護簡單。這無疑使ZigBee技術成為了首選,因為ZigBee 技術的主要應用領域就是工業控制、電子設備和樓宇自動化等,它的特點決定了ZigBee 技術能很好地滿足智能家居系統的需求。 1 系統總體方案 智能家居系統網絡大致可分為外部網(因特網)、內部網(ZigBee 自組網)和家庭網關。其中,家庭網關是核心部分,本系統以移植在tiny6410 開發板上的Boa 服務器作為家庭網關,它負責家庭內部網絡和外部網絡的連接和協議轉換。下面介紹內部網, 這里的內部網就是ZigBee 自組網,根據家庭布局采用樹狀或者星形網絡拓撲。ZigBee 自組網包括各個終端節點,這些節點配合繼電器控制家庭中各種電器開關、溫濕度傳感器等家庭中需要被監控的設備對象,從而達到遠程監控功能。從通信的角度講,每個節點即為一個終端,它們相互間通過ZigBee 協議進行無線通信。這里暫不考慮內部網絡不同的協議轉換問題。 智能家居系統的總體結構框圖如圖1 所示。 圖1 智能家居總體結構圖 2 智能家庭網關設計 本文設計的家庭網關要處理來自Internet 的數據,要求實現家庭網關的硬件必須提供強大的網絡支持,同時需要支持TCP/IP 協議,因此需要操作系統來支持多任務。家庭網關是一個由硬件和軟件共同組成的功能實體,將Boa 服務器移植到ARM 開發板作為網關使用。Boa 是一個單任務的小型HTTP 服務器,源代碼開放、性能優越,特別適合應用在嵌入式系統中,家庭網關結構圖如圖2 所示。 圖2 家庭網關結構圖 Boa 服務器的建立較為簡單,主要步驟包括:在開發主機上對其進行解壓然后交叉編譯,接著配置服務器,主要是修改boa.conf 文件,配置完成后就可以進行移植了,移植成功后安裝完畢就可以運行Boa 服務器軟件了。在構建好的嵌入式平臺上運行Boa 服務器以及串口讀寫應用程序,結合靜態網頁和動態CGI 程序可以讓命令從網頁下達到嵌入式服務器。通過CGI 技術可以實現Web 服務器和串口讀寫應用程序的調用,從而達到數據(也就是命令) 從網頁到服務器再通過串口寫入ZigBee家庭內部網絡的這樣一條正向的流程。當命令發送至ZigBee 家庭內部網絡后, 緊接著讀寫應用程序讀取ZigBee 的反饋數據(主要是LED 狀態以及傳感器讀數),讀取后存入ARM 板子里的SQlite 數據庫以供稍后的CGI 程序調用并顯示在網頁上。 3 ZigBee家庭內部網設計 從發展趨勢來看,無線自組網是智能家居網絡未來的發展方向。ZigBee 是一種新興的近距離、低復雜度、低功耗、低數據速率、低成本的雙向無線通信技術。其是一種介于無線標記技術和藍牙之間的技術提案,相對于現有的各種無線通信技術,ZigBee 將是最低功耗和成本的技術之一。介于智能家居的規模,即網絡中傳輸的數據量不大、節點較多等考量,實現家庭內部網絡拓撲選擇星形結構。 ZigBee 節點的硬件設計較為簡單,本節點采用TI 公司的CC2430 芯片,在單個芯片上整合ZigBee 射頻(RF)前端、內存和微控制器。它使用一個MCU(加強型8051 ),具有128 KB 可編程閃存和8 KB 的RAM,還包含ADC、定時器、AES128 協同處理器。數據采集單元選用一款含有已校準數字信號輸出的溫濕度復合傳感器DHT11 。 家庭內部網絡系統的軟件系統是以IAR System 公司的IAR Embedded Work bench 為開發環境、以TI 公司的ZStack 協議棧為開發基礎設計的。ZigBee 協議棧2006基于IEEE 802.15.4 標準制定,該協議的突出優點是:組網能力強、適應面廣、可靠性高、節能性好。ZStack 協議棧由實現ZigBee 協議不同功能的程序文件和庫函數組成。 4 ZigBee協議 ZigBee 協議是家庭內部網的基礎也可以說是核心,它的底層是IEEE 802.15.4 ,包括物理層和 MAC 層。ZigBee 工作在868 MHz 、915 MHz 和2.4 GHz 3 個頻段,而真正需要關心是網絡層和應用層。網絡層的主要功能就是路由,路由算法是它的核心,優秀的算法能節省ZigBee 的能源消耗,縮短延遲。網絡層上面是應用層,它主要規定了一些與應用相關的功能,也就是開發人員直接打交道的對象。 本系統采用的協議棧工作流程如圖3所示。 圖3 ZigBee家庭內部網結構圖 在智能家居ZigBee 內部自組網絡中,協調器作用最為關鍵,它上接智能家居系統“大腦”也就是家庭網關,下接ZigBee 自組網其他路由和終端設備,同時起到一個無線接口的功能。如圖3 所示,協調器接收應用程序從串口發來的命令并對其解析,解析命令獲取要控制的終端地址和控制命令,然后向指定的終端節點發送解析后的新的控制命令,尋址方式是點對點方式,通過協調器分配的網絡地址來發送,ZigBee 自組網中的命令結構如圖4 所示。終端收到命令后作出相應動作并反饋自己的狀態給協調器,協調器收到反饋數據后會自動通過串口發回給家庭網關,也就是嵌入式服務器,并由應用程序來讀取。以上就是ZigBee 家庭內部網工作流程。 圖4 命令結構 本文實現了智能家居監控系統的遠程控制功能,整個系統架構簡單,即建立嵌入式家庭網關和ZigBee 家庭內部網絡,其功能齊全,并且可根據實際情況和個人需求增減傳感器以節約成本,可為任何家庭提供量身訂制的智能家居監控服務。本系統可以根據家庭環境的改變隨時添加設備節點,安裝方便,實現了智能家居的人性化控制。此項技術將Web 技術與嵌入式技術結合并擴展,在此項目設計上稍加改動即可添加更多功能的傳感器,此項技術也可以廣泛地運用在工業、 農業和商業各個領域。 |