基于TinyOS的智能家居系統(tǒng)設計與實現
隨著現代高新科學技術的發(fā)展,人們更加注重對生活品質的追求,舒適度、智能化的家居日益成為人們關注的對象。家用電器的自動化已經遠遠不能滿足現代人的需求。智能家居系統(tǒng)是一項多功能綜合技術,它以家庭住宅為平臺,以先進的通信技術、網絡技術、控制技術為依托,將家庭中各種電器設備通過某種形式的網絡有機地結合在一起,進行網絡化的綜合管理與調控,為人們提供一種更加舒適、安全、環(huán)保、高效的生活環(huán)境。
本文引用地址:http://2s4d.com/article/201610/309175.htm人們對智能化家居的需求越來越迫切,本文結合TinyOS自身特點,提出并實現了一個智能家居系統(tǒng)設計方案。
1 TinyOS操作系統(tǒng)與nesC語言
TinyOS是當前無線傳感器網絡開發(fā)的一種主流操作系統(tǒng)。TinyOS采用基于組件的體系結構,在此結構下,一個完整的應用程序包含多個組件,它的各種功能都是由組件實現
的,即TinyOS提供了一個適用于傳感器網絡開發(fā)應用的編程框架。
NesC是對C語言的一種擴展,其語言的基本數據類型、運算符和表達式、基本語句和程序結構都與C語言相同。它的最大特點是支持組件化的編程模式,將組件化/模塊化的思想和事件驅動的執(zhí)行模型結合起來,并采用基于任務和事件的并發(fā)模型。
2 智能家居總體設計
根據智能家居的實際應用需求,智能家居系統(tǒng)設計主要包括網絡節(jié)點和監(jiān)控系統(tǒng)兩大部分。
網絡節(jié)點功能包括:主節(jié)點可以讀取從串口讀取的命令,并通過無線通信向分節(jié)點發(fā)送命令;同時可返回從分節(jié)點采集的數據。此系統(tǒng)另外含有3個分節(jié)點,燈光明暗控制節(jié)點,門鎖開關控制節(jié)點,溫、濕度數據采集節(jié)點。燈光明暗控制節(jié)點可以通過無線接收從主節(jié)點發(fā)送的命令,分級調節(jié)燈光的亮度,逐漸增亮或逐漸變暗。門鎖控制節(jié)點可以通過無線接收從主節(jié)點發(fā)送的命令,打開或者關閉門鎖。
監(jiān)控系統(tǒng)功能包括:可通過點擊按鈕經串口通信向主節(jié)點發(fā)送命令,控制分節(jié)點動作(包括:燈光明暗以及門鎖開、關),可以顯示從分節(jié)點傳送的溫度、濕度、光照度以及電池容量的數據,同時具有可以顯示數據的實時曲線功能,總體結構如圖1所示。

