基于嵌入式Linux智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)傳統(tǒng)家居監(jiān)控系統(tǒng)布線復(fù)雜的問題,提出了一種嵌入式智能家居無線監(jiān)控系統(tǒng)。該系統(tǒng)以S3C2440為硬件平臺(tái),以Linux操作系統(tǒng)為軟件平臺(tái),系統(tǒng)內(nèi)移植Web 服務(wù)器,并采用了GPRS無線網(wǎng)絡(luò)通信傳輸技術(shù),用戶可通過測覽器查詢家居信息。實(shí)現(xiàn)了對(duì)家居的遠(yuǎn)程監(jiān)控、狀態(tài)查詢等功能,可滿足人們對(duì)家居高品質(zhì)生活的追求。
關(guān)鍵詞:監(jiān)控系統(tǒng);Linux;Web;GPRS
隨著嵌入式技術(shù)、網(wǎng)絡(luò)技術(shù)的迅速發(fā)展以及人民生活水平的提高,人們開始更加注重家居環(huán)境的安全,伴髓人們需求的提高,基于嵌入式的實(shí)時(shí)監(jiān)控系統(tǒng)應(yīng)運(yùn)面生。目前,視頻監(jiān)控系統(tǒng)經(jīng)歷了模擬監(jiān)控、數(shù)字監(jiān)控和網(wǎng)絡(luò)監(jiān)控3個(gè)階段。雖然視頻監(jiān)控系統(tǒng)在20世紀(jì)90年代末就在中國市場興起,有很多公司推出了自己的智能家居系統(tǒng),但是現(xiàn)在仍來得到普及,而且目前智能家居的國際標(biāo)準(zhǔn)尚未成熱,因此智能家居監(jiān)控系統(tǒng)存在廣闊的發(fā)展空間。
筆者提出的智能監(jiān)控系統(tǒng)有煤氣傳感器、紅外探頭傳感器、攝像頭等數(shù)據(jù)采集模塊。當(dāng)監(jiān)控終端探測到室內(nèi)發(fā)生異常時(shí),攝像頭拍照并將到的圖片信息經(jīng)過壓縮,通過內(nèi)部總線發(fā)送到Web服務(wù)器,并將相關(guān)數(shù)據(jù)通過GPRS無線模塊發(fā)送到用戶手機(jī)上。用戶可以通過瀏覽器進(jìn)行訪問,以查看Web服務(wù)器上的監(jiān)控圖片,并做出相應(yīng)處理。
1 總體設(shè)計(jì)
本系統(tǒng)由室內(nèi)監(jiān)控終端和遠(yuǎn)程監(jiān)控中心兩部分組成。監(jiān)控終端采用嵌入式系統(tǒng),分為硬件平臺(tái)和軟件平臺(tái)兩部分,其中硬件平臺(tái)由處理器和外圍設(shè)備組成,而軟件平臺(tái)由嵌入式操作系統(tǒng)和應(yīng)用軟件組成。當(dāng)檢測模塊檢測到異常時(shí),攝像頭采集監(jiān)控畫面,并進(jìn)行壓縮編碼處理,GPRS通過撥號(hào)的方式連入互聯(lián)網(wǎng),將壓縮的碼流經(jīng)過互聯(lián)網(wǎng)傳輸?shù)奖O(jiān)控中心,整個(gè)系統(tǒng)是基于B/S架構(gòu)設(shè)計(jì)的,用戶不需要安裝任何專用的軟件就可以查看室內(nèi)監(jiān)控系統(tǒng)的畫面,總體設(shè)計(jì)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
2. 1 主控模塊
采用S3C2440處理器芯片作為智能家居控制系統(tǒng)的控制核心,CPU工作頻率最高可達(dá)533MHz,擁有可進(jìn)行乘累加單元(MAC)、指令和數(shù)據(jù)存儲(chǔ)器管理單元(MMU)、16 kB的指令和數(shù)據(jù)緩存、16字深的寫緩沖,為程序的高速運(yùn)行提供了有力保證。S3C2440提供了外設(shè)有存儲(chǔ)控制器、NANDFlash控制器、攝像頭接口、USB控制器等。
2.2 GPRS無線傳輸模塊
GPBS無線移動(dòng)通信網(wǎng)絡(luò)覆蓋面廣、網(wǎng)絡(luò)能力強(qiáng)、系統(tǒng)性能穩(wěn)定、價(jià)格低廉、易于安裝使用。它基于IP的網(wǎng)絡(luò),傳輸速率理論上可達(dá)171.2 kb/s,且傳輸時(shí)延小。本文采用GF-5000 WGPRS模塊,它是一個(gè)單面高集成度精巧結(jié)構(gòu)設(shè)計(jì),擁有GPRSClass10多時(shí)隙功能,支持GSM900/DCS1800雙頻,支持電路交換語音和短消息業(yè)務(wù),擁有GSM07.07和增強(qiáng)型AT命令集。
2.3 圖片采集模塊
圖像采集的設(shè)備有很多種,OV9650傳感器具有130萬像素,分辨率可達(dá)1 280x1024,具有標(biāo)準(zhǔn)的SSCB接口和10bit數(shù)據(jù)接口。由于S3C24 40片內(nèi)有攝像頭接口外設(shè),所以將OV9650攝像頭芯片直接與處理器攝像頭接口引腳相連,圖像并行傳輸,圖像數(shù)據(jù)速度明顯提高。[!--empirenews.page--]
2.4 傳感器模塊
本文選用MC-112催化式傳感器,來檢測可燃?xì)怏w濃度。具有半導(dǎo)體技術(shù)、高靈敏度、穩(wěn)定可靠等特點(diǎn)。選用紅外熱釋電傳感器LHi778作為人體檢測模塊。采用紅外熱釋電傳感器專用信號(hào)處理芯片BISS0001來完成信號(hào)的處理放大。
網(wǎng)絡(luò)芯片轉(zhuǎn)換成一個(gè)以太網(wǎng)接口,DM9000芯片配備有標(biāo)準(zhǔn)10M/100M自適應(yīng)功能,支持以太網(wǎng)接口協(xié)議,擁有一個(gè)通用的處理器接口、一個(gè)EEPROM接口和4kDWORDSRAM緩存數(shù)據(jù)區(qū)。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 嵌入式開發(fā)平臺(tái)
Linux開放源代鶴、資源豐富、內(nèi)核可裁剪等優(yōu)點(diǎn),因此我們采用Linux作為操作系統(tǒng)。構(gòu)建嵌入式操作系統(tǒng)平臺(tái)主要包括構(gòu)建交叉編譯環(huán)境、Boot Loader移植、內(nèi)核的裁剪與編譯、根文件系統(tǒng)的制作等。其中內(nèi)核的裁剪的主要操作有:1)編輯Makefile文件。將CROSS_COMPI LE=opt/host/armv41/bin/armv41-un-know-linux改為CROSS_COMPILE=arm-linux。2)編譯內(nèi)核make menuconfig配置Linux內(nèi)核。3)執(zhí)行命令makedep創(chuàng)建內(nèi)核的依賴關(guān)系。4)創(chuàng)建內(nèi)核鏡像make zImage。4)Linux內(nèi)核壓縮映像zImage建立根文件系統(tǒng)。
3.2 圖像采集
在Linux下的視頻采集是通過Video4Linux實(shí)現(xiàn)的,它是連接視頻設(shè)備的內(nèi)核程序,提供了一系列的接口函數(shù)API,專門服務(wù)于視頻設(shè)備的應(yīng)用程序編程。在編譯內(nèi)核時(shí)要將Video4Linux項(xiàng)選中,對(duì)應(yīng)的設(shè)備文件目錄是/dev/video。設(shè)備驅(qū)動(dòng)提供了open、read、write、close等函數(shù)調(diào)用,采用內(nèi)存映射mmap方式把設(shè)備內(nèi)存映射到應(yīng)用程序的內(nèi)存空間中,用戶空間和內(nèi)核空間不需要交換數(shù)據(jù),視頻采集流程圖如圖2所示。
3.3 GPRS無線通信
利用TCP/IP協(xié)議將數(shù)據(jù)打包,再通過GPRS模塊傳到GPRS同絡(luò),GPBS網(wǎng)絡(luò)通過路由器與Internet相連,將數(shù)據(jù)包送到固定IP地址的監(jiān)控服務(wù)器端口,以實(shí)現(xiàn)系統(tǒng)無線傳輸。
在嵌入式linux操作系統(tǒng)下實(shí)現(xiàn)GPRS按號(hào)上網(wǎng),需要PPP協(xié)議支持、撥號(hào)應(yīng)用程序移植和撥號(hào)腳本程序編寫。PPP即點(diǎn)到點(diǎn)協(xié)議,為在同等單元之間傳輸數(shù)據(jù)包。系統(tǒng)是通過撥號(hào)方式來建立點(diǎn)對(duì)點(diǎn)連接,按照順序發(fā)送數(shù)據(jù)包。撥號(hào)應(yīng)用程序移植為:
然后對(duì)撥號(hào)端口進(jìn)行配置,最后調(diào)用ppp_on_dialer腳本文件實(shí)現(xiàn)同服務(wù)器會(huì)話。進(jìn)而在會(huì)話程序中進(jìn)行登錄,實(shí)現(xiàn)無線接入。
3.4 嵌入式Web服務(wù)器
Boa是一種高性能單任務(wù)的HTTP服務(wù)器,能夠支持實(shí)現(xiàn)動(dòng)態(tài)Web技術(shù)的CGI(公用網(wǎng)關(guān)接口)技術(shù),源代碼開放,而且能夠非常方便地在操作系統(tǒng)上進(jìn)行移植。當(dāng)有連接請(qǐng)求時(shí),Boa不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程,而是通過建立HTTP請(qǐng)求列表來處理多路連接請(qǐng)求,同時(shí)為CGI程序創(chuàng)建新的進(jìn)程,這樣在最大程度上節(jié)省了系統(tǒng)資源,所以十分適用于嵌入式系統(tǒng)。我們利用Boa在嵌入式linux操作系統(tǒng)上建立Web服務(wù)器,利用CGI最終實(shí)現(xiàn)對(duì)家庭設(shè)備的控制。
Linux下實(shí)現(xiàn)Boa,需要對(duì)Boa做一些配置和修改。主要通過對(duì)boa.conf和mime.type文件進(jìn)行修改,需要將cgi文件擴(kuò)展名和applicatio n/x-httpd-cgi類型關(guān)聯(lián);配置CGI腳本存放路徑,在boa.conf中用ScriptAlias來指明,然后創(chuàng)建HTML文檔目錄、CGI腳本目錄,最后將boa.conf放到/etc/boa目錄下。Web服務(wù)器接收到請(qǐng)求,將瀏覽器發(fā)過來的參數(shù)傳遞給CGI程序,CGI程序完成處理,生成HTML頁面代碼寫到重定向的標(biāo)準(zhǔn)輸出。
4 結(jié)論
本系統(tǒng)采用嵌入式Linux作為軟件開發(fā)平臺(tái),便于系統(tǒng)的開發(fā)、測試、升級(jí)及擴(kuò)展,同時(shí)也提高了系統(tǒng)的穩(wěn)定性、可靠性。通過GPRS無線傳輸,并應(yīng)用Web服務(wù)器瀏覽網(wǎng)頁,實(shí)現(xiàn)智能家居監(jiān)控系統(tǒng),能夠滿足家用的需求。