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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

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

          隨著嵌入式計(jì)算機(jī)、互聯(lián)網(wǎng)、數(shù)字圖像以及通信等技術(shù)的發(fā)展,視頻監(jiān)控技術(shù)也得到迅速的發(fā)展,并滲透到人們的現(xiàn)實(shí)生活中。視頻監(jiān)控的領(lǐng)域涉及安全監(jiān)控、遠(yuǎn)程醫(yī)療、智能家居、視頻實(shí)時(shí)會(huì)議等。

          本文引用地址:http://www.ex-cimer.com/article/201609/303783.htm

          文中利用Web和嵌入式技術(shù),以ARM11-S3C6410處理器為硬件核心,以系統(tǒng)作為軟件平臺(tái),研究并實(shí)現(xiàn)了一個(gè)嵌入式Web實(shí)時(shí)監(jiān)控系統(tǒng),為嵌入式設(shè)備接入Internet提供了一種簡(jiǎn)單且有效的解決技術(shù),進(jìn)而可以實(shí)現(xiàn)通過(guò)Web瀏覽器對(duì)嵌入式設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控的目的。

          1 系統(tǒng)總體設(shè)計(jì)

          文中設(shè)計(jì)一種典型的嵌入式Web監(jiān)控系統(tǒng)主要通過(guò)嵌入式終端上的攝像頭進(jìn)行視頻圖像的采集,視頻服務(wù)器MJPG—streamer然后對(duì)采集過(guò)來(lái)的數(shù)據(jù)進(jìn)行壓縮,傳輸JPEG格式的圖像到用戶(hù)客戶(hù)端瀏覽器。用戶(hù)可以通過(guò)Web瀏覽器實(shí)時(shí)遠(yuǎn)程監(jiān)控?cái)z像頭采集到的視頻圖像。系統(tǒng)整體框架如圖1所示。

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          2 硬件設(shè)計(jì)

          本系統(tǒng)使用的硬件平臺(tái)功能框圖如圖2所示。該平臺(tái)采用三星處理器S3C6410。該處理器基于ARM1176JZF—S內(nèi)核,64/32位內(nèi)部總線架構(gòu),并且具有豐富的內(nèi)部資源,支持MPEG4/H.264編解碼、VC1的解碼,實(shí)時(shí)視頻會(huì)議和NTSC,PAL的輸出。在片上資源非常豐富的基礎(chǔ)上,對(duì)硬件系統(tǒng)的配置進(jìn)行了相關(guān)的擴(kuò)展,包括1塊256 MB的NAND Flash和2塊64 Mbyte的DDR SDRAM,1個(gè)連接PC機(jī)用于調(diào)試的串口、2個(gè)USB接口、1個(gè)以太網(wǎng)控制芯片DM9000AE擴(kuò)展了1個(gè)網(wǎng)絡(luò)口,在主控USB接口外接數(shù)字?jǐn)z像頭。

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          3 軟件設(shè)計(jì)

          3.1 嵌入式boa的移植

          本項(xiàng)目采用的嵌入式(WWW.boa.org),它一般是單進(jìn)程服務(wù)器,即同一時(shí)刻只能響應(yīng)單個(gè)用戶(hù)的,而無(wú)法并發(fā)響應(yīng),這也是和Apache等高性能的主要的區(qū)別,但對(duì)于應(yīng)用于嵌入式設(shè)備的場(chǎng)合里已足夠。這里介紹常用的web服務(wù)器boa的移植。的可執(zhí)行代碼只有約60KB,是一個(gè)非常小巧的單任務(wù)服務(wù)器,所以只能依次完成用戶(hù)的請(qǐng)求,而不會(huì)fork出新的進(jìn)程來(lái)處理并發(fā)連接請(qǐng)求。但支持,能夠?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/CGI">CGI程序fork出一個(gè)新的進(jìn)程來(lái)響應(yīng)用戶(hù)的需求。在其站點(diǎn)公布的速度和安全性能測(cè)試中,Boa的性能要好于Apache服務(wù)器。

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          最后將生成的可執(zhí)行程序boa掛在到目標(biāo)系統(tǒng),若能成功地訪問(wèn)靜態(tài)HTML網(wǎng)頁(yè)和運(yùn)行測(cè)試用的程序,則表明配置成功。

          3.2 Cgi技術(shù)簡(jiǎn)介以及Cgi庫(kù)的移植

          目前Web開(kāi)發(fā)中生成動(dòng)態(tài)Web頁(yè)面的方法有CGI和服務(wù)器腳本,如JSP,ASP等,但在嵌入式Web服務(wù)器中,考慮資源有限,一般都只提供CGI支持,因此在嵌入式設(shè)備中Web應(yīng)用實(shí)際上就是基于CGI的開(kāi)發(fā)。

          CGI(Common Gate Interface)是一段運(yùn)行在Web服務(wù)器上的程序,它提供了同客戶(hù)端Html頁(yè)面的接口。為了完成服務(wù)器與客戶(hù)端的動(dòng)態(tài)交互,依據(jù)cgi標(biāo)準(zhǔn)編寫(xiě)的代碼運(yùn)行在服務(wù)器端,處理來(lái)自用戶(hù)瀏覽器的數(shù)據(jù),如表單數(shù)據(jù)的操作、Web數(shù)據(jù)庫(kù)的訪問(wèn)以及遠(yuǎn)程操控等。編寫(xiě)不同的cgi程序,用于視頻采集設(shè)備的初始化以及實(shí)時(shí)控制。CGIC是一個(gè)支持CGI開(kāi)發(fā)的開(kāi)放源碼的標(biāo)準(zhǔn)C庫(kù),只需要在開(kāi)發(fā)的站點(diǎn)和程序文檔中公開(kāi)聲明即可,表明程序使用了CGIC庫(kù),用戶(hù)也可以購(gòu)買(mǎi)商業(yè)授權(quán)而無(wú)需公開(kāi)聲明。首先在其官網(wǎng)下載源代碼,目前使用的是cgic205版,設(shè)置交叉編譯器進(jìn)行交叉編譯,并移植cgic庫(kù)。完成移植后,將capture和egictest.cgi文件復(fù)制到Web服務(wù)器中的/web/cgi—bin目錄下。C GIC庫(kù)移植成功后,可在瀏覽器中訪問(wèn)其測(cè)試頁(yè)面則表明測(cè)試成功。測(cè)試頁(yè)面如圖3所示。

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          3.3 MJPG-streamer服務(wù)器的設(shè)計(jì)

          MJPG-streamer是一個(gè)基于網(wǎng)絡(luò)應(yīng)用的開(kāi)源流媒體服務(wù)器。本課題對(duì)MJPG-streamer流媒體服務(wù)器進(jìn)行深入研究,結(jié)合試驗(yàn)平臺(tái)的特點(diǎn),對(duì)其進(jìn)行修改、編譯,使這個(gè)流媒體服務(wù)器可以正常的工作在系統(tǒng)平臺(tái)上。利用MJPG-streamer流媒體服務(wù)器與Linux系統(tǒng)所提供的API以及豐富的網(wǎng)絡(luò)功能完成視頻數(shù)據(jù)的采集、壓縮和網(wǎng)絡(luò)傳輸。

          用戶(hù)通過(guò)瀏覽器與嵌入式Web服務(wù)器通信。MJPG-streamer視頻服務(wù)器主要負(fù)責(zé)架設(shè)服務(wù),進(jìn)行配置(端口,顯示參數(shù)),攝像頭的識(shí)別由s3c2440_camif.c驅(qū)動(dòng)程序完成。MJPG-streamer服務(wù)器是一個(gè)命令行應(yīng)用軟件,它運(yùn)行時(shí)會(huì)啟動(dòng)一個(gè)socket套接字來(lái)偵聽(tīng)8080端口,若有TCP連接請(qǐng)求,則以TCP流將視頻發(fā)送出去??梢詮囊粋€(gè)輸入端復(fù)制JPG格式的圖像到多個(gè)輸出端,也可以將從攝像頭采集到的JPEG視頻流通過(guò)網(wǎng)絡(luò)傳輸?shù)綖g覽器上或者嵌入式設(shè)備上。有了視頻服務(wù)器處理數(shù)據(jù)的輸入輸出,在構(gòu)建前臺(tái)網(wǎng)頁(yè)時(shí)可以直接調(diào)用生成相應(yīng)的實(shí)時(shí)數(shù)據(jù),方法是在HTML頁(yè)面上輸入:http://IP地址:端口/? action=參數(shù)”格式來(lái)調(diào)用,其中參數(shù)為“stream”表示調(diào)用視頻網(wǎng)頁(yè),“snapshot”表示調(diào)用相應(yīng)網(wǎng)頁(yè),這個(gè)功能是通過(guò)httpd服務(wù)器實(shí)現(xiàn)的,MJPG—streamer流程圖如圖4所示。

          基于ARM11的嵌入式Web監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)

          MJPG—streamer其流程圖如圖4,有輸入組件input_uvc和輸出組件output_http,以及out_file等。每個(gè)組件的功能明。input_testpic ture.so將預(yù)設(shè)好的圖片編譯成頭文件,即使攝像頭不工作了,也能繼續(xù)傳輸未完全的;input_uvc.so調(diào)用攝像頭驅(qū)動(dòng),從攝像頭讀取視頻數(shù)據(jù),讀取一幀數(shù)據(jù),判斷數(shù)據(jù)幀的大小,如果數(shù)據(jù)幀太小或者太大,則丟棄。判斷原始數(shù)據(jù)格式,如果是YUV進(jìn)行格式轉(zhuǎn)換后將原始數(shù)據(jù)復(fù)制到全局緩沖區(qū),繼續(xù)刷新緩沖區(qū)。而input_control.so是攝像頭控制接口,output_http.so是一個(gè)網(wǎng)站服務(wù)器,將視頻文件以HTTP視頻數(shù)據(jù)服務(wù)流形式輸出。output_file.so實(shí)現(xiàn)圖片存儲(chǔ)到特定的文件夾。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();