摘要:為了實現(xiàn)用戶隨時隨地對家庭的監(jiān)測和控制,在此以智能家居監(jiān)控系統(tǒng)為研究對象,設計了一種智能家居監(jiān)控原型系統(tǒng)。設計的基于Android的手機客戶端,使用戶可以在任何能夠連接Internet的地方輕松方便地實現(xiàn)對家庭的監(jiān)控操作。其原型系統(tǒng)采用基于ZigBee的家庭無線網(wǎng)絡,可以實現(xiàn)監(jiān)測節(jié)點的任意放置。系統(tǒng)組織靈活,避免了家庭布線的復雜性和高成本。
關鍵詞:智能家居;ARM-Linux;Android;ZigBee
隨著人類科技的發(fā)展,計算機技術、通信技術、網(wǎng)絡技術、控制技術都取得了迅猛的發(fā)展與提高,人們對居住環(huán)境提出了更高的要求,智能家居的概念應運而生,人們希望可以隨時隨地監(jiān)測家庭內(nèi)部情況并實現(xiàn)整個家庭的實時控制。為了實現(xiàn)用戶方便靈活地對家庭的監(jiān)測和控制,本文設計了一種智能家居監(jiān)控的原型系統(tǒng)。當前智能家居系統(tǒng)設計存在諸多問題,如家庭布線復雜且成本高,用戶對系統(tǒng)的使用僅局限于家庭內(nèi)部等。針對當前智能家居系統(tǒng)中存在的問題,本文設計的原型系統(tǒng)對其進行了改進與提高。本文設計了基于Android的手機客戶端,使用戶在任何可以連接Internet的地方輕松方便地實現(xiàn)對家庭的監(jiān)控操作;本文所設計的原型系統(tǒng)采用了基于ZigBee的家庭無線網(wǎng)絡,可以實現(xiàn)監(jiān)測節(jié)點的任意放置,系統(tǒng)組織靈活,避免了家庭布線的復雜性和高成本。
1 智能家居監(jiān)控原型系統(tǒng)組成結構
本文設計的智能家居監(jiān)控原型系統(tǒng)主要由3部分組成,即基于Androld的手機客戶端、基于ARM-Linux的主控制器以及基于ZigBee的家庭無線網(wǎng)絡。圖1所示為該智能家居監(jiān)控原型系統(tǒng)的組成結構。
2 基于Android的手機客戶端設計
Android是一種以Linux為基礎的開放源碼操作系統(tǒng)。Androld最初主要支持手機,2005年由谷歌收購注資,并組建開放手機聯(lián)盟開發(fā)改良,逐漸擴展到平板電腦及其他領域上。Android系統(tǒng)層次如圖2所示。本文基于Android的手機客戶端設計,主要包括手機客戶端界面設計和手機客戶端底層通信方式設計。界面設計,將以家庭房間為單位,每個房間對應一個界面,界面中包含有該房間中的所有傳感器及可控設備。通信方式采用HTTP請求方式,經(jīng)過Internet與主控制器進行通信,以實現(xiàn)對家庭情況的實時監(jiān)測和控制。
3 基于ARM-Linux系統(tǒng)的主控制器設計
主控制器作為智能家居系統(tǒng)的核心設備,主要完成兩方面的任務:按照采集周期循環(huán)讀取傳感器數(shù)據(jù)并判斷傳感器數(shù)據(jù)是否異常,如果異常,則通過移動電話網(wǎng)絡實時向手機發(fā)送報警短信;主控制器同時作為Web服務器,通過Internet接收手機的監(jiān)測和控制請求,利用CGI腳本響應手機的請求。
主控制器是一個以ARM微處理器、嵌入式Linux為核心的嵌入式系統(tǒng)。圖3所示為主控制器的硬件結構。主控制器采用ARM920T微處理器,64 MBSDRAM,256 MB FLASH,且具有串口、網(wǎng)口等諸多通信接口。
在主控制器硬件設備基礎上,對Linux系統(tǒng)進行裁剪、修改及交叉編譯,生成合適的嵌入式Linux操作系統(tǒng)。在操作系統(tǒng)基礎之上,再移植嵌入式Web服務器軟件。針對主控制器的2個主要任務,分別編寫循環(huán)監(jiān)測程序和CGI腳本予以實現(xiàn)。圖4所示為主控制器軟件結構。
循環(huán)監(jiān)測程序從串口發(fā)送命令,通過家庭無線網(wǎng)絡傳遞至終端節(jié)點,終端節(jié)點接收命令,并在讀取傳感器數(shù)據(jù)或執(zhí)行控制操作之后發(fā)送返回數(shù)據(jù),循環(huán)監(jiān)測程序再由串口讀取返回數(shù)據(jù)。若返回數(shù)據(jù)異常,主控制器將向另外一個串口發(fā)送命令,而與該串口相連的TC35模塊則會根據(jù)命令執(zhí)行相應操作,如向某個手機號發(fā)出報警短信。圖5為循環(huán)監(jiān)測程序流程圖。
CGI(通用網(wǎng)關接口)定義了Web服務器與CGI腳本之間的接口標準。由于用戶能傳遞不同的參數(shù)給CGI腳本,所以CGI技術使得客戶端和服務器之間具有交互性。在主控制器接收到手機發(fā)送的HTTP請求之后,腳本程序?qū)⒘⒖虉?zhí)行,利用CGI標準接口函數(shù)來提取URL中附帶的參數(shù)并由串口發(fā)送相應命令。圖6所示為CGI腳本程序流程圖。
循環(huán)采集程序和CGI腳本程序的區(qū)別是,前者是隨著系統(tǒng)開機自動啟動并不斷循環(huán)執(zhí)行,且只負責監(jiān)測各傳感器數(shù)據(jù),而后者只有在接到手機的HTTP請求時,才會立即執(zhí)行一次,可以獲取傳感器的監(jiān)測數(shù)據(jù)或者執(zhí)行對家庭設備的控制。
4 基于ZigBee的家庭無線網(wǎng)絡設計
ZigBee技術是一種短距離、低復雜度、低功耗、低數(shù)據(jù)速率、低成本的無線網(wǎng)絡技術,是一組基于IEEE 802.15.4無線標準研制開發(fā)的有關組網(wǎng)、安全和應用軟件方面的通信技術。在標準化方面,IEEE 802.15.4工作組定義了物理層和介質(zhì)訪問控制層的協(xié)議。物理層規(guī)范確定無線網(wǎng)絡的工作頻段以及該頻段上傳輸數(shù)據(jù)的基準傳輸速率。介質(zhì)訪問控制層規(guī)范定義了在同一區(qū)域工作的多個IEEE 802.15.4無線信號如何共享空中信道。ZigBee聯(lián)盟主要負責網(wǎng)絡層與應用層的協(xié)議。在本文所設計的系統(tǒng)中,家庭無線網(wǎng)絡采用星形拓撲結構。主控制器通過串口與協(xié)調(diào)器節(jié)點相連,將命令發(fā)送至各個終端節(jié)點,終端節(jié)點接收命令后執(zhí)行相應操作并返回數(shù)據(jù),協(xié)調(diào)器節(jié)點將返回數(shù)據(jù)通過串口傳給主控制器。協(xié)調(diào)器節(jié)點和終端節(jié)點的程序流程圖如圖7,圖8所示。
5 結語
本文設計了一個智能家居監(jiān)控原型系統(tǒng),該系統(tǒng)主要包括基于Android的手機客戶端設計、基于ARM-Linux的主控制器設計以及基于Zig Bee的家庭無線網(wǎng)絡設計,實現(xiàn)了用戶隨時隨地對家庭的監(jiān)測和控制。下一步的研究重點將是如何在該系統(tǒng)中實現(xiàn)家庭新設備的簡易添加。