基于嵌入式Linux智能家居監控系統的設計
2.4 傳感器模塊
本文選用MC-112催化式傳感器,來檢測可燃氣體濃度。具有半導體技術、高靈敏度、穩定可靠等特點。選用紅外熱釋電傳感器LHi778作為人體檢測模塊。采用紅外熱釋電傳感器專用信號處理芯片BISS0001來完成信號的處理放大。
網絡芯片轉換成一個以太網接口,DM9000芯片配備有標準10M/100M自適應功能,支持以太網接口協議,擁有一個通用的處理器接口、一個EEPROM接口和4kDWORDSRAM緩存數據區。
3 系統軟件設計
3.1 嵌入式開發平臺
Linux開放源代鶴、資源豐富、內核可裁剪等優點,因此我們采用Linux作為操作系統。構建嵌入式操作系統平臺主要包括構建交叉編譯環境、Boot Loader移植、內核的裁剪與編譯、根文件系統的制作等。其中內核的裁剪的主要操作有:1)編輯Makefile文件。將CROSS_COMPI LE=opt/host/armv41/bin/armv41-un-know-linux改為CROSS_COMPILE=arm-linux。2)編譯內核make menuconfig配置Linux內核。3)執行命令makedep創建內核的依賴關系。4)創建內核鏡像make zImage。4)Linux內核壓縮映像zImage建立根文件系統。
3.2 圖像采集
在Linux下的視頻采集是通過Video4Linux實現的,它是連接視頻設備的內核程序,提供了一系列的接口函數API,專門服務于視頻設備的應用程序編程。在編譯內核時要將Video4Linux項選中,對應的設備文件目錄是/dev/video。設備驅動提供了open、read、write、close等函數調用,采用內存映射mmap方式把設備內存映射到應用程序的內存空間中,用戶空間和內核空間不需要交換數據,視頻采集流程圖如圖2所示。本文引用地址:http://www.104case.com/article/148979.htm
3.3 GPRS無線通信
利用TCP/IP協議將數據打包,再通過GPRS模塊傳到GPRS同絡,GPBS網絡通過路由器與Internet相連,將數據包送到固定IP地址的監控服務器端口,以實現系統無線傳輸。
在嵌入式linux操作系統下實現GPRS按號上網,需要PPP協議支持、撥號應用程序移植和撥號腳本程序編寫。PPP即點到點協議,為在同等單元之間傳輸數據包。系統是通過撥號方式來建立點對點連接,按照順序發送數據包。撥號應用程序移植為:
然后對撥號端口進行配置,最后調用ppp_on_dialer腳本文件實現同服務器會話。進而在會話程序中進行登錄,實現無線接入。
3.4 嵌入式Web服務器
Boa是一種高性能單任務的HTTP服務器,能夠支持實現動態Web技術的CGI(公用網關接口)技術,源代碼開放,而且能夠非常方便地在操作系統上進行移植。當有連接請求時,Boa不為每個連接單獨創建進程,而是通過建立HTTP請求列表來處理多路連接請求,同時為CGI程序創建新的進程,這樣在最大程度上節省了系統資源,所以十分適用于嵌入式系統。我們利用Boa在嵌入式linux操作系統上建立Web服務器,利用CGI最終實現對家庭設備的控制。
Linux下實現Boa,需要對Boa做一些配置和修改。主要通過對boa.conf和mime.type文件進行修改,需要將cgi文件擴展名和applicatio n/x-httpd-cgi類型關聯;配置CGI腳本存放路徑,在boa.conf中用ScriptAlias來指明,然后創建HTML文檔目錄、CGI腳本目錄,最后將boa.conf放到/etc/boa目錄下。Web服務器接收到請求,將瀏覽器發過來的參數傳遞給CGI程序,CGI程序完成處理,生成HTML頁面代碼寫到重定向的標準輸出。
4 結論
本系統采用嵌入式Linux作為軟件開發平臺,便于系統的開發、測試、升級及擴展,同時也提高了系統的穩定性、可靠性。通過GPRS無線傳輸,并應用Web服務器瀏覽網頁,實現智能家居監控系統,能夠滿足家用的需求。
評論