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