<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的智能家居視頻監(jiān)控系統(tǒng)

          基于ARM的智能家居視頻監(jiān)控系統(tǒng)

          作者: 時(shí)間:2010-06-24 來(lái)源:網(wǎng)絡(luò) 收藏

          2 的架構(gòu)
          鑒于家居系統(tǒng)的結(jié)構(gòu)特點(diǎn),選用集軟硬件于一體,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn)的嵌入式系統(tǒng)。設(shè)計(jì)采用(Adva-nced RISC Machinesl核嵌入Linux操作系統(tǒng)的方法實(shí)現(xiàn)。系統(tǒng)主要由嵌入式S3C2410處理器、相關(guān)支撐硬件、USB攝像頭、嵌入式操作系統(tǒng)Li-nux及應(yīng)用軟件等部分組成,該系統(tǒng)是可以獨(dú)立工作的“器件”。
          2.1 系統(tǒng)的硬件結(jié)構(gòu)
          系統(tǒng)硬件部分主要包括S3C2410處理器、儲(chǔ)存器和外圍電路,其結(jié)構(gòu)框架如圖2所示。


          9的嵌入式S3C2410處理器是整個(gè)系統(tǒng)的核心,它提供了豐富的片內(nèi)資源,支持Linux操作系統(tǒng),并能完成整個(gè)系統(tǒng)的調(diào)度工作。CPU內(nèi)置USB控制器,USB攝像頭將采集到的圖像通過(guò)USB接口送與S3C2410進(jìn)行處理,以等待發(fā)送。網(wǎng)絡(luò)芯片DM9000有成熟的Linux驅(qū)動(dòng)程序支持,其100Mb/s以太網(wǎng)接口,以傳輸速率快為設(shè)計(jì)首選。
          2.2 構(gòu)建S3C241O的嵌入式Linux系統(tǒng)
          Linux是一款可以免費(fèi)使用,且源碼開(kāi)放以便開(kāi)發(fā)人員隨意裁剪,且具有穩(wěn)定性能的操作系統(tǒng)。宿主機(jī)選用Red Hat公司的IAnux9.0服務(wù)器版,并在其上構(gòu)建嵌入式Linux開(kāi)發(fā)平臺(tái)需要的交叉編譯環(huán)境。
          在S3C2410上搭建嵌入式Linux軟件平臺(tái)需要完成引導(dǎo)加載程序Boot loader的移植;Linux操作系統(tǒng)內(nèi)核的移植和包含應(yīng)用程序的文件系統(tǒng)移植。
          Boot Loader是在操作系統(tǒng)內(nèi)核運(yùn)行之前執(zhí)行的一段小程序。Linux內(nèi)核有自己的結(jié)構(gòu)體系,系統(tǒng)的Linux內(nèi)核由標(biāo)準(zhǔn)Linux內(nèi)核裁剪而來(lái)。設(shè)計(jì)直接通過(guò)系統(tǒng)調(diào)用訪問(wèn)Linux的內(nèi)核資源,編譯內(nèi)核時(shí)加入U(xiǎn)SB攝像頭Webeve 2000主芯片OV511的驅(qū)動(dòng)和以太網(wǎng)控制芯片DM90-00的驅(qū)動(dòng),文件系統(tǒng)選用Ramdisk技術(shù)。

          3 的實(shí)現(xiàn)
          3.1 Vide04Linux程序
          Vide04Linux(簡(jiǎn)稱V4L)是Linux中關(guān)于設(shè)備的內(nèi)核驅(qū)動(dòng),它針對(duì)視頻設(shè)備的應(yīng)用程序編程提供一系列接口函數(shù)。對(duì)于USB接口攝像頭,其驅(qū)動(dòng)程序中提供基本的I/O操作接口函數(shù)open、read、write、close等。
          3.2 網(wǎng)絡(luò)通信程序
          在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是瀏覽器/服務(wù)器模式,即客戶向服務(wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的服務(wù)。
          Linux中的網(wǎng)絡(luò)編程是通過(guò)Socket接口來(lái)進(jìn)行的,Socket相當(dāng)于進(jìn)行網(wǎng)絡(luò)通信兩端的插座,只要對(duì)方的Socket和自己的Socket有通信聯(lián)接,雙方就可以發(fā)送和接收數(shù)據(jù)了。在系統(tǒng)中,用戶所持有的任意網(wǎng)絡(luò)設(shè)備的和家用9開(kāi)發(fā)板就是Socketet通信的兩端。
          3.3 嵌入式WEB服務(wù)器和視頻監(jiān)控的實(shí)現(xiàn)
          家居系統(tǒng)選用的Web服務(wù)器是一款非常小巧的,執(zhí)行代碼只有約60kB的一個(gè)單任務(wù)嵌入式boa服務(wù)器。客戶端瀏覽器和嵌入式Web服務(wù)器之間通過(guò)HTTP協(xié)議所進(jìn)行的“請(qǐng)求一>響應(yīng)”的工作原理如圖3所示。


          構(gòu)建嵌入式服務(wù)器boa,并針對(duì)具體情況配置boa,這里在/etc下建立boa目錄,并在/etc/boa目錄下建立boa.conf文件。設(shè)置boa.-conf文件里的用戶訪問(wèn)權(quán)限User nobody為user 0;Group nogroup為Group 0;日志目錄Errorlog和AccessLog為var/log/boa/error log和/var/log/boa/access log;html文件目錄為/var/www;默認(rèn)首頁(yè)為/var/www/;cgi腳本目錄為ScriptAlias/cgi-bin//var-/www/cgi-bin。在Makefile文件里修改交叉編譯器的路徑,并把PC上/etc/mime.types文件拷貝到開(kāi)發(fā)板的/etc目錄下。
          CGI(通用網(wǎng)關(guān)接口)定義了Web服務(wù)器與其他可執(zhí)行程序(CGI)之間進(jìn)行交互的接口標(biāo)準(zhǔn)。CGI程序用來(lái)完成Web網(wǎng)頁(yè)中表單數(shù)據(jù)處理的動(dòng)態(tài)交互工作,CGI程序與Web服務(wù)器,以及客戶端瀏覽器之間交互工作的原理如圖4所示。


          這里編寫(xiě)的CGI程序主要完成客戶端瀏覽器用戶名和密碼的校驗(yàn),通過(guò)后完成本地?cái)?shù)據(jù)的上傳。
          CGI程序?qū)ndex.html提交數(shù)據(jù)的處理,通過(guò)登陸后提供進(jìn)入視頻監(jiān)控界面(http://211.81.251.32:8888)的鏈接,我們用webc-am server作為瀏覽器端視頻播放器,該播放器可隨著監(jiān)控網(wǎng)頁(yè)的打開(kāi)而自動(dòng)下載到用戶端瀏覽器,并不需要專用的瀏覽器,但看到監(jiān)控效果是網(wǎng)頁(yè)打開(kāi)時(shí)刻的靜止圖像。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();