DIY编程器网

标题: 網路攝影監視系統设计与实现,包括原理图、源代码 [打印本页]

作者: admin    时间: 2015-4-27 08:09
标题: 網路攝影監視系統设计与实现,包括原理图、源代码
1.摘要
        遠端攝影監視被使用在越來越多的地方,例如:保全、道路 (流量) 監視、河川山坡地狀況監視等。電腦網路的發達,使得攝影監視也可以利用電腦網路來實現。本工作以 FPGA 嵌入式系統設計網路攝影監視系統。每一個本地攝影機配置一個 IP,即可由遠端電腦監視各個地方的狀況。
         
        1.1.背景資訊 (Background Information)
        由於現在自然災害頻傳,並且社會安全,像是搶劫、闖空門等事故時有耳聞,交通事故發生機也居高下。若有一台攝影機,再搭配現在廣為發達的網際網路,讓我們就算出遠門也可以隨時隨地監控攝影機,隨時了解特定點的狀況,也可以利用攝影機的預錄功能來觀看一些交通事故的發生經過,不但可以減少糾紛,還可以利用攝影機來監視是否有不肖業者在濫墾濫伐,進而減少土石流的產生,然而可以做到這種功能的嵌入式系統,並非只有一種,以下是以FPGA嵌入式系統和較為普遍的ARM嵌入式系統所做的比較。
       
         
                               
                                         

                       
                               
                                        ARM

                       
                               
                                        FPGA

                       
                               
                                        調適性

                       
                                                                        ARM開發板在出廠時就已經將線路部署好,也沒有較大的空間供使用者配置新的硬體與功能,調適性較低。
                       
                                                                        FPGA開發板是一款可以讓使用者自行規劃的板子,開發板上只有一些比較基本的元件,再來就是依據使用者需求再自行安裝,調適性較高。
                       
                               
                                        開發性

                       
                                                                        ARM開發板由於內部的一些指令都已寫入,所以對於使用者來說,就算只是新手,也可以很容易上手。
                       
                                                                        FPGA開發板由於需要自行架設一些必要的軟體,且網路上有關他的開發資料又很少,所以在開發上會比較困難。
                       
                               
                                        智財保護

                       
                                                                        因為使用者只針對內部應用程式做修改,所以被盜用的機會較大
                       
                                                                        因為整體是由使用者自己開發,所以比較不會遭人盜用
                       
                               
                                        價格

                       
                                                                        貴
                       
                                                                        便宜
                       
         
        2.系統軟硬體平台簡述與資源運用分析
        2.1硬體架構
        本專案採用XUPV5-LX110T開發平台,搭載Microblaze的嵌入式處理器,並擁有雙Flash PROMs(每個32 Mbyte)、100MHz系統時間產生器(Timer),其中高速乙太網路支援mll、gmll、rgmll和sgmll port,並且開發套件包含1GB的CF Card、256M SODIMM模組。FPGA的優點是可以自行設定晶片以建置客製化硬體功能,而本專案所設計的硬體架構精簡,所使用元件不多,這將可以減少開發成本又可以達到本專案需求,硬體架構如圖1。
         
       

        圖1 硬體架構圖

         
        2.2.系統架構
        本專案採用Linux 2.6作業系統,並預先載入USB、SD Card、Camera等裝置驅動程式供上層使用,Libraries則是預先載入SDL(Simple Directmedia Layer),以供上層FFMpeg所包含的ffplay元件使用,操作人機介面是以網頁方式呈現,以Thttpd並利用網頁程式語言PHP與CGI實作,使Record Controller與FFMpeg可被CGI叫用,並達到執行影像側錄與播放影像功能,系統架構如圖2所示。
         
       

        圖2  系統架構圖

        2.3.資源運用分析
        本系統平台運用基本的硬體架構就可以達到我們的需求,開機流程主要是先由放在Flash內的BIOS將晶片組和記憶體子系統初始化後把Kernel解壓縮到系統的主記憶體(MPMC)開始執行,當開始執行時,首先會對系統進行自我檢測以確定設備可以正常動作,接著將Local Memory載入到記憶體0X9CFF0000的位置開始執行,再載入由作業系統的開機磁區,進入作業系統,完成開機。I/O則是透過Local Bus與記憶體(MPMC)進行資料傳輸,其中INIT是中斷處理程式控制器負責控制可編譯系統時間產生器(Timer),UART可讓使用者連接至本系統進行設定,而擷取到的資料可以透過GPIO儲存到SD Card中,USB阜可以提供USB攝影機做連接。
         
        3.系統實作內容
        3.1.實作內容
        本實作內容採用XUPV5-LX110T開發平台(如圖4)與Xilinx EDK 10.1.3開發軟體建置本系統平台,並利用Petalinux工具包將Linux2.6移植到平台上,編輯過程,核心必須勾選支援USB、SD Card、Thttpd、Network、RS232等所需選項,由於Camera的驅動在Petalinux工具並無支援,必須自行加入Camera的驅動還有SDL媒體資料庫以及即時串流轉檔程式FFMpeg,再自行撰寫應用程式達到控制效果。
         
       

        圖4  XUPV5-LX110T硬體平台

         
        本專案硬體流程如圖5所示,利用現有USB介面安裝Camera供影像記錄用,當Camera裝置訊號流傳送到本系統,並透過匯流排將訊號傳送到MPMC儲存供MicroBlaze用,在透過系統軟體上的處理,在送到GPIO上的Storage裝置儲存。
       

        圖5 硬體流程圖

       
         
        本系統平台主要功能是使用自行所撰寫的程式Record Controller,利用此程式下達錄製指令, ffmpeg收到Record Controller所傳遞錄製訊號開始錄製,當錄製完成回傳完成訊息給Record Controller,即儲存到儲存裝置。
         
       

        圖6 系統流程圖

         

        4.資料流向
         
       

        圖7  資料流程圖

        5.操作概念 (Operational Concept)
        本系統主要分為三大部份,從Internet連結到登入頁面判斷使用者。如果使用者正確則登入到操作頁面,不正確則無法登入。進入操作頁面後,可以點選播放即時影像,由操作頁面顯現出來,或停止播放或下載錄影檔。
         
        5.1測試流程
        Step1:網頁即時播放、停止、暫停使用者經過登入驗證後透過Virtex5將攝影機擷取影像並在網頁上進行時撥放、停止、暫停等功能。
         
        Step2 : 錄影
        透過Record Controller傳送側錄時間指令,使ffmpeg開始處理USB Camera所傳送進來的影像訊號,在轉換成flv檔儲存起來。
         
       

        圖8 錄影

         
        Step3:循環式資料保存
        當Record Controller發現Storage內所儲存之資料到達所設定之範圍,Record Controller則會下達刪除最早之資料,以達到循環效果。
         
       

        圖9 循環式資料保存

         

        5.2實作時程紀錄
       

        圖10 甘特圖

         

        6.預期功能與目標
        本專案提供的功能有下列幾項:
        入時,開啟一個含播放器之網頁,播放即時攝影內容。
        本專案以低成本的FPGA搭配基本的硬體架構加上作業系統,達到成本低、效率高、準確度高的需求。
        7.目前實作完成進度
        目前我們已經將Linux移植到開發板上,並且有網路功能、web server功能和網頁的登入功能,以下是移植後的開機畫面和登入頁面。另外攝影機可以在Linux的pc上擷取影像並使用ffmpeg轉檔錄影成flv格式,循環式資料保存已做到可以自動新建檔案,建三個檔後自動刪除最早開啟的檔案。應用程式與驅動方面我們已經將ffmpeg轉檔程式和攝影機驅動的媒體庫SDL交叉編譯成功。
         
       

        圖11 開機流程圖

         

       

        圖12 開機流程圖

         
       

        圖13 登入頁面

         
        8.可能遭遇之困難點及解決方法
        8.1.遭遇之因難
        由於開發板上的usb驅動晶片是需要付費的,所以沒辦法使用開發板上的USB阜。
         
        8.2解決方法
        然而本專案針對上述之問題提出一項解決之方法。使用外接模組的方法將USB模組接上開發板。
         
        9.未來進度
        USB阜功能完成後將我們的應用程式以及本專案所需要之程式移植到開發板上,之後做測試。
        8.結論
        將攝影功能的處理配置到FPGA嵌入式系統開發板上,可以讓以往動輒上萬的監視攝影系統的價錢下修至幾千元,再利用網路的普及,使用者可以輕輕鬆鬆透過網路觀看所拍攝到的影像,提高住家的生活品質。將攝影機移到戶外更可以嚴防一些人為因素的災害,觀看到是否有有心人士任意破壞環境以及生態。




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2