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