基于ZigBee智能家居控制系統(tǒng)的設(shè)計
隨著無線通信技術(shù)和物聯(lián)網(wǎng)技術(shù)的深入發(fā)展,將無線通信技術(shù)應(yīng)用在智能家居控制領(lǐng)域今后的發(fā)展趨勢。目前智能家居控制系統(tǒng)主要采用的是有線通信方式。包括串口線、以太網(wǎng)、同軸電纜等。有線通信方式的優(yōu)點是技術(shù)成熟、傳輸可靠、速度快,但需要進行大量的布線工作,可擴展性差,成本也高。與其他短距離無線技術(shù)相比,基于ZigBee技術(shù)的無線傳感網(wǎng)絡(luò)以其低復(fù)雜度、低成本、低功耗等特點成為了組建智能家居控制網(wǎng)絡(luò)的首選方案。本文針對現(xiàn)有的智能家居控制系統(tǒng)的發(fā)展現(xiàn)狀,提出了一種基于ZigBee智能家居控制系統(tǒng)的解決方案。
1 ZigBee無線通信技術(shù)簡介
ZigBee起初是由IEEE 802.15工作組提出的,并制定規(guī)范了IEEE 802.15標(biāo)準(zhǔn)。ZigBee是基于此標(biāo)準(zhǔn)規(guī)范的一種近距離、低復(fù)雜度、雙向無線通信技術(shù),主要適合于自動控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備中。Zigbee技術(shù)有如下主要特點:
1)低功耗:ZigBee由于傳輸速率低,并且支持休眠模式,因此具有低碳節(jié)能的效果。經(jīng)測試,在低耗電休眠模式下,用2節(jié)5號干電池可支持1個功能節(jié)點工作最長達(dá)24個月,由此在相同情況下,藍(lán)牙可工作1月左右,而WiFi工作時間僅有幾個小時,這是Zigbee的突出優(yōu)勢。
2)低成本:由于ZigBee標(biāo)準(zhǔn)協(xié)議的大幅簡化,降低了對通信處理器的要求,僅需要8位處理器,主節(jié)點需要32 kB的RAM,子功能節(jié)點的4 kB的ROM即可,在很大程度上降低了芯片的成本費用。
3)短時延:的響應(yīng)速度非???,從休眠狀態(tài)喚醒,進入工作狀態(tài)僅需15 ms,ZigBee各節(jié)點連接,進入網(wǎng)絡(luò)只需30 ms。相比較,藍(lán)牙需要3~10 s、WiFi需要3 s。
4)數(shù)據(jù)傳輸速率低:只有10k字節(jié)/秒到250k字節(jié)/秒,專注于低傳輸應(yīng)用。
5)網(wǎng)絡(luò)容量大:每個ZigBee網(wǎng)絡(luò)最多可支持255個設(shè)備。
2 系統(tǒng)的總體設(shè)計
2.1 系統(tǒng)架構(gòu)設(shè)計
智能家居控制系統(tǒng)的設(shè)計主要包括基于ARM處理器網(wǎng)關(guān)服務(wù)器設(shè)計、基于ZigBee無線傳感網(wǎng)絡(luò)的組建、控制終端的設(shè)計,被控制終端節(jié)點的設(shè)計。系統(tǒng)的整體架構(gòu)如圖1所示。
ARM處理器為智能家居控制系統(tǒng)的控制中心,智能手機和LCD觸摸屏作為控制終端,智能手機通過WiFi接入ARM控制中心,智能手機實現(xiàn)遠(yuǎn)程控制,LCD觸摸屏實現(xiàn)本地近程
控制。ZigBee無線技術(shù)將被控終端組建成一個內(nèi)部無線局域網(wǎng)?;贏RM家庭內(nèi)部控制中心(家庭網(wǎng)關(guān))接受來自遠(yuǎn)程(智能手機)和本地(LCD觸摸屏)的控制指令,協(xié)調(diào)處理這些控制指令,來控制底層的家用設(shè)備。底層構(gòu)建的基于ZigBee技術(shù)的無線局域網(wǎng)覆蓋燈光控制、窗簾控制、環(huán)境參數(shù)的采集、常用家電的控制。最終實現(xiàn)智能手機、LCD觸摸屏通過系統(tǒng)控制中心能實時協(xié)調(diào)控制基于ZigBee技術(shù)無線傳感網(wǎng)絡(luò)所覆蓋的常用家庭設(shè)備和采集環(huán)境參數(shù)。
2.2 系統(tǒng)組網(wǎng)設(shè)計
本系統(tǒng)是采用ZigBee無線技術(shù)組建的內(nèi)部局域網(wǎng)絡(luò)。ZigBee定義了兩種物理設(shè)備類型全功能設(shè)備FFD(Full Function Device)和精簡功能設(shè)備RFD(Reduced Function Devi ce)。FFD支持任何拓?fù)浣Y(jié)構(gòu),可以充當(dāng)網(wǎng)絡(luò)協(xié)調(diào)器(Network Coordinator),能和任何設(shè)備通信。RFD通常只用于星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,不能完成網(wǎng)絡(luò)協(xié)調(diào)器功能,且只能與FFD通信,兩個RFD之間不能通信。但它們的內(nèi)部電路比FFD少,因此實現(xiàn)相對簡單,也更節(jié)能。
ZigBee網(wǎng)絡(luò)支持3種功能設(shè)備:網(wǎng)絡(luò)協(xié)調(diào)器(Network Coordinator)、網(wǎng)絡(luò)節(jié)點(Network Node)及IEEE節(jié)點(IEEENode)。前兩種都是FFD,可以與任何節(jié)點通信。IEEE節(jié)點是RFD。
ZigBee有3種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):星型(star)、簇樹型(Cluster)和網(wǎng)狀網(wǎng)(MESH),具體采用哪種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),應(yīng)考慮家庭網(wǎng)絡(luò)的實際情況。由于家庭電器設(shè)備分布在不同的房間,屋內(nèi)墻壁等障礙物多,因此通信信號會受到干擾,在綜合成本、靈活性、可靠性等多因素的考慮,本次智能家居控制系統(tǒng)采用星型(Star)拓?fù)浞绞?,星?Star)拓?fù)渚哂醒訒r時間短、操作簡單等其他網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)沒有的優(yōu)點。星型(Star)拓?fù)浣Y(jié)構(gòu)如圖2所示。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)控制中心(ARM處理器)采用Samsung S3C2440處理器,采用外接DM9000以太網(wǎng)卡與USB WIFI模塊來接入以太網(wǎng)與WIFI網(wǎng)絡(luò),通過串口控制ZigBee協(xié)調(diào)器,同時配置了觸摸屏支持本地觸摸界面操作。被控終端子節(jié)點主要由ZigBee子節(jié)點模塊、MCU控制單元與被控終端(燈光、窗簾、家電)組成。
Atmega16單片機作為控制單元通過串口接受來自ZigBee子節(jié)點的控制指令并產(chǎn)生了相應(yīng)的控制指令控制被控終端。ZigBee模塊的微控制器是采用TI公司的CC2530,該芯片與控制單元通過串口通信。LED調(diào)光驅(qū)動芯片采用的是P4115,它是一款連續(xù)電感電流導(dǎo)通模式的降壓恒流源,通過DIM引腳輸入占空比可調(diào)的PWM,便能輸出大小可調(diào)的橫流LED驅(qū)動電流,最大輸出電流可達(dá)1 A,最大能夠驅(qū)動25~30 W的LED。窗簾控制是采用步進電機,家電控制是采用紅外方式,溫度采集是采用ZigBee內(nèi)部集成的溫度傳感器。系統(tǒng)硬件框圖與被控子節(jié)點硬件框圖如圖3所示。
4 系統(tǒng)的軟件設(shè)計
4.1 服務(wù)器的設(shè)計
基于ARM平臺的控制系統(tǒng)移植了Linux操作系統(tǒng),因此服務(wù)器的設(shè)計是基于Linux平臺的服務(wù)器的設(shè)計。由于Linux內(nèi)核代碼開源、內(nèi)核可裁剪,因此Linux成為嵌入式平臺操作系統(tǒng)的首先。Linux是類Unix系統(tǒng),它繼承了Unix強大的功能和極佳的穩(wěn)定性,并降低了對硬件環(huán)境的要求。由于Linux的設(shè)計者重新改寫了TCP/IP協(xié)議,因此Linux具有更為穩(wěn)定和靈活的網(wǎng)絡(luò)性能。
服務(wù)器設(shè)計技術(shù)有很多,按使用的協(xié)議來分有TCP服務(wù)器和UDP服務(wù)器。按處理方式來分有迭代服務(wù)器和并發(fā)服務(wù)器。一個好的服務(wù)器,一般都是并發(fā)服務(wù)器。本系統(tǒng)也是設(shè)計成并發(fā)服務(wù)器。在客戶端朋艮務(wù)器模式中,將請求服務(wù)的一方稱為客戶(client),將提供某種服務(wù)的一方稱為(server)。本系統(tǒng)就是采用的這種客戶、服務(wù)器(C/S)模式。服務(wù)器接受來自客戶端的控制指令后通過串口寫相應(yīng)的指令Zigbee協(xié)調(diào)器。服務(wù)器是應(yīng)用select模型實現(xiàn)的TCP并發(fā)服務(wù)器,服務(wù)器軟件流程圖如圖4所示。
4.2 被控終端軟件的設(shè)計
被控終端主要由ZigBee子節(jié)點模塊、MCU控制單元與被控終端組成??刂平K端發(fā)送控制指令,經(jīng)過服務(wù)器通過Zigbee協(xié)調(diào)器轉(zhuǎn)發(fā)給相應(yīng)的Zigbee子節(jié)點。Zigbee子節(jié)點通過串口寫相應(yīng)的指令給Atmega16單片機,單片機分別實現(xiàn)特定的功能(控制燈光、家電、窗簾)??刂平K端單片機的工作流程圖如圖5所示。
5 系統(tǒng)測試與分析
5.1 基于ZigBee的組網(wǎng)測試
基于ZigBee協(xié)議成功組建了一個星型網(wǎng)絡(luò),一個協(xié)調(diào)器,3個子節(jié)點(網(wǎng)絡(luò)節(jié)點、IEEE節(jié)點)。協(xié)調(diào)器負(fù)責(zé)組建網(wǎng)絡(luò),子節(jié)點接入網(wǎng)絡(luò)后實現(xiàn)與協(xié)調(diào)器之間通信。通過串口助手對協(xié)調(diào)器與網(wǎng)綹節(jié)點之間的數(shù)據(jù)收發(fā)進行了測試。子節(jié)點接受數(shù)據(jù)時網(wǎng)絡(luò)通信方式為廣播方式,協(xié)調(diào)器每隔100 ms發(fā)送一字節(jié)數(shù)據(jù)給網(wǎng)絡(luò)節(jié)點。協(xié)調(diào)器接受數(shù)據(jù)時,網(wǎng)絡(luò)通信方式為點播方式,節(jié)點每隔100 ms向網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送一字節(jié)數(shù)據(jù)。測試結(jié)果如表1所示。
5.2 系統(tǒng)的聯(lián)合測試
啟動Mini2440系統(tǒng)板(系統(tǒng)控制中心)并運行服務(wù)器程序和QT界面控制程序,啟動ZigBee協(xié)調(diào)器和子節(jié)點并連接與子節(jié)點相連接的被控終端,啟動客戶端程序。整個系統(tǒng)能穩(wěn)定協(xié)調(diào)運行。服務(wù)器能準(zhǔn)確接收來自客戶端所發(fā)送的控制指令并寫相應(yīng)的指令到與Mini2440開發(fā)板串口相連接的ZigBee協(xié)調(diào)器。
服務(wù)器運行情況如圖6所示。QT界面程序能實現(xiàn)對常用設(shè)備的本地控制,QT控制界面如圖7所示。主控制界面如圖7(a)所示,燈光控制界面如圖7(b)、家電控制界面如圖7(c)
所示。
6 結(jié)論
本文基于ZigBee無線通信技術(shù)、以ARM處理器為控制中心提出了一種智能家居的整體架構(gòu)和解決方案。在ARM平臺上搭建一個并發(fā)服務(wù)器和一個QT界面程序。能協(xié)調(diào)接受來自智能手機和LCD觸摸屏發(fā)來的控制指令并且正確控制相應(yīng)的被控終端。達(dá)到了智能家居控制系統(tǒng)控制智能、方便、可擴展性好等優(yōu)點。通過實際測試系統(tǒng)比較穩(wěn)定,人機界面友好,達(dá)到了設(shè)計要求。由于篇幅有限相關(guān)基于安卓平臺的客戶端程序的開發(fā)、組網(wǎng)設(shè)計、終端設(shè)計等技術(shù)細(xì)節(jié)就沒敘述。