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