劉傳忠 / 張衛(wèi)東 / 聶 佳
1.上海交通大學(xué)自動(dòng)化系, 上海 200240
2.上海電器科學(xué)研究院, 上海 200063
在物聯(lián)網(wǎng)的大潮下,智能家居得到了蓬勃發(fā)展。但由于智能家居是一個(gè)多行業(yè)交叉的系統(tǒng)工程,迄今還沒(méi)有一個(gè)完全統(tǒng)一的標(biāo)準(zhǔn),各設(shè)備廠商遵循各自不同的接口標(biāo)準(zhǔn)與協(xié)議生產(chǎn)設(shè)備,使得不同設(shè)備之間的互連、互通變得非常困難。ZigBee作為一種無(wú)線的通信技術(shù),其低功耗、自組網(wǎng)、允許較大的網(wǎng)絡(luò)規(guī)模、具有較高的可靠性和安全性等特點(diǎn),特別適用于數(shù)據(jù)通信速率不高的家居自動(dòng)化場(chǎng)合。目前,大量文獻(xiàn)都對(duì)基于ZigBee的智能家居控制系統(tǒng)進(jìn)行了闡述,如文獻(xiàn)[1]介紹了通過(guò)ARM平臺(tái)實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)與CDMA網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)的互聯(lián);文獻(xiàn)[2]實(shí)現(xiàn)室內(nèi)ZigBee無(wú)線傳感器網(wǎng)絡(luò)到Internet的接入;文獻(xiàn)[3]討論了基于ZigBee的智能家居控制系統(tǒng)的結(jié)構(gòu);文獻(xiàn)[4]探討了ZigBee終端設(shè)備低功耗設(shè)計(jì)技術(shù)。大多文獻(xiàn)基本上都圍繞著各自系統(tǒng)的私有實(shí)現(xiàn),沒(méi)有論及不同廠商的智能家居設(shè)備間的互通、互連問(wèn)題。
為了保證來(lái)自不同廠家設(shè)備的互操作性,針對(duì)智能家居系統(tǒng),ZigBee聯(lián)盟推出了《家庭自動(dòng)化公共應(yīng)用配置規(guī)約》(ZIGBEE HOME AUTOMATION PUBLIC APPLICATION PROFILE,下 文 簡(jiǎn) 稱(chēng)ZHA)。為了解決上文中提出的問(wèn)題,本文圍繞著基于ZHA的智能家居控制系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)展開(kāi)說(shuō)明。
ZigBee標(biāo)準(zhǔn)由ZigBee聯(lián)盟制定與維護(hù),已經(jīng)推出了多個(gè)版本[5]。最新的ZigBee標(biāo)準(zhǔn)稱(chēng)為ZigBee 2012,提供了完整的無(wú)線網(wǎng)狀網(wǎng)(mesh networking),在單一的網(wǎng)絡(luò)中最多可支持64 000個(gè)設(shè)備。該規(guī)范規(guī)定了2套功能集: ZigBee和ZigBee Pro。ZigBee主要面向單一網(wǎng)絡(luò)中只有數(shù)百個(gè)設(shè)備的功能集。ZigBee Pro則對(duì)ZigBee功能集進(jìn)行了增強(qiáng)與優(yōu)化,支持大規(guī)模的網(wǎng)絡(luò)應(yīng)用,具有更好的安全性,同時(shí)還支持通過(guò)Green Power功能將能量采集或自供電的設(shè)備接入到ZigBee Pro網(wǎng)絡(luò)中[6]。
ZigBee聯(lián)盟在低速無(wú)線個(gè)人局域網(wǎng)標(biāo)準(zhǔn)IEEE 802.15.4的基礎(chǔ)上建立了網(wǎng)絡(luò)層(NWK)和應(yīng)用層框架(Framework),協(xié)議棧架構(gòu)如圖1所示[7]。相臨層之間通過(guò)服務(wù)訪問(wèn)點(diǎn)(SAP)進(jìn)行信息傳遞,高層使用底層所提供的服務(wù)。
從圖1可以看出,應(yīng)用層由制造商定義的應(yīng)用對(duì)象所在的應(yīng)用框架(Application Framework),ZDO(包括ZDO管理域)和應(yīng)用支持子層構(gòu)成。設(shè)備生產(chǎn)商定義的應(yīng)用對(duì)象使用框架和ZDO共享APS及安全服務(wù)。在ZigBee應(yīng)用框架中,制造商最多可以定義240個(gè)應(yīng)用對(duì)象來(lái)實(shí)現(xiàn)各自特定的功能。
ZHA涵蓋了民用或輕型商用環(huán)境中家居自動(dòng)化應(yīng)用(網(wǎng)絡(luò)規(guī)模在500點(diǎn)以內(nèi)),包括照明、暖通空調(diào)、窗簾遮陽(yáng)傘及安防等應(yīng)用[9]。為了保證互操作性和良好的用戶體驗(yàn),ZHA規(guī)定了設(shè)備啟動(dòng)屬性集,包括:?jiǎn)?dòng)參數(shù)、加入網(wǎng)絡(luò)參數(shù)、安全參數(shù)、終端設(shè)備參數(shù)、鏈路狀態(tài)參數(shù)、集中器參數(shù)、APS傳輸參數(shù)及綁定參數(shù)等。
ZHA使用ZigBee聯(lián)盟制定的ZigBee簇庫(kù)(ZCL)、功能簇(Cluster)是一系列相關(guān)的屬性和命令的集合,通過(guò)客戶端/服務(wù)器模型為設(shè)備間的通訊提供了接口。當(dāng)ZCL屬性發(fā)生改變時(shí)發(fā)送相應(yīng)報(bào)告給指定節(jié)點(diǎn),或者在規(guī)定時(shí)間內(nèi)未發(fā)送屬性報(bào)告則啟動(dòng)相應(yīng)報(bào)告的發(fā)送,通過(guò)屬性配置擴(kuò)展域規(guī)定了ZHA設(shè)備哪些簇的哪些屬性可以進(jìn)行匯報(bào)。屬性匯報(bào)機(jī)制解決了由于匯聚節(jié)點(diǎn)通過(guò)主動(dòng)定時(shí)查詢來(lái)保持設(shè)備狀態(tài)一致而帶來(lái)的通信效率低下的問(wèn)題。
從技術(shù)架構(gòu)的層面來(lái)講,智能家居控制系統(tǒng)可以分為感知/執(zhí)行層、通信層和應(yīng)用層。感知執(zhí)行層負(fù)責(zé)環(huán)境信息、用電信息的采集和對(duì)上層控制指令的執(zhí)行。通信層是應(yīng)用層和感知執(zhí)行層之間信息傳遞的橋梁。應(yīng)用層則負(fù)責(zé)對(duì)采集信息進(jìn)行融合分析、對(duì)應(yīng)用邏輯進(jìn)行判斷決策及提供人機(jī)交互界面等。
在基于ZigBee的智能家居控制系統(tǒng)設(shè)計(jì)中,采用了如圖2所示的架構(gòu)。
家庭控制中心(智能網(wǎng)關(guān))是整個(gè)控制系統(tǒng)的中樞,通常作為網(wǎng)絡(luò)的協(xié)調(diào)器負(fù)責(zé)網(wǎng)絡(luò)的組建和管理;可提供人機(jī)界面,查看接入網(wǎng)絡(luò)的設(shè)備,管理設(shè)備間的控制關(guān)系,將相關(guān)的設(shè)備組織成一個(gè)單元,以組的形式進(jìn)行管理;可以對(duì)設(shè)備進(jìn)行單一設(shè)置或聯(lián)動(dòng)設(shè)置,維護(hù)設(shè)備的狀態(tài);可以提供MODBUS TCP從站功能,供第三方中控系統(tǒng)通過(guò)以太網(wǎng)進(jìn)行監(jiān)控。
ZigBee產(chǎn)品終端可以作為網(wǎng)絡(luò)中的路由節(jié)點(diǎn),是傳感信息的收集者或控制命令的終端執(zhí)行者,如人體傳感器、計(jì)量插座、開(kāi)關(guān)燈控制器及窗簾控制器等。
ZigBee紅外控制器,可以將網(wǎng)絡(luò)中的ZigBee控制命令轉(zhuǎn)化成對(duì)應(yīng)的紅外碼序列,進(jìn)而控制支持紅外遙控器的家電設(shè)備。
ZigBee數(shù)字/模擬(I/O)模塊可以將一些傳統(tǒng)的繼電器模塊或模擬采集量信息融合到ZigBee網(wǎng)絡(luò)中,為系統(tǒng)進(jìn)行決策控制提供所需的原始信息。
ZigBee芯片選用32位基于Cortex-M3 ARM核的片上系統(tǒng)EM357,集成了2.4G與IEEE 802.15.4-2003兼容的無(wú)線收發(fā)器;使用192KB閃存和12KB RAM存儲(chǔ)器;具有較高的抗干擾性,可以與其他2.4G網(wǎng)絡(luò)共存;具有產(chǎn)生真隨機(jī)數(shù)的AES-128加密引擎;硬件支持網(wǎng)絡(luò)級(jí)調(diào)試;可以用作ZigBee協(xié)調(diào)器,路由器或終端設(shè)備;具有豐富的外設(shè)資源[10]。
硬件設(shè)計(jì)工作主要分為兩大部分:家庭控制中心(HC)和終端設(shè)備的硬件設(shè)計(jì),本文以討論家庭控制中心(智能網(wǎng)關(guān))為例進(jìn)行討論說(shuō)明。
為了降低成本,充分利用Android平板電腦的豐富資源,家庭控制中心采用平板電腦外加ZigBee USB Dongle的方式實(shí)現(xiàn)。Prolific公司的PL2303HXD芯片是一款支持USB轉(zhuǎn)串口的橋控制器,可在Android3.2以上的系統(tǒng)中以USB的形式而非Root權(quán)限來(lái)提供串口的功能[11]。
基 于ZigBee的USB Dongle硬 件 電 路,包 括ZigBee通訊模塊EM357和USB轉(zhuǎn)換模塊PL2303,整個(gè)模塊通過(guò)USB接口供電,原理框圖如圖3所示。
Ember357使用了EmberZNet Pro協(xié)議棧,Ember提供的應(yīng)用程序開(kāi)發(fā)框架支持通過(guò)軟件AppBuilder配置生成嵌入式C代碼來(lái)實(shí)現(xiàn)ZigBee簇庫(kù)應(yīng)用程序[12]。通過(guò)回調(diào)函數(shù)機(jī)制,使用應(yīng)用框架API函數(shù)來(lái)與屬性進(jìn)行交互、發(fā)送、接收及響應(yīng)ZigBee網(wǎng)絡(luò)的命令。典型的ZigBee終端設(shè)備流程圖如圖4所示。
為了在ZigBee模塊和PAD之間進(jìn)行有效、可靠的信息交互,定義了如下報(bào)文格式:
P1為報(bào)文頭,表征新的一幀報(bào)文的開(kāi)始;P2為序列號(hào),用來(lái)避免對(duì)報(bào)文的重復(fù)解析;P3為報(bào)文長(zhǎng)度,是去掉報(bào)文頭和校驗(yàn)域后的有效長(zhǎng)度;P4為命令字,用來(lái)區(qū)分報(bào)文的功能;P5為有效載荷,根據(jù)命令字的不同而具有不同的長(zhǎng)度;P6為校驗(yàn)碼,采用CRC-16來(lái)進(jìn)行校驗(yàn),保證數(shù)據(jù)的完整性與正確性。
根據(jù)上述討論,在實(shí)驗(yàn)室環(huán)境中搭建了一個(gè)基于ZHA的20個(gè)設(shè)備的演示測(cè)試系統(tǒng)。本系統(tǒng)由以下設(shè)備組成:基于Android4.0系統(tǒng)的平板電腦外加ZigBee USB Dongle作為整個(gè)控制系統(tǒng)的人機(jī)交互界面,6個(gè)開(kāi)關(guān)燈控制器控制開(kāi)關(guān)燈設(shè)備,6個(gè)窗簾控制器控制窗簾的上升/下降,6個(gè)調(diào)光燈控制器控制可調(diào)燈光的照度和1個(gè)人體傳感器檢測(cè)環(huán)境中是否有人存在。通過(guò)綁定操作,可以建立任意2個(gè)可匹配的終端設(shè)備之間的控制關(guān)系;通過(guò)使系統(tǒng)處于標(biāo)識(shí)狀態(tài),可以很方便地加入組,進(jìn)而對(duì)組進(jìn)行情景配置。通過(guò)屬性報(bào)告機(jī)制,可以將終端設(shè)備的狀態(tài)及時(shí)反饋到人機(jī)界面上。
通過(guò)Insight Desktop軟件和Insight Adapter報(bào)文捕捉設(shè)備,可以對(duì)ZigBee報(bào)文進(jìn)行分析。由于篇幅所限,在此僅對(duì)在PAD上(節(jié)點(diǎn)標(biāo)識(shí)號(hào)為0xCAA1)通過(guò)單擊其中一個(gè)情景模式按鈕后捕獲的報(bào)文進(jìn)行說(shuō)明。將節(jié)點(diǎn)標(biāo)識(shí)號(hào)為0xD5DF、0x8DF7、0x1064及0x239C等20個(gè)點(diǎn)的相應(yīng)的終端設(shè)備加入到組1中,并用自行設(shè)計(jì)的配置軟件設(shè)定好各設(shè)備的情景模式為1時(shí)對(duì)應(yīng)的狀態(tài)。圖5為報(bào)文捕捉軟件的截圖,左上部顯示的是當(dāng)前通訊事務(wù)總覽,第二行為對(duì)應(yīng)觸發(fā)情景模式操作的事務(wù),左下部為對(duì)應(yīng)該事務(wù)所伴隨的多個(gè)通信事件,右上方為對(duì)應(yīng)事件的解碼內(nèi)容,右下方為捕獲到的16進(jìn)制數(shù)據(jù)串。從圖5可以看出,0xCAA1通過(guò)廣播命令,使射頻信號(hào)處于接收狀態(tài)(RX_ON)并且加入了組1的設(shè)備執(zhí)行情景模式號(hào)為1的動(dòng)作。該命令對(duì)應(yīng)的Profile標(biāo)識(shí)為0x0104(ZigBee HA Profile對(duì)應(yīng)的標(biāo)識(shí))。調(diào)用情景模式(Recall Scene)是一個(gè)ZCL命令(命令號(hào)0x05),報(bào)文捕捉軟件能夠解析出該命令為“ZCL:RecallScene”,組標(biāo)識(shí)號(hào)為0x0001,情景標(biāo)識(shí)號(hào)為0x01。由以上分析可知,情景模式調(diào)用的實(shí)現(xiàn)是符合ZHA規(guī)范的,通過(guò)類(lèi)似的分析方法對(duì)設(shè)計(jì)的系統(tǒng)進(jìn)行了分析驗(yàn)證。
ZigBee無(wú)線智能家居控制系統(tǒng)省去了布線的煩惱、組網(wǎng)靈活,相比傳統(tǒng)的有線系統(tǒng)具有明顯的優(yōu)勢(shì)。本文探討了ZigBee協(xié)議棧的架構(gòu)和ZigBee家居自動(dòng)化配置規(guī)約,提出了基于ZigBee的典型系統(tǒng)架構(gòu),給出了一種基于Ember357的智能家居控制系統(tǒng)的軟硬件設(shè)計(jì)及實(shí)現(xiàn)。通過(guò)搭建一套20點(diǎn)的展示平臺(tái),借助ZigBee報(bào)文捕捉工具,證明了所開(kāi)發(fā)的這套系統(tǒng)是符合ZHA規(guī)約的,為下一步的產(chǎn)品認(rèn)證工作做了較好的準(zhǔn)備。
根據(jù)ZHA配置規(guī)約設(shè)計(jì)的智能家居系統(tǒng),能夠使不同廠家的產(chǎn)品實(shí)現(xiàn)互通、互連,為終端用戶提供更多的選擇。相信在市場(chǎng)的驅(qū)動(dòng)和ZigBee聯(lián)盟的推動(dòng)下,會(huì)有更多的廠商研發(fā)基于規(guī)范的智能家居產(chǎn)品,為終端用戶提供舒適、便捷、安全和節(jié)能的智能家居新體驗(yàn)!
[1]吳文忠,李萬(wàn)磊.基于ARM和ZigBee的智能家居系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(6):1987-1990.
[2]劉萍,胡杰.基于ZigBee 的智能家居室內(nèi)通信系統(tǒng)[J].湖南農(nóng)機(jī),2011,38(9):40-41.
[3]姚建峰,郭旭展.基于Zigbee技術(shù)的智能家居系統(tǒng)[J].無(wú)線互聯(lián)科技,2012(10):53-88.
[4]徐海峰.基于Zigbee智能家居的低功耗節(jié)點(diǎn)設(shè)計(jì)[J].綠色科技,2012(6):277-279.
[5]郎為民.ZigBee標(biāo)準(zhǔn)化進(jìn)展[J].數(shù)據(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.