唐衛(wèi)斌,宋亞峰
(商洛學院電子信息與電氣工程學院,陜西商洛 726000)
智能家居是以住宅為平臺,利用網(wǎng)絡通信、自動控制、安全防范、綜合布線、音視頻等技術(shù)將有關(guān)家居生活的設施進行集成的高效住宅設施與家庭日常事務管理系統(tǒng),能夠提升家居舒適性、便利性、安全性和藝術(shù)性,打造環(huán)保節(jié)能的居住環(huán)境[1]。智能家居雖實現(xiàn)了人性化、舒適便捷的全新家居生活理念[2]。但隨著人們生活水平的不斷提高和住宅智能化的迅速發(fā)展,智能家居系統(tǒng)功能更加完善,涵蓋范圍更廣,性能更加優(yōu)化,系統(tǒng)也越來越復雜?;ヂ?lián)網(wǎng)、云服務的迅速發(fā)展為智能家居提供了技術(shù)上的支持,構(gòu)建智能家居系統(tǒng),通過它控制和管理家居設備和外部通信,并集數(shù)字化、智能化、網(wǎng)絡化于一體,已成為建設新型住宅的一個研究熱點[3]。本文主要是對基于WEB的智能家居系統(tǒng)的研究和設計。在智能家居系統(tǒng)中實現(xiàn)的基本功能是:通過WEB瀏覽器登陸家庭IP實現(xiàn)室內(nèi)環(huán)境狀態(tài)信息查看、設備控制管理、防盜功能以及攝像頭實時監(jiān)控,并且可在系統(tǒng)的LCD上顯示環(huán)境信息。
系統(tǒng)總體結(jié)構(gòu)主要是用戶在PC或手機上通過瀏覽器登陸IP地址訪問WEB服務器上的HTML頁面,點擊相應界面按鈕通過boa服務器去獲取家居系統(tǒng)狀況信息以及控制相關(guān)家居系統(tǒng)。具體系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
整個系統(tǒng)分為Cortex A9 Exynos4412處理器模塊、DDR 1G RAM、2G Emmc flash 存儲、RGB接口LCD模塊、USB接口Camera模塊、溫濕度模塊、電機驅(qū)動模塊、繼電器模塊、燈光控制模塊等,如圖2所示。
圖2 硬件結(jié)構(gòu)總體框圖
其中Exynos 4412處理器模塊采用友善之臂開發(fā)板Tiny 4412,LCD觸摸屏采用RGB接口和Exynos 4412相連,溫濕度模塊采用ds18b20和dht11,Camera為USB接口可直接插在底板上。
Exynos 4412是32位ARM V7架構(gòu)低功耗,性能優(yōu)化Cortex-A9系列四核三星微處理器,Cortex-A9處理器基于最先進的推測型八級流水線所設計的,支持64位的NEON操作,32位的數(shù)據(jù)運算,能夠很好地提升系統(tǒng)音頻、視頻、圖像處理的性能,支持DDR3內(nèi)存訪問。Exynos 4412主頻 1.5 GHz,128/64 位內(nèi)部總線結(jié)構(gòu),32/32 KB的數(shù)據(jù)/指令一級緩存,1 024 KB的二級緩存,可以實現(xiàn)每秒2億指令集的高性能運算能力[3]。
Tiny 4412是由友善之臂研發(fā)的高性能四核Cortex-A9核心板。它采用三星Exynos 4412作為主處理器,運行主頻可以高達1.5 GHz。具有豐富的硬件資源[4]。
LCD顯示模塊采用INNOLUX S702 7寸標清電容顯示屏,分辨率是800×480,顯示模式常白,透射,RGB接口與主控處理器exynos 4412相接,并且支持電容觸摸,支持5點觸控[5]。
Camera模塊采用最經(jīng)典穩(wěn)定的中芯微301P方案,色彩逼真。速率30 fps·s-1,硬件像素30萬,USB接口。感光器件是高品質(zhì)CMOS 1/3 inch,支持 VGA、CIF 格式。
溫濕度傳感模塊中的溫度傳感器選用DS18B20進行溫度數(shù)據(jù)采集,并且此溫度傳感器采用單總線數(shù)據(jù)傳輸,精度高、電路連接比較簡單。濕度傳感器采用DHT11溫濕度傳感器進行濕度數(shù)據(jù)采集,考慮到精度不高,用它只是探測濕度。但其也具有響應快,抗干擾性強的優(yōu)點。
ULN2003是一種高電流驅(qū)動器陣列,多芯片,智能儀表,PLC,數(shù)字輸出卡控制電路,可直接驅(qū)動繼電器等負載。輸入5V TTL電平,輸出可達500 mA/50 V[6]。本系統(tǒng)采用ULN2003來驅(qū)動4相8拍的步進電機模擬窗簾的升降。
本系統(tǒng)防盜功能主要采用基于紅外技術(shù)的HC-SR501自動控制模塊,熱釋電元件對人體發(fā)出特定波長10 μm左右的紅外輻射比較敏感,而且靈敏度較高,可靠性強,模塊本身不發(fā)任何類型的輻射,器件功耗比較小,隱蔽性好,價格低[7]。
本系統(tǒng)中為了控制家用220 V用電器,這里采用帶光耦隔離的繼電器模塊。常開接口最大負載:交流250 V/10 A,直流30 V/10 A,采用貼片光耦隔離,驅(qū)動能力強,性能穩(wěn)定[8]。
設備底層驅(qū)動采用platform平臺總線機制,能夠?qū)崿F(xiàn)對設備所占用的資源進行統(tǒng)一管理。其中DS18B20、DHT11、步進電機等外接傳感器采用混雜設備的方式實現(xiàn)驅(qū)動。本系統(tǒng)實現(xiàn)了9種設備的底層驅(qū)動。
選用一些運行占用內(nèi)存少并且能夠處理少量用戶請求的WEB服務器如boa。boa誕生于1991年,是開源的,能耗很小,內(nèi)存占用非常少,是使用最多的嵌入式WEB服務器。廣泛應用在嵌入式設備中,功能較為強大,支持CGI、HTTP認證等,可以配置成SSL/HTTPS和IPv6,單任務程序處理快速,支持虛擬主機功能[9]。
CGI全稱通用網(wǎng)關(guān)接口(Common Gateway Interface),它是運行在服務器上的一段程序,提供同客戶端HTML頁面的接口,將網(wǎng)頁和WEB服務器中的執(zhí)行程序聯(lián)系起來,它把HTML接收的指令傳遞給服務器,再把服務器執(zhí)行的結(jié)果返還給HTML頁。
服務器和CGI程序之間是通過標準輸入輸出進行數(shù)據(jù)傳遞的,在此過程同時需要配合環(huán)境變量來實現(xiàn)。首先服務器將URL指向一個應用程序(這個應用程序即CGI程序 *.cgi),然后服務器為應用程序執(zhí)行做準備,執(zhí)行應用程序后讀取標準輸入和相關(guān)環(huán)境變量的值,最后應用程序進行標準輸出[10]。
軟件系統(tǒng)采用B/S模式即瀏覽器服務器模式,它是對C/S模式應用的進一步擴展和改進,主要包含三個部分:瀏覽器、WEB服務器和數(shù)據(jù)庫服務器。本系統(tǒng)暫且沒有使用數(shù)據(jù)庫,B/S模式最大的特點就是操作簡便,用戶的主要工作都是通過瀏覽器來實現(xiàn)。維護時也很方便,只需修改服務器端的頁面,所有用戶即可實現(xiàn)同步更新。具體軟件架構(gòu)如圖3所示。
圖3 軟件架構(gòu)圖
系統(tǒng)軟件流程圖主要介紹了應用層創(chuàng)建多線程并接收消息隊列后調(diào)用內(nèi)核各模塊驅(qū)動的流程圖,如圖4所示。
圖4 系統(tǒng)軟件流程圖
通過瀏覽器登陸智能家居網(wǎng)關(guān)IP地址192.168.1.186可見到注冊登錄頁面,進入系統(tǒng)控制主頁面,如圖5所示。
通過主頁面可以看到,智能家居系統(tǒng)的五大功能窗簾控制(curtain)、環(huán)境狀況監(jiān)測(environment)、用電器控制(application)、燈光(light)、視頻監(jiān)控(camera)和安全監(jiān)控(safety),點擊相關(guān)按鈕可控制和獲取相應信息。通過測試以上功能均正常工作。
本文根據(jù)智能家居系統(tǒng)的具體需求,選擇了合理的嵌入式硬件開發(fā)平臺,搭建了系統(tǒng)的軟件開發(fā)平臺和環(huán)境,包括linux 3.5內(nèi)核的移植和編譯、根文件系統(tǒng)的搭建等工作,再根據(jù)系統(tǒng)外設傳感器,實現(xiàn)了linux底層硬件的驅(qū)動,最后設計了系統(tǒng)的整體結(jié)構(gòu)和軟件框架,在嵌入式WEB服務器boa的平臺上,通過設計開發(fā)CGI程序與應用層進行數(shù)據(jù)通信進行視頻監(jiān)控和管理,最后還實現(xiàn)了在WEB界面上對窗簾、燈、防盜等設備的控制功能和獲取環(huán) 境信息的功能。
圖5 系統(tǒng)控制主頁面
對搭建的智能家居系統(tǒng)進行多次重復實驗,結(jié)果表明,采用多種智能傳感器及繼電器,實現(xiàn)了多種家用電器和設施的智能控制。借助基于Linux的嵌入式系統(tǒng)設計實現(xiàn)的軟件開發(fā)平臺,使得該系統(tǒng)能實時顯示當前狀態(tài),監(jiān)控室內(nèi)狀況,且具有較低的待機功耗。由于合理的軟硬件結(jié)合,該系統(tǒng)體積小且便于安裝調(diào)試,具有性能強、靈活可擴展的優(yōu)點,因而有較強的應用和推廣價值。