劉傳忠 / 張衛東 / 聶 佳
1.上海交通大學自動化系, 上海 200240
2.上海電器科學研究院, 上海 200063
在物聯網的大潮下,智能家居得到了蓬勃發展。但由于智能家居是一個多行業交叉的系統工程,迄今還沒有一個完全統一的標準,各設備廠商遵循各自不同的接口標準與協議生產設備,使得不同設備之間的互連、互通變得非常困難。ZigBee作為一種無線的通信技術,其低功耗、自組網、允許較大的網絡規模、具有較高的可靠性和安全性等特點,特別適用于數據通信速率不高的家居自動化場合。目前,大量文獻都對基于ZigBee的智能家居控制系統進行了闡述,如文獻[1]介紹了通過ARM平臺實現ZigBee網絡與CDMA網絡和Internet網絡的互聯;文獻[2]實現室內ZigBee無線傳感器網絡到Internet的接入;文獻[3]討論了基于ZigBee的智能家居控制系統的結構;文獻[4]探討了ZigBee終端設備低功耗設計技術。大多文獻基本上都圍繞著各自系統的私有實現,沒有論及不同廠商的智能家居設備間的互通、互連問題。
為了保證來自不同廠家設備的互操作性,針對智能家居系統,ZigBee聯盟推出了《家庭自動化公共應用配置規約》(ZIGBEE HOME AUTOMATION PUBLIC APPLICATION PROFILE,下 文 簡 稱ZHA)。為了解決上文中提出的問題,本文圍繞著基于ZHA的智能家居控制系統的設計及實現展開說明。
ZigBee標準由ZigBee聯盟制定與維護,已經推出了多個版本[5]。最新的ZigBee標準稱為ZigBee 2012,提供了完整的無線網狀網(mesh networking),在單一的網絡中最多可支持64 000個設備。該規范規定了2套功能集: ZigBee和ZigBee Pro。ZigBee主要面向單一網絡中只有數百個設備的功能集。ZigBee Pro則對ZigBee功能集進行了增強與優化,支持大規模的網絡應用,具有更好的安全性,同時還支持通過Green Power功能將能量采集或自供電的設備接入到ZigBee Pro網絡中[6]。

ZigBee聯盟在低速無線個人局域網標準IEEE 802.15.4的基礎上建立了網絡層(NWK)和應用層框架(Framework),協議棧架構如圖1所示[7]。相臨層之間通過服務訪問點(SAP)進行信息傳遞,高層使用底層所提供的服務。
從圖1可以看出,應用層由制造商定義的應用對象所在的應用框架(Application Framework),ZDO(包括ZDO管理域)和應用支持子層構成。設備生產商定義的應用對象使用框架和ZDO共享APS及安全服務。在ZigBee應用框架中,制造商最多可以定義240個應用對象來實現各自特定的功能。
ZHA涵蓋了民用或輕型商用環境中家居自動化應用(網絡規模在500點以內),包括照明、暖通空調、窗簾遮陽傘及安防等應用[9]。為了保證互操作性和良好的用戶體驗,ZHA規定了設備啟動屬性集,包括:啟動參數、加入網絡參數、安全參數、終端設備參數、鏈路狀態參數、集中器參數、APS傳輸參數及綁定參數等。
ZHA使用ZigBee聯盟制定的ZigBee簇庫(ZCL)、功能簇(Cluster)是一系列相關的屬性和命令的集合,通過客戶端/服務器模型為設備間的通訊提供了接口。當ZCL屬性發生改變時發送相應報告給指定節點,或者在規定時間內未發送屬性報告則啟動相應報告的發送,通過屬性配置擴展域規定了ZHA設備哪些簇的哪些屬性可以進行匯報。屬性匯報機制解決了由于匯聚節點通過主動定時查詢來保持設備狀態一致而帶來的通信效率低下的問題。
從技術架構的層面來講,智能家居控制系統可以分為感知/執行層、通信層和應用層。感知執行層負責環境信息、用電信息的采集和對上層控制指令的執行。通信層是應用層和感知執行層之間信息傳遞的橋梁。應用層則負責對采集信息進行融合分析、對應用邏輯進行判斷決策及提供人機交互界面等。

