基于ZigBee技術(shù)的智能家居系統(tǒng)
短信的收發(fā)采用GR64模塊,GR64模塊一款工業(yè)級(jí)無線調(diào)制解調(diào)模塊。集射頻電路和基帶處理器于一體,內(nèi)置閃速存儲(chǔ)器,提供標(biāo)準(zhǔn)的AT命令控制語(yǔ)音、數(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)良的抗干擾特性,是通用接收紅外信號(hào)并解調(diào)的元件,不需要任何外接元件,就可以完成從紅外線接收到輸出TTL電平的數(shù)字信號(hào),目前廣泛的應(yīng)用于家用電器及玩具等各種紅外遙控和紅外接收裝置中。發(fā)光二極管RED用于接收完成遙控器一個(gè)按鍵的紅外脈沖碼的指示并作為家庭網(wǎng)關(guān)正常工作時(shí)的指示燈。紅外發(fā)送電路通過與門芯片(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ā)送來的紅外脈沖碼,并將其調(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)先級(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ù)輪詢的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ù)可以通過任務(wù)API函數(shù)接口將其添加到系統(tǒng)中,這樣就可以實(shí)現(xiàn)多任務(wù)機(jī)制。軟件設(shè)計(jì)體系如圖4所示。本文引用地址:http://m.butianyuan.cn/article/155866.htm
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)用存儲(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)中通過手機(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ǔ),直接通過串口1送入CC2430。
4.4 紅外信號(hào)的收發(fā)與存儲(chǔ)
遙控器紅外脈沖碼一般由引導(dǎo)碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)碼反碼和結(jié)果碼組成。由于各個(gè)公司生產(chǎn)的紅外編/解碼芯片采用的編/解碼方式和脈寬周期不同,導(dǎo)致了市場(chǎng)上的各類遙控器的功能互不兼容。為了能擁有各種遙控器的的遙控功能,首先必須要正確地原樣接收并存儲(chǔ)遙控器的紅外脈沖碼,對(duì)于某些一鍵雙碼的按鍵,必須進(jìn)行兩次比較確認(rèn)后存儲(chǔ)。其次所有驅(qū)動(dòng)電路輸出的紅外脈沖碼均來自已保存在存儲(chǔ)器中的紅外脈沖碼基帶信號(hào)對(duì)38 kHz的載波信號(hào)進(jìn)行脈寬調(diào)制產(chǎn)生的。因此利用單片機(jī)CC2430的內(nèi)部定時(shí)器T1可以完成紅外脈沖碼的接收采集和調(diào)制輸出,T3用來產(chǎn)生 38 kHz的載波信號(hào)。再次,對(duì)于沒有紅外接收的設(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無線通信協(xié)議的設(shè)備具有低功耗、低成本、低速率、靈活高效等諸多優(yōu)勢(shì),相信在不久的將來,以ZigBee技術(shù)為典型特征的智能家居設(shè)備將進(jìn)入日常生活的方方面面。
本文作者的創(chuàng)新點(diǎn):以無線射頻芯片CC2430為核心設(shè)計(jì)實(shí)現(xiàn)的家庭網(wǎng)關(guān)可以收發(fā)短信,自學(xué)習(xí)存儲(chǔ)紅外碼,并能夠通過紅外線方式控制設(shè)備,具有控制容量大和功耗低等特點(diǎn)。
評(píng)論