基于TinyOS的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著現(xiàn)代高新科學(xué)技術(shù)的發(fā)展,人們更加注重對(duì)生活品質(zhì)的追求,舒適度、智能化的家居日益成為人們關(guān)注的對(duì)象。家用電器的自動(dòng)化已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代人的需求。智能家居系統(tǒng)是一項(xiàng)多功能綜合技術(shù),它以家庭住宅為平臺(tái),以先進(jìn)的通信技術(shù)、網(wǎng)絡(luò)技術(shù)、控制技術(shù)為依托,將家庭中各種電器設(shè)備通過(guò)某種形式的網(wǎng)絡(luò)有機(jī)地結(jié)合在一起,進(jìn)行網(wǎng)絡(luò)化的綜合管理與調(diào)控,為人們提供一種更加舒適、安全、環(huán)保、高效的生活環(huán)境。
人們對(duì)智能化家居的需求越來(lái)越迫切,本文結(jié)合TinyOS自身特點(diǎn),提出并實(shí)現(xiàn)了一個(gè)智能家居系統(tǒng)設(shè)計(jì)方案。
1 TinyOS操作系統(tǒng)與nesC語(yǔ)言
TinyOS是當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)開(kāi)發(fā)的一種主流操作系統(tǒng)。TinyOS采用基于組件的體系結(jié)構(gòu),在此結(jié)構(gòu)下,一個(gè)完整的應(yīng)用程序包含多個(gè)組件,它的各種功能都是由組件實(shí)現(xiàn)
的,即TinyOS提供了一個(gè)適用于傳感器網(wǎng)絡(luò)開(kāi)發(fā)應(yīng)用的編程框架。
NesC是對(duì)C語(yǔ)言的一種擴(kuò)展,其語(yǔ)言的基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、基本語(yǔ)句和程序結(jié)構(gòu)都與C語(yǔ)言相同。它的最大特點(diǎn)是支持組件化的編程模式,將組件化/模塊化的思想和事件驅(qū)動(dòng)的執(zhí)行模型結(jié)合起來(lái),并采用基于任務(wù)和事件的并發(fā)模型。
2 智能家居總體設(shè)計(jì)
根據(jù)智能家居的實(shí)際應(yīng)用需求,智能家居系統(tǒng)設(shè)計(jì)主要包括網(wǎng)絡(luò)節(jié)點(diǎn)和監(jiān)控系統(tǒng)兩大部分。
網(wǎng)絡(luò)節(jié)點(diǎn)功能包括:主節(jié)點(diǎn)可以讀取從串口讀取的命令,并通過(guò)無(wú)線通信向分節(jié)點(diǎn)發(fā)送命令;同時(shí)可返回從分節(jié)點(diǎn)采集的數(shù)據(jù)。此系統(tǒng)另外含有3個(gè)分節(jié)點(diǎn),燈光明暗控制節(jié)點(diǎn),門鎖開(kāi)關(guān)控制節(jié)點(diǎn),溫、濕度數(shù)據(jù)采集節(jié)點(diǎn)。燈光明暗控制節(jié)點(diǎn)可以通過(guò)無(wú)線接收從主節(jié)點(diǎn)發(fā)送的命令,分級(jí)調(diào)節(jié)燈光的亮度,逐漸增亮或逐漸變暗。門鎖控制節(jié)點(diǎn)可以通過(guò)無(wú)線接收從主節(jié)點(diǎn)發(fā)送的命令,打開(kāi)或者關(guān)閉門鎖。
監(jiān)控系統(tǒng)功能包括:可通過(guò)點(diǎn)擊按鈕經(jīng)串口通信向主節(jié)點(diǎn)發(fā)送命令,控制分節(jié)點(diǎn)動(dòng)作(包括:燈光明暗以及門鎖開(kāi)、關(guān)),可以顯示從分節(jié)點(diǎn)傳送的溫度、濕度、光照度以及電池容量的數(shù)據(jù),同時(shí)具有可以顯示數(shù)據(jù)的實(shí)時(shí)曲線功能,總體結(jié)構(gòu)如圖1所示。
本系統(tǒng)分為三層,分別為監(jiān)控層、設(shè)備控制與數(shù)據(jù)層、設(shè)備層。監(jiān)控層:系統(tǒng)的主界面,用來(lái)顯示當(dāng)前家居設(shè)備的狀態(tài),溫度、濕度、光照度曲線圖。設(shè)備控制與數(shù)據(jù)層:用來(lái)控制家居設(shè)備,并檢測(cè)家居設(shè)備反饋的信號(hào)狀態(tài)。設(shè)備層:系統(tǒng)的各網(wǎng)絡(luò)節(jié)點(diǎn),設(shè)備主節(jié)點(diǎn)與各模塊從節(jié)點(diǎn)之間通過(guò)無(wú)線來(lái)進(jìn)行通信。
3 智能家居網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
智能家居系統(tǒng)是一種小范圍、多節(jié)點(diǎn)、近距離無(wú)線傳輸?shù)捏w系。而具低復(fù)雜度、低成本和低功耗特點(diǎn)的Zigbee與其他無(wú)線網(wǎng)絡(luò)協(xié)議相比較,更加適用于此系統(tǒng),因此可通過(guò)在TinyOS中nesC語(yǔ)的編寫(xiě),實(shí)現(xiàn)ZigBee的MAC層協(xié)議,完成基于Zigbee的智能家居系統(tǒng)設(shè)計(jì)。
3.1 燈光控制設(shè)計(jì)
燈光明暗控制整合電路板工作原理:電路板可以檢測(cè)交流電波形的正負(fù)起始點(diǎn);以及每隔特定時(shí)間收到節(jié)點(diǎn)發(fā)送的信號(hào)后,夾在可控硅上電壓的波形??煽毓栌晒?jié)點(diǎn)5號(hào)管腳控制。燈光的強(qiáng)度,實(shí)際取決于夾在燈泡兩端的電壓。電壓越高,燈泡越亮;反之,電壓越低,燈泡越暗。此硬件電路是通過(guò)可控硅調(diào)節(jié)相位的方式改變光的強(qiáng)度。可控硅調(diào)節(jié)光強(qiáng)度主要原理在于,改變觸發(fā)脈沖的施加時(shí)間改變導(dǎo)通角大小,從而改變燈光明暗。依據(jù)此原理,設(shè)計(jì)燈關(guān)明暗程序代碼,程序流程圖如圖2所示。
3.2 門鎖開(kāi)關(guān)設(shè)計(jì)
門鎖控制整合模塊:電路板帶有兩組繼電器和交、直流電壓轉(zhuǎn)換器。交、直流電壓轉(zhuǎn)換器可以將110~220 V的交流電壓變?yōu)? V或者12 V直流電壓。12 V直流電供給直流電機(jī)工作。如果有5 V的控制信號(hào)夾在繼電器上,繼電器常開(kāi)點(diǎn)閉合,反之常閉點(diǎn)閉合。繼電器由節(jié)點(diǎn)的5號(hào)和6號(hào)管腳控制。門鎖打開(kāi)及閉合,主要依據(jù)繼電器通斷電的原理設(shè)計(jì)。
門鎖內(nèi)部配有直流電動(dòng)機(jī),當(dāng)電動(dòng)機(jī)兩端加正向電壓時(shí),電動(dòng)機(jī)正轉(zhuǎn)門鎖打開(kāi);反之,當(dāng)直流電機(jī)兩端加反向電壓時(shí),電動(dòng)機(jī)反轉(zhuǎn)門鎖閉合,程序流程圖如圖3所示。
4 智能家居監(jiān)控系統(tǒng)設(shè)計(jì)
智能家居系統(tǒng)的各網(wǎng)路節(jié)點(diǎn)需要由一套完善的監(jiān)控系統(tǒng)控制運(yùn)行狀態(tài)。監(jiān)控系統(tǒng)通過(guò)串口通信將命令發(fā)送至主節(jié)點(diǎn),再由主節(jié)點(diǎn)將命令經(jīng)無(wú)線通信傳遞至分節(jié)點(diǎn)控制設(shè)備進(jìn)行相應(yīng)動(dòng)作;同時(shí),可將傳感器采集的環(huán)境數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)內(nèi),并可顯示記錄結(jié)果,方便用戶及時(shí)查詢。
通過(guò)點(diǎn)擊【更亮】或者【更暗】按鍵命主節(jié)點(diǎn)向燈光控制節(jié)點(diǎn)發(fā)送命令,調(diào)亮或者調(diào)暗燈的照明度。點(diǎn)擊【門鎖】按鍵,可經(jīng)主節(jié)點(diǎn)向門鎖控制節(jié)點(diǎn)發(fā)送命令,打開(kāi)或者關(guān)閉門鎖,并改變場(chǎng)景狀態(tài)顯示區(qū)域內(nèi)的門鎖狀態(tài)圖片。調(diào)亮燈的流程圖如圖4所示。門鎖控制模塊的流程圖如圖5所示。
5 系統(tǒng)功能實(shí)現(xiàn)
本系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。是在搭載windows XP系統(tǒng)的PC機(jī)端進(jìn)行測(cè)試。分別給無(wú)線網(wǎng)絡(luò)主節(jié)點(diǎn)、燈光控制節(jié)點(diǎn),門鎖控制等節(jié)點(diǎn)上電。圖6為智能家居監(jiān)控系統(tǒng)運(yùn)行的主界面。下面以溫度和濕度數(shù)據(jù)采集和顯示為例,說(shuō)明系統(tǒng)功能。進(jìn)入數(shù)據(jù)顯示界面,采集一分鐘內(nèi)的溫度的變化,并將數(shù)據(jù)以曲線形式顯示,其結(jié)果如圖7所示,橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表溫度,單位攝氏度。
同樣,將采集一分鐘內(nèi)的濕度變化,并將數(shù)據(jù)以曲線形式顯示,如圖8所示。橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表濕度,單位為%百分比。
6 結(jié)束語(yǔ)
本系統(tǒng)采用Visual C++設(shè)計(jì)了上位機(jī)監(jiān)控界面,實(shí)現(xiàn)了監(jiān)控界面與無(wú)線網(wǎng)絡(luò)主節(jié)點(diǎn)之間的串口通信,采用NesC語(yǔ)言在TinyOS操作系統(tǒng)環(huán)境下實(shí)現(xiàn)了網(wǎng)絡(luò)各節(jié)點(diǎn)之間的Zigbee無(wú)線通信。經(jīng)由主節(jié)點(diǎn),上位機(jī)能夠控制其它無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)的動(dòng)作,諸如燈光逐步增亮或者逐步變暗,門鎖打開(kāi)或者閉合等等。同時(shí),上位機(jī)監(jiān)控系統(tǒng)可以存儲(chǔ)和顯示由無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)采集的溫度、濕度、光照度等數(shù)據(jù)和變化趨勢(shì)。該設(shè)計(jì)初步滿足了家居系統(tǒng)控制的智能化,同時(shí)具有很強(qiáng)的擴(kuò)展性。