在基于ZigBee的智能家居控制系統設計中,采用了如圖2所示的架構。
家庭控制中心(智能網關)是整個控制系統的中樞,通常作為網絡的協調器負責網絡的組建和管理;可提供人機界面,查看接入網絡的設備,管理設備間的控制關系,將相關的設備組織成一個單元,以組的形式進行管理;可以對設備進行單一設置或聯動設置,維護設備的狀態;可以提供MODBUS TCP從站功能,供第三方中控系統通過以太網進行監控。
ZigBee產品終端可以作為網絡中的路由節點,是傳感信息的收集者或控制命令的終端執行者,如人體傳感器、計量插座、開關燈控制器及窗簾控制器等。
ZigBee紅外控制器,可以將網絡中的ZigBee控制命令轉化成對應的紅外碼序列,進而控制支持紅外遙控器的家電設備。
ZigBee數字/模擬(I/O)模塊可以將一些傳統的繼電器模塊或模擬采集量信息融合到ZigBee網絡中,為系統進行決策控制提供所需的原始信息。
ZigBee芯片選用32位基于Cortex-M3 ARM核的片上系統EM357,集成了2.4G與IEEE 802.15.4-2003兼容的無線收發器;使用192KB閃存和12KB RAM存儲器;具有較高的抗干擾性,可以與其他2.4G網絡共存;具有產生真隨機數的AES-128加密引擎;硬件支持網絡級調試;可以用作ZigBee協調器,路由器或終端設備;具有豐富的外設資源[10]。
硬件設計工作主要分為兩大部分:家庭控制中心(HC)和終端設備的硬件設計,本文以討論家庭控制中心(智能網關)為例進行討論說明。
為了降低成本,充分利用Android平板電腦的豐富資源,家庭控制中心采用平板電腦外加ZigBee USB Dongle的方式實現。Prolific公司的PL2303HXD芯片是一款支持USB轉串口的橋控制器,可在Android3.2以上的系統中以USB的形式而非Root權限來提供串口的功能[11]。
基 于ZigBee的USB Dongle硬 件 電 路,包 括ZigBee通訊模塊EM357和USB轉換模塊PL2303,整個模塊通過USB接口供電,原理框圖如圖3所示。

Ember357使用了EmberZNet Pro協議棧,Ember提供的應用程序開發框架支持通過軟件AppBuilder配置生成嵌入式C代碼來實現ZigBee簇庫應用程序[12]。通過回調函數機制,使用應用框架API函數來與屬性進行交互、發送、接收及響應ZigBee網絡的命令。典型的ZigBee終端設備流程圖如圖4所示。
為了在ZigBee模塊和PAD之間進行有效、可靠的信息交互,定義了如下報文格式:

P1為報文頭,表征新的一幀報文的開始;P2為序列號,用來避免對報文的重復解析;P3為報文長度,是去掉報文頭和校驗域后的有效長度;P4為命令字,用來區分報文的功能;P5為有效載荷,根據命令字的不同而具有不同的長度;P6為校驗碼,采用CRC-16來進行校驗,保證數據的完整性與正確性。

