基于ZigBee技術的智能家居系統(tǒng)
摘要:為了滿足手機短信遠程控制家電設備的需要,應用GR64和CC2430為核心開發(fā)了一種基于無線傳感器網(wǎng)絡的智能化短信遠程控制系統(tǒng)。系統(tǒng)硬件部分主要由短信(SMS)收發(fā)模塊、紅外收發(fā)模塊、微處理器模塊、存儲模塊和供電模塊等組成;軟件部分給出了ZigBee無線通信協(xié)議的工作原理、家庭網(wǎng)關的設計流程。試驗表明,該系統(tǒng)具有良好的可擴展性、低成本、低功耗、低延時、低復雜度等特點,在智能家居系統(tǒng)中具有廣闊的應用前景。
關鍵詞:智能家居;家庭網(wǎng)關;紅外線通信;SMS ZigBee GR64;CC2430
0 引言
智能家居(Smar Home)又稱智能住宅。智能家居是以家為平臺,兼?zhèn)渥詣踊⒅悄芑谝惑w的高效、舒適、安全、便利、節(jié)能的住宅環(huán)境。智能家居系統(tǒng)是將家庭中各種與信息有關的通信設備、家用電器和家庭保安裝置通過家庭總線技術聯(lián)網(wǎng),進行有效的控制和信息交換,同時將家庭網(wǎng)絡與外網(wǎng)相連,利用遠程監(jiān)控系統(tǒng),實現(xiàn)對家居的遠程控制。雖然智能家居的概念已提出多年,但是由于相應的通信技術及應用領域的發(fā)展速度緩慢,一直沒有走向實用化。隨著傳感器技術、半導體制造技術、嵌入式微處理技術等的快速發(fā)展,尤其是無線傳感器網(wǎng)絡ZigBee技術的興起與成熟和GSM網(wǎng)手機用戶的日益普及,使得無線傳感器網(wǎng)絡在遠程環(huán)境監(jiān)控、自動抄表、醫(yī)療護理、智能家居、遠程工業(yè)和交通控制等領域提供了切實可行的應用方案,標志著在不久的將來智能家居將真正地進入人們生活的各個方面。ZigBee模塊可以安裝在遙控器、電燈、電視、風扇、空調(diào)、微波爐、煤氣爐、門禁系統(tǒng)和其他各種家電設備中,實現(xiàn)家居的照明、溫/濕度、安全和電氣智能控制,通過ZigBee終端設備還可以收集家居的各種信息,傳送到家庭網(wǎng)關;或者通過遙控達到遠程控制的目的,提供家居生活的自動化、網(wǎng)絡化和智能化。隨著智能化家電設備的廣泛應用,人們迫切需要隨時隨地的了解并控制家電設備的運行狀態(tài)。本文結合用戶的實際需求,給出了一個基于ZigBee技術的家居遠程控制系統(tǒng)的設計方案,用戶可以使用手機發(fā)短信通過家庭網(wǎng)關對室內(nèi)所有的家電設備進行遠程控制。
1 ZigBee技術
ZigBee是由ZigBee聯(lián)盟制定的面向低速無線個人區(qū)域網(wǎng)絡(LR-WPAN)的雙向無線通信技術標準,其物理層和數(shù)據(jù)鏈路層使用IEEE802.15.4標準,網(wǎng)絡層和應用層由ZigBee聯(lián)盟定義。與Wi—Fi,IrDA,UWB,Bluetooth等其他無線接入技術相比,ZigBee具有的優(yōu)勢如下:
(1)低功耗:工作模式下非常省電,并且支持休眠狀態(tài);
(2)低速率:ZigBee工作在3個免執(zhí)照的ISM(工業(yè)、科學和醫(yī)療)頻段上分別具有250 Kb/s(2.4 GHz)、40 Kb,/s(915 MHz)和20 Kb/s(868 MHz)三種不同的峰值數(shù)據(jù)速率;
(3)低成本;
(4)組網(wǎng)靈活、網(wǎng)絡容量大:ZigBee可采用星型、樹型和網(wǎng)狀網(wǎng)絡結構,由一個主節(jié)點管理若干子節(jié)點,最多一個主節(jié)點可管理254個子節(jié)點;同時主節(jié)點還可由上一層網(wǎng)絡節(jié)點管理,最多可組成65 000個節(jié)點的大網(wǎng);
(5)短距離:傳輸范圍一般介于10~100 m之間;
(6)安全可靠性高,提供了數(shù)據(jù)完整性檢查和鑒權認證功能,采用AES-128加密算法,同時采取碰撞避免機制。
ZigBee網(wǎng)絡中的三種邏輯設備類型:ZC(ZigBee協(xié)調(diào)器)、ZR(ZigBee路由器)和ZED(ZigBee終端節(jié)點設備)。每個網(wǎng)絡都必須包括一個ZC。協(xié)調(diào)器的主要功能是建立網(wǎng)絡、傳輸網(wǎng)絡信標、管理網(wǎng)絡節(jié)點、存儲網(wǎng)絡節(jié)點信息和路由信息等。ZR既具有ZED的接入功能,又具有路由功能,可以作為遠程設備之間的中繼器來拓展網(wǎng)絡的范圍,負責搜索可用的網(wǎng)絡、傳遞或轉發(fā)與其連接的ZR或ZED的數(shù)據(jù)。ZED無路由功能,它和ZR可以從ZC或從任何已經(jīng)進入網(wǎng)絡的ZR處獲得有關網(wǎng)絡的信息,據(jù)此設置操作參數(shù),加入網(wǎng)絡。
ZigBee網(wǎng)絡中的三種拓撲結構:星型拓撲、樹型拓撲和網(wǎng)狀拓撲,如圖1所示。
(1)星型拓撲:節(jié)點之間的數(shù)據(jù)路由只有惟一的一條路徑。
(2)樹型拓撲:當從一個節(jié)點向另一個節(jié)點發(fā)送數(shù)據(jù)時,信息將沿著樹的路徑向上傳遞到最近的協(xié)調(diào)器節(jié)點,然后再向下傳遞到目標節(jié)點。
(3)網(wǎng)狀拓撲:網(wǎng)狀拓撲結構是一種特殊的、按多跳方式傳輸?shù)狞c對點的網(wǎng)絡結構,其路由可自動建立和維護,并且具有強大的自組織、自愈功能。網(wǎng)絡可以通過“多級跳”的方式來通信,可以組成極為復雜的網(wǎng)絡,具有很大的路由深度和網(wǎng)絡節(jié)點規(guī)模。
IEEE 802.15.4標準定義了兩種物理設備類型,F(xiàn)FD(全功能設備)和RFD(半功能設備)。FFD是具有路由功能的節(jié)點,可以實現(xiàn)ZigBee網(wǎng)絡的任意一種邏輯設備類型,它能與RFD或其他FFD通信。RFD只能充當ZED,不具備路由功能,只能選擇性地加入已形成的網(wǎng)絡,只能與FFD通信,使用最少的資源和存儲器空間。
家庭智能控制(如照明、遙控裝置、水電氣計量及報警、PC機外設的無線連接等)具有這些方面的特點:傳輸數(shù)據(jù)量小,無需太大的傳輸速度,網(wǎng)絡的容量要大,家庭中的各種設備多,易部署擴展性靈活性高,信息的實時性要好,時延要短,成本要低。ZigBee技術的特點決定了其能很好地滿足家庭網(wǎng)絡節(jié)點通信的需求。
2 系統(tǒng)總體結構
本系統(tǒng)可以概括為家庭網(wǎng)關和分控節(jié)點兩個部分,系統(tǒng)結構框圖如圖2所示。家庭網(wǎng)關是智能家居的核心,抽象起來它作為家庭外網(wǎng)與家庭內(nèi)網(wǎng)通信的通道并且負責各種不同設備之間通信協(xié)議的轉換,而且它也作為一種服務平臺為用戶提供各種可能的增值服務。在系統(tǒng)中采用CC2430芯片和其他幾個模塊組成家庭網(wǎng)關,它作為ZigBee網(wǎng)絡的協(xié)調(diào)器,負責家庭內(nèi)網(wǎng)絡(ZigBee)的建立、采用星型拓撲并對各個分控節(jié)點的入網(wǎng)加以驗證等工作。家庭網(wǎng)關中的短信(SMS)收發(fā)模塊負責外部移動網(wǎng)絡(GSM)信息的接入,因此可以與用戶手機進行雙向通信。家庭內(nèi)網(wǎng)中的分控節(jié)點負責將存儲器中的紅外脈沖碼轉換成紅外線信號并控制其所在范圍內(nèi)的紅外家電設備。每個房間中可以有多個分控節(jié)點,每個分控節(jié)點可以控制多個紅外家電設備。
3 系統(tǒng)硬件設計
系統(tǒng)硬件電路的設計包括家庭網(wǎng)關和分控節(jié)點的設計。
3.1 家庭網(wǎng)關的硬件電路設計
家庭網(wǎng)關的硬件處理器采用無線低功耗單片機CC2430。由于軟件協(xié)議復雜、數(shù)據(jù)流量大,所以在內(nèi)含F(xiàn)LASH的CC2430基礎上對存儲器進行擴展,專門用于對紅外脈沖碼的存儲。鐵電存儲器(FM25L512)與協(xié)調(diào)器(CC2430)通過SPI連接。供電模塊采用低壓差線性可調(diào)穩(wěn)壓器TPS78 601穩(wěn)壓至3.6 V輸出給整個系統(tǒng),為了使輸出電源的紋波較小,在輸出部分采用了一個2.2μF和一個15 pF的電容。另外,在芯片的輸入端放置了一個1μF的濾波電容,以減小輸入端受到的干擾。系統(tǒng)硬件原理圖如圖3所示。
CC2430是Chipcon公司推出的用來實現(xiàn)嵌入式ZigBee應用的片上系統(tǒng),在單個芯片上整合了ZigBee射頻(RF)前端CC2420、內(nèi)存和微控制器,是一款低成本低功耗高性能的射頻芯片。它使用1個8位8051MCU,具有32/64/128 KB可編程閃存、8 KB的RAM,ADC,Timer,AES-128協(xié)同處理器、看門狗定時器、32 kHz晶振的休眠模式定時器、上電復位電路(Power On Reset)、掉電檢測電路(Brown Out Detection)以及21個可編程I/O引腳,P0,P1口是完全的8位口,P2口只有5個可使用的位,通過特殊功能寄存器(SFR)的設置可以將這些引腳配置成通用的I/O端口或者是ADC、Timer、SPI、UART器件的外設I/O端口。
短信的收發(fā)采用GR64模塊,GR64模塊一款工業(yè)級無線調(diào)制解調(diào)模塊。集射頻電路和基帶處理器于一體,內(nèi)置閃速存儲器,提供標準的AT命令控制語音、數(shù)據(jù)、短信和傳真的傳輸。GR64模塊提供了豐富的外設接口。短信模塊和單片機CC2430通過RS 232進行通信,二者構成了GSM網(wǎng)絡和ZigBee網(wǎng)絡之間數(shù)據(jù)轉換的通道。
紅外收發(fā)模塊包含紅外解調(diào)電路和紅外調(diào)制電路,如圖3所示。紅外解調(diào)電路采用一體化紅外接收頭TL538,它具有寬電壓適應、功耗低、成本低、高接收靈敏度以及優(yōu)良的抗干擾特性,是通用接收紅外信號并解調(diào)的元件,不需要任何外接元件,就可以完成從紅外線接收到輸出TTL電平的數(shù)字信號,目前廣泛的應用于家用電器及玩具等各種紅外遙控和紅外接收裝置中。發(fā)光二極管RED用于接收完成遙控器一個按鍵的紅外脈沖碼的指示并作為家庭網(wǎng)關正常工作時的指示燈。紅外發(fā)送電路通過與門芯片(74LVC1G08)將基帶信號和載波信號進行調(diào)制,用于驅動紅外LED產(chǎn)生紅外光。
3.2 分控節(jié)點的硬件電路設計
分控節(jié)點存在于各個房間中,主要用于接收家庭網(wǎng)關發(fā)送來的紅外脈沖碼,并將其調(diào)制到38 kHz載波頻率上輸出,所以只需要一個紅外驅動電路和一個CC2430最小系統(tǒng),包括上電復位電路和正常工作指示燈,能量供應可以采用電池供電。
4 系統(tǒng)軟件設計
4.1 ZigBee協(xié)議棧運行機理
ZigBee協(xié)議棧ZStack運行在一個OSAL(操作系統(tǒng)抽象層)操作系統(tǒng)上。該操作系統(tǒng)基于協(xié)同輪轉查詢式的任務調(diào)度機制,ZStack協(xié)議棧的每一層均作為一個獨立的具有優(yōu)先級任務。每個任務都對應著一個任務事件處理函數(shù)。每個任務都包含若干個事件,每個事件都對應著一個事件號。當一個事件產(chǎn)生時,相應任務的事件就被設置為相應的事件號,即事件處于有效狀態(tài)。這樣,基于任務輪詢的OS將進入相應任務的任務事件處理函數(shù)的有效事件處理程序中執(zhí)行。而且在ZStaek中將硬件的驅動放到了硬件抽象層(HAL)中,這樣屏蔽了底層硬件的具體實現(xiàn),有利于應用軟件的模塊化和可移植性。使用時可以對HAL中的驅動函數(shù)進行適當?shù)牟眉艉托薷囊赃m應實際應用系統(tǒng)的需要。OSAL中的任務可以通過任務API函數(shù)接口將其添加到系統(tǒng)中,這樣就可以實現(xiàn)多任務機制。軟件設計體系如圖4所示。
4.2 家庭內(nèi)網(wǎng)的軟件設計
家庭網(wǎng)關軟件流程如圖5所示,首先初始化CC2430系統(tǒng)時鐘和定時器。初始化之后發(fā)光二極管閃爍一下,表示正在等待捕獲遙控器的紅外脈沖碼。在一段時間里沒有捕獲到,則以協(xié)調(diào)器身份初始化ZigBee協(xié)議棧,如果建網(wǎng)成功,則發(fā)光二極管閃爍一下,此時處于正常工作狀態(tài)。當接收到有效短信的有效命令后,調(diào)用存儲器中的紅外脈沖碼驅動紅外脈沖電路發(fā)送并在本網(wǎng)中廣播發(fā)送。
4.3 家庭外網(wǎng)的軟件設計
GR64模塊支持兩種模式收發(fā)短信:Text模式、PDU模式。Text模式是純文本方式,不支持中文,可使用不同的字符集,主要用于歐美地區(qū);PDU模式被所有手機及工業(yè)級模塊支持,可以使用任何字符集,目前最為常用。系統(tǒng)中通過手機發(fā)送AT命令對GR64參數(shù)進行設置,包括GR64的字符集,設置短信格式,當前短信存儲載體,新短信提示等。系統(tǒng)采用PDU模式,以便手機可以接收到GR64模塊發(fā)送的漢字。其中,將GR64模塊新短信提示的方式設置為:AT+CNMI=1,2,2,1表示接收到的短信和狀態(tài)不進行存儲,直接通過串口1送入CC2430。
4.4 紅外信號的收發(fā)與存儲
遙控器紅外脈沖碼一般由引導碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)碼反碼和結果碼組成。由于各個公司生產(chǎn)的紅外編/解碼芯片采用的編/解碼方式和脈寬周期不同,導致了市場上的各類遙控器的功能互不兼容。為了能擁有各種遙控器的的遙控功能,首先必須要正確地原樣接收并存儲遙控器的紅外脈沖碼,對于某些一鍵雙碼的按鍵,必須進行兩次比較確認后存儲。其次所有驅動電路輸出的紅外脈沖碼均來自已保存在存儲器中的紅外脈沖碼基帶信號對38 kHz的載波信號進行脈寬調(diào)制產(chǎn)生的。因此利用單片機CC2430的內(nèi)部定時器T1可以完成紅外脈沖碼的接收采集和調(diào)制輸出,T3用來產(chǎn)生 38 kHz的載波信號。再次,對于沒有紅外接收的設備可以安裝一個紅外接收頭即可實現(xiàn)設備的控制,既簡單又方便。
5 結語
目前,智能家居的規(guī)范,設計和應用正在穩(wěn)步進行中。構建一個符合家居環(huán)境的分布式、低功耗、運行穩(wěn)定的家庭網(wǎng)關尤其重要。Zig-Bee無線通信協(xié)議的設備具有低功耗、低成本、低速率、靈活高效等諸多優(yōu)勢,相信在不久的將來,以ZigBee技術為典型特征的智能家居設備將進入日常生活的方方面面。
本文作者的創(chuàng)新點:以無線射頻芯片CC2430為核心設計實現(xiàn)的家庭網(wǎng)關可以收發(fā)短信,自學習存儲紅外碼,并能夠通過紅外線方式控制設備,具有控制容量大和功耗低等特點。