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