根據上述討論,在實驗室環境中搭建了一個基于ZHA的20個設備的演示測試系統。本系統由以下設備組成:基于Android4.0系統的平板電腦外加ZigBee USB Dongle作為整個控制系統的人機交互界面,6個開關燈控制器控制開關燈設備,6個窗簾控制器控制窗簾的上升/下降,6個調光燈控制器控制可調燈光的照度和1個人體傳感器檢測環境中是否有人存在。通過綁定操作,可以建立任意2個可匹配的終端設備之間的控制關系;通過使系統處于標識狀態,可以很方便地加入組,進而對組進行情景配置。通過屬性報告機制,可以將終端設備的狀態及時反饋到人機界面上。
通過Insight Desktop軟件和Insight Adapter報文捕捉設備,可以對ZigBee報文進行分析。由于篇幅所限,在此僅對在PAD上(節點標識號為0xCAA1)通過單擊其中一個情景模式按鈕后捕獲的報文進行說明。將節點標識號為0xD5DF、0x8DF7、0x1064及0x239C等20個點的相應的終端設備加入到組1中,并用自行設計的配置軟件設定好各設備的情景模式為1時對應的狀態。圖5為報文捕捉軟件的截圖,左上部顯示的是當前通訊事務總覽,第二行為對應觸發情景模式操作的事務,左下部為對應該事務所伴隨的多個通信事件,右上方為對應事件的解碼內容,右下方為捕獲到的16進制數據串。從圖5可以看出,0xCAA1通過廣播命令,使射頻信號處于接收狀態(RX_ON)并且加入了組1的設備執行情景模式號為1的動作。該命令對應的Profile標識為0x0104(ZigBee HA Profile對應的標識)。調用情景模式(Recall Scene)是一個ZCL命令(命令號0x05),報文捕捉軟件能夠解析出該命令為“ZCL:RecallScene”,組標識號為0x0001,情景標識號為0x01。由以上分析可知,情景模式調用的實現是符合ZHA規范的,通過類似的分析方法對設計的系統進行了分析驗證。

ZigBee無線智能家居控制系統省去了布線的煩惱、組網靈活,相比傳統的有線系統具有明顯的優勢。本文探討了ZigBee協議棧的架構和ZigBee家居自動化配置規約,提出了基于ZigBee的典型系統架構,給出了一種基于Ember357的智能家居控制系統的軟硬件設計及實現。通過搭建一套20點的展示平臺,借助ZigBee報文捕捉工具,證明了所開發的這套系統是符合ZHA規約的,為下一步的產品認證工作做了較好的準備。
根據ZHA配置規約設計的智能家居系統,能夠使不同廠家的產品實現互通、互連,為終端用戶提供更多的選擇。相信在市場的驅動和ZigBee聯盟的推動下,會有更多的廠商研發基于規范的智能家居產品,為終端用戶提供舒適、便捷、安全和節能的智能家居新體驗!
[1]吳文忠,李萬磊.基于ARM和ZigBee的智能家居系統[J].計算機工程與設計,2011,32(6):1987-1990.
[2]劉萍,胡杰.基于ZigBee 的智能家居室內通信系統[J].湖南農機,2011,38(9):40-41.
[3]姚建峰,郭旭展.基于Zigbee技術的智能家居系統[J].無線互聯科技,2012(10):53-88.
[4]徐海峰.基于Zigbee智能家居的低功耗節點設計[J].綠色科技,2012(6):277-279.
[5]郎為民.ZigBee標準化進展[J].數據通信,2010(06):12-16.
[6]ZigBee Alliance.ZigBee Specification Overview [EB/OL].http://www.zigbee.org/Specifications/ZigBee/Overview.aspx.
[7]ZigBee Alliance.ZigBee Specification [EB/OL].http://www.zigbee.org/Specifications/ZigBee/download.aspx.
[8]ZigBee Alliance.ZigBee Cluster Library Specification[EB/OL].http://www.zigbee.org/zigbee/en/spec_.download/spec_download.asp?AccessCode=1351395201.
[9]ZigBee Alliance.Home Automation Public Application Profile [EB/OL].https://docs.zigbee.org/zigbee-docs/dcn/07/docs-07-5367-02-0afg-home-automation profile-for-public-download.pdf.
[10]Silicon Laboratories.EM351/EM357 Datasheet [EB/OL].http://www.silabs.com/Support%20Documents/TechnicalDocs/EM35x.pdf.
[11]Prolific Technology.PL2303 Android USB Host Solution Application Note[EB/OL].http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=230 & pcid=41.
[12]Silicon Laboratories.Application Development Fundamentals For the Ember EM2xx and EM3xx Platforms[EB/OL].http://www.silabs.com/Support%20Documents/TechnicalDocs/App-Dev-Fundamentals.pdf.