本系統(tǒng)分為三層,分別為監(jiān)控層、設備控制與數據層、設備層。監(jiān)控層:系統(tǒng)的主界面,用來顯示當前家居設備的狀態(tài),溫度、濕度、光照度曲線圖。設備控制與數據層:用來控制家居設備,并檢測家居設備反饋的信號狀態(tài)。設備層:系統(tǒng)的各網絡節(jié)點,設備主節(jié)點與各模塊從節(jié)點之間通過無線來進行通信。
3 智能家居網絡節(jié)點設計
智能家居系統(tǒng)是一種小范圍、多節(jié)點、近距離無線傳輸的體系。而具低復雜度、低成本和低功耗特點的Zigbee與其他無線網絡協議相比較,更加適用于此系統(tǒng),因此可通過在TinyOS中nesC語的編寫,實現ZigBee的MAC層協議,完成基于Zigbee的智能家居系統(tǒng)設計。
3.1 燈光控制設計
燈光明暗控制整合電路板工作原理:電路板可以檢測交流電波形的正負起始點;以及每隔特定時間收到節(jié)點發(fā)送的信號后,夾在可控硅上電壓的波形??煽毓栌晒?jié)點5號管腳控制。燈光的強度,實際取決于夾在燈泡兩端的電壓。電壓越高,燈泡越亮;反之,電壓越低,燈泡越暗。此硬件電路是通過可控硅調節(jié)相位的方式改變光的強度??煽毓枵{節(jié)光強度主要原理在于,改變觸發(fā)脈沖的施加時間改變導通角大小,從而改變燈光明暗。依據此原理,設計燈關明暗程序代碼,程序流程圖如圖2所示。

3.2 門鎖開關設計
門鎖控制整合模塊:電路板帶有兩組繼電器和交、直流電壓轉換器。交、直流電壓轉換器可以將110~220 V的交流電壓變?yōu)? V或者12 V直流電壓。12 V直流電供給直流電機工作。如果有5 V的控制信號夾在繼電器上,繼電器常開點閉合,反之常閉點閉合。繼電器由節(jié)點的5號和6號管腳控制。門鎖打開及閉合,主要依據繼電器通斷電的原理設計。
門鎖內部配有直流電動機,當電動機兩端加正向電壓時,電動機正轉門鎖打開;反之,當直流電機兩端加反向電壓時,電動機反轉門鎖閉合,程序流程圖如圖3所示。

4 智能家居監(jiān)控系統(tǒng)設計
智能家居系統(tǒng)的各網路節(jié)點需要由一套完善的監(jiān)控系統(tǒng)控制運行狀態(tài)。監(jiān)控系統(tǒng)通過串口通信將命令發(fā)送至主節(jié)點,再由主節(jié)點將命令經無線通信傳遞至分節(jié)點控制設備進行相應動作;同時,可將傳感器采集的環(huán)境數據存儲至數據庫內,并可顯示記錄結果,方便用戶及時查詢。
通過點擊【更亮】或者【更暗】按鍵命主節(jié)點向燈光控制節(jié)點發(fā)送命令,調亮或者調暗燈的照明度。點擊【門鎖】按鍵,可經主節(jié)點向門鎖控制節(jié)點發(fā)送命令,打開或者關閉門鎖,并改變場景狀態(tài)顯示區(qū)域內的門鎖狀態(tài)圖片。調亮燈的流程圖如圖4所示。門鎖控制模塊的流程圖如圖5所示。


5 系統(tǒng)功能實現
本系統(tǒng)的設計實現。是在搭載windows XP系統(tǒng)的PC機端進行測試。分別給無線網絡主節(jié)點、燈光控制節(jié)點,門鎖控制等節(jié)點上電。圖6為智能家居監(jiān)控系統(tǒng)運行的主界面。下面以溫度和濕度數據采集和顯示為例,說明系統(tǒng)功能。進入數據顯示界面,采集一分鐘內的溫度的變化,并將數據以曲線形式顯示,其結果如圖7所示,橫坐標代表時間,縱坐標代表溫度,單位攝氏度。


同樣,將采集一分鐘內的濕度變化,并將數據以曲線形式顯示,如圖8所示。橫坐標代表時間,縱坐標代表濕度,單位為%百分比。
6 結束語
本系統(tǒng)采用Visual C++設計了上位機監(jiān)控界面,實現了監(jiān)控界面與無線網絡主節(jié)點之間的串口通信,采用NesC語言在TinyOS操作系統(tǒng)環(huán)境下實現了網絡各節(jié)點之間的Zigbee無線通信。經由主節(jié)點,上位機能夠控制其它無線網絡節(jié)點的動作,諸如燈光逐步增亮或者逐步變暗,門鎖打開或者閉合等等。同時,上位機監(jiān)控系統(tǒng)可以存儲和顯示由無線網絡節(jié)點采集的溫度、濕度、光照度等數據和變化趨勢。該設計初步滿足了家居系統(tǒng)控制的智能化,同時具有很強的擴展性。
評論