基于嵌入式Linux智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)
2.4 傳感器模塊
本文選用MC-112催化式傳感器,來檢測可燃?xì)怏w濃度。具有半導(dǎo)體技術(shù)、高靈敏度、穩(wěn)定可靠等特點(diǎn)。選用紅外熱釋電傳感器LHi778作為人體檢測模塊。采用紅外熱釋電傳感器專用信號處理芯片BISS0001來完成信號的處理放大。
網(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ā)平臺
Linux開放源代鶴、資源豐富、內(nèi)核可裁剪等優(yōu)點(diǎn),因此我們采用Linux作為操作系統(tǒng)。構(gòu)建嵌入式操作系統(tǒng)平臺主要包括構(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)選中,對應(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所示。本文引用地址:http://m.butianyuan.cn/article/148979.htm
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按號上網(wǎng),需要PPP協(xié)議支持、撥號應(yīng)用程序移植和撥號腳本程序編寫。PPP即點(diǎn)到點(diǎn)協(xié)議,為在同等單元之間傳輸數(shù)據(jù)包。系統(tǒng)是通過撥號方式來建立點(diǎn)對點(diǎn)連接,按照順序發(fā)送數(shù)據(jù)包。撥號應(yīng)用程序移植為:
然后對撥號端口進(jìn)行配置,最后調(diào)用ppp_on_dialer腳本文件實(shí)現(xiàn)同服務(wù)器會話。進(jìn)而在會話程序中進(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)有連接請求時(shí),Boa不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程,而是通過建立HTTP請求列表來處理多路連接請求,同時(shí)為CGI程序創(chuàng)建新的進(jìn)程,這樣在最大程度上節(jié)省了系統(tǒng)資源,所以十分適用于嵌入式系統(tǒng)。我們利用Boa在嵌入式linux操作系統(tǒng)上建立Web服務(wù)器,利用CGI最終實(shí)現(xiàn)對家庭設(shè)備的控制。
Linux下實(shí)現(xiàn)Boa,需要對Boa做一些配置和修改。主要通過對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ù)器接收到請求,將瀏覽器發(fā)過來的參數(shù)傳遞給CGI程序,CGI程序完成處理,生成HTML頁面代碼寫到重定向的標(biāo)準(zhǔn)輸出。
4 結(jié)論
本系統(tǒng)采用嵌入式Linux作為軟件開發(fā)平臺,便于系統(tǒng)的開發(fā)、測試、升級及擴(kuò)展,同時(shí)也提高了系統(tǒng)的穩(wěn)定性、可靠性。通過GPRS無線傳輸,并應(yīng)用Web服務(wù)器瀏覽網(wǎng)頁,實(shí)現(xiàn)智能家居監(jiān)控系統(tǒng),能夠滿足家用的需求。
評論