熊雪艷,梁光勝,賴程鵬,郝建紅
(華北電力大學(xué) 電氣與電子工程學(xué)院,北京102206)
* 基金項(xiàng)目:國家級-基于微電子系統(tǒng)的高功率微波效應(yīng)研究(61372050)。
?
熊雪艷,梁光勝,賴程鵬,郝建紅
(華北電力大學(xué) 電氣與電子工程學(xué)院,北京102206)
* 基金項(xiàng)目:國家級-基于微電子系統(tǒng)的高功率微波效應(yīng)研究(61372050)。
摘要:基于OV2640攝像頭模塊設(shè)計了一種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),由視頻監(jiān)控節(jié)點(diǎn)、服務(wù)器、PC客戶端和安卓客戶端組成。視頻監(jiān)控節(jié)點(diǎn)由STM32F407VE控制器、DP83848以太網(wǎng)模塊、OV2640攝像頭模塊構(gòu)成,控制器在程序中調(diào)用LwIP協(xié)議棧的RAW API,實(shí)現(xiàn)將TCP網(wǎng)絡(luò)數(shù)據(jù)上傳至服務(wù)器。PC客戶端或安卓客戶端通過網(wǎng)絡(luò)登錄到服務(wù)器后,即可獲得實(shí)時監(jiān)控視頻。運(yùn)行測試表明,系統(tǒng)具有視頻質(zhì)量好、占用網(wǎng)絡(luò)帶寬小、成本低、多平臺和多終端監(jiān)控的諸多優(yōu)點(diǎn)。
關(guān)鍵詞:視頻監(jiān)控;服務(wù)器;客戶端;OV2640
引言
視頻作為人類獲得信息最直觀有效的手段,在安防監(jiān)控等領(lǐng)域應(yīng)用非常廣泛。近年來,隨著物聯(lián)網(wǎng)與移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,視頻監(jiān)控也被廣泛應(yīng)用在智能家居等物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中,因而對網(wǎng)絡(luò)視頻監(jiān)控提出了更高的要求。物聯(lián)網(wǎng)應(yīng)用具有網(wǎng)絡(luò)傳輸帶寬小、終端設(shè)備多的特點(diǎn),就需要網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)在保證視頻質(zhì)量前提下,既減少帶寬占用,又控制終端成本,因此,設(shè)計帶寬占用少、成本低、多終端的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)就十分必要。本文基于STM32F407VE控制器、DP83848以太網(wǎng)模塊、OV2640攝像頭模塊,設(shè)計了能與服務(wù)器通信的視頻監(jiān)控節(jié)點(diǎn),利用C#語言設(shè)計了服務(wù)器端程序和客戶端程序,采用Java語言設(shè)計了安卓手機(jī)客戶端程序,從而完成了整個網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計。
1網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體設(shè)計
圖1 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)框圖
網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示,由視頻監(jiān)控節(jié)點(diǎn)、服務(wù)器、PC客戶端和安卓客戶端組成。視頻監(jiān)控節(jié)點(diǎn)完成視頻數(shù)據(jù)的實(shí)時采集處理,并通過以太網(wǎng)傳輸至服務(wù)器,PC客戶端或安卓客戶端通過網(wǎng)絡(luò)登錄到服務(wù)器后,可獲得視頻數(shù)據(jù)并顯示。視頻監(jiān)控節(jié)點(diǎn)由STM32F407VE控制器、DP83848以太網(wǎng)模塊、OV2640攝像頭模塊組成。OV2640攝像頭模塊將光學(xué)圖像轉(zhuǎn)化為數(shù)字信號,經(jīng)STM32F407VE處理封裝后,使用TCP協(xié)議通過互聯(lián)網(wǎng)傳輸至服務(wù)器,完成視頻信號的采集、處理和上傳任務(wù)。
2網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)硬件電路設(shè)計
2.1核心控制器的選擇及其與外圍模塊的連接設(shè)計
本文選擇意法半導(dǎo)體公司的STM32F407VE作為系統(tǒng)的核心控制器,與OV2640攝像頭模塊、DP83848以太網(wǎng)模塊端口連接示意圖如圖2所示。
圖2 控制器與外圍模塊的連接示意圖
STM32F407VE通過I2C接口對OV2640進(jìn)行配置與初始化,之后通過D0~D7共8位數(shù)據(jù)總線讀取圖像數(shù)據(jù),PCLK為數(shù)據(jù)同步時鐘,VSYNC為幀同步時鐘。STM32F407VE通過簡化媒體獨(dú)立接口RMII(Reduced Medium-Independent Interface)連接到以太網(wǎng)PHY控制芯片DP83848,繼而連接到局域網(wǎng)中。
2.2OV2640攝像頭模塊電路設(shè)計
OV2640攝像頭模塊具有完善的圖像采集和處理功能,其圖像傳感器是低壓CMOS器件,通過串行總線(SCCB)接口的控制,可配置多種圖像大小和多種數(shù)據(jù)輸出格式,其最高分辨率為1600×1200,輸出幀率為15 fps以上。
OV2640可配置為JPEG格式圖片數(shù)據(jù)輸出,在320×240分辨率下,JPEG格式圖片大小為4~7 KB,以10 fps速率輸出圖像時,其數(shù)據(jù)量也僅為40~70 KB/s,視頻圖像質(zhì)量好,占用網(wǎng)絡(luò)帶寬小。
OV2640攝像頭模塊電路原理圖如圖3所示。OV2640的XCLK時鐘輸入來自24 MHz有源晶振,電源部分由DC-DC穩(wěn)壓芯片和電源濾波電路組成,采用兩片DC-DC穩(wěn)壓芯片將3.3 V直流電源分別穩(wěn)壓至1.5 V和2.8 V。3.3 V、2.8 V、1.5 V 分別提供給OV2640的數(shù)字視頻接口電源(推薦的電壓范圍為1.71~3.3 V)、模擬電路電源(推薦的電壓范圍為2.5~3.0 V)和核心傳感器電源(推薦的電壓范圍為1.24~1.56 V)。
圖3 OV2640攝像頭模塊電路原理圖
OV2640圖像數(shù)據(jù)輸出時序如圖4所示。只有當(dāng)HREF信號為高電平時,在PCLK信號的上升沿或下降沿(通過寄存器可配置)讀取的8位數(shù)據(jù)才是有效數(shù)據(jù),因而電路中將PCLK信號與HREF信號經(jīng)過與非門SN74LVC1G00之后輸出到控制器。控制器只需在與非門輸出信號的上升沿或下降沿時讀取數(shù)據(jù),而無需考慮數(shù)據(jù)的有效性。
圖4 OV2640圖像數(shù)據(jù)輸出時序
2.3DP83848 以太網(wǎng)模塊電路設(shè)計
DP83848以太網(wǎng)模塊電路原理圖略——編者注。STM32F407VE提供了用于以太網(wǎng)通信的媒體訪問控制器MAC(Media Access Controler),具有媒體獨(dú)立接口MII和簡化媒體獨(dú)立接口RMII。本文設(shè)計的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)使用了RMII接口與以太網(wǎng)PHY控制芯片DP83848連接,DP83848是美國國家半導(dǎo)體公司的單路10/100 Mbps以太網(wǎng)收發(fā)器,其時鐘源由50 MHz有源晶振提供。
3網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)軟件設(shè)計
3.1STM32F407VE控制器程序設(shè)計
STM32F407VE控制器通過8位數(shù)據(jù)總線從OV2640獲得圖像數(shù)據(jù),通過調(diào)用LwIP協(xié)議棧接口,以TCP客戶端方式連接到服務(wù)器,并將圖像數(shù)據(jù)上傳至服務(wù)器。程序流程圖如圖5所示。
圖5 STM32F407VE控制器程序流程圖
程序調(diào)用LwIP協(xié)議棧的RAW API,實(shí)現(xiàn)TCP網(wǎng)絡(luò)數(shù)據(jù)傳輸基本流程如下:
tcp_new(); //建立TCP控制塊
tcp_connect(); //連接到遠(yuǎn)程主機(jī),指定建立連接后調(diào)用的回調(diào)
//函數(shù)
tcp_recv(); //指定接收到新數(shù)據(jù)時調(diào)用的回調(diào)函數(shù),可在回
//調(diào)函數(shù)中對接收到的數(shù)據(jù)做處理
tcp_write(); //將數(shù)據(jù)放入發(fā)送隊(duì)列,由內(nèi)核決定發(fā)送
tcp_output(); //發(fā)送還未發(fā)送的數(shù)據(jù)
3.2服務(wù)器程序設(shè)計
服務(wù)器程序使用C#語言多線程編程,服務(wù)器程序接收到視頻監(jiān)控節(jié)點(diǎn)傳輸?shù)膱D像字節(jié)流數(shù)據(jù),根據(jù)JPEG包頭(0xFF,0xD8)和包尾(0xFF,0xD9)分割數(shù)據(jù)流成圖片幀,JPEG格式圖片的包頭和包尾原始數(shù)據(jù)如圖6所示。
圖6 JPEG格式圖像包頭和包尾原始數(shù)據(jù)
獲得的JPEG圖片在程序界面中的PictureBox控件上實(shí)時更新顯示,形成視頻。若同時有其他PC客戶端或者安卓客戶端登錄到服務(wù)器,服務(wù)器可將視頻數(shù)據(jù)轉(zhuǎn)發(fā)給這些客戶端。服務(wù)器程序主線程流程圖如圖7所示,TCP監(jiān)聽線程流程圖如圖8所示。
圖7 服務(wù)器程序主線程流程圖
圖8 TCP監(jiān)聽線程流程圖
3.3PC客戶端和安卓客戶端程序設(shè)計
PC客戶端和安卓客戶端采用與服務(wù)器相同的通信、數(shù)據(jù)分割、視頻顯示原理,分別使用C#語言和Java語言進(jìn)行多線程編程,客戶端通過賬號密碼登錄到服務(wù)器之后,便可以接收服務(wù)器的視頻數(shù)據(jù)并在本地顯示。
4網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)運(yùn)行測試
開啟服務(wù)器程序之后,單擊Start Server按鈕,開啟網(wǎng)絡(luò)視頻服務(wù),打開網(wǎng)絡(luò)視頻監(jiān)控節(jié)點(diǎn)電源,即可在服務(wù)器程序界面看到實(shí)時視頻和當(dāng)前數(shù)據(jù)傳輸速率與圖像幀率,如圖9所示。
圖9 服務(wù)器端程序運(yùn)行測試界面
開啟PC客戶端,輸入服務(wù)器IP地址、端口號、帳號及密碼之后,單擊Login按鈕即可登錄到服務(wù)器,實(shí)時顯示監(jiān)控視頻,如圖10所示。
圖10 PC客戶端運(yùn)行測試界面
手機(jī)通過WiFi連接至互聯(lián)網(wǎng),打開客戶端,輸入服務(wù)器IP地址、端口號、帳號及密碼之后,單擊Login按鈕即可登錄到服務(wù)器,實(shí)時顯示監(jiān)控視頻,如圖11所示。
圖11 安卓客戶端運(yùn)行測試界面
結(jié)語
經(jīng)過運(yùn)行測試,所設(shè)計的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具有以下幾個特點(diǎn):第一,能夠長期穩(wěn)定運(yùn)行,單個視頻監(jiān)控節(jié)點(diǎn)產(chǎn)生的視頻數(shù)據(jù)流量為40~70 KB/s,不僅視頻質(zhì)量好,而且占用網(wǎng)絡(luò)帶寬小;第二,所用核心控制器和圖像傳感器成本低,可大規(guī)模架設(shè);第三,在PC和安卓手機(jī)上可實(shí)現(xiàn)多平臺、多終端監(jiān)控,在物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)中具有很大應(yīng)用空間。
參考文獻(xiàn)
[1] 郭聳,洪炳镕,陳鳳東.基于嵌入式Linux和Web服務(wù)器的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].哈爾濱商業(yè)大學(xué)學(xué)報:自然科學(xué)版,2005(6):736-738.
[2] 程磊,劉波,徐建省,等.基于OV2640的微型膠囊內(nèi)窺鏡系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2014(2):73-76.
[3] 裘英,王庫.基于RTP協(xié)議的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn)[J].微計算機(jī)應(yīng)用,2006(4):436-439.
[4] 賀秋燕.一種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2012.
[5] 李飛霞.基于Android的移動視頻監(jiān)控系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[6] 廖義奎.ARM Cortex-M4嵌入式實(shí)戰(zhàn)開發(fā)精解—基于STM32F4[M].北京:北京航空航天大學(xué)出版社,2013:381-382.
熊雪艷(碩士研究生),研究方向?yàn)橹悄芸刂?、嵌入式系統(tǒng)與物聯(lián)網(wǎng)技術(shù)應(yīng)用; 梁光勝(副教授),主要從事嵌入式系統(tǒng)與智能控制、集成電路及系統(tǒng)芯片設(shè)計與應(yīng)用等的研究;郝建紅(教授),主要從事高功率微波理論與應(yīng)用、非線性算法控制的研究。
Xiong Xueyan,Liang Guangsheng,Lai Chengpeng,Hao Jianhong
(College of Electrical and Electronic Engineering,North China Electric Power University,Beijing 102206,China)
Abstract:A network video surveillance system based on OV2640 camera module is designed,which consists of the video surveillance node,the server,the PC client and the Android client.The video surveillance node contains the STM32F407VE controller,DP83848 Ethernet module,OV2640 camera module.The controller uploads TCP network data to the server by calling RAW API of LwIP stack in the program.The PC client or Android client obtains the real-time surveillance video after logging into the server.The operation test indicates that the system has many advantages such as good video quality,low bandwidth,low cost,multi-platform and multi-terminal monitoring.
Key words:video surveillance;server;client;OV2640
收稿日期:(責(zé)任編輯:薛士然2015-06-22)
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A