熊雪艷,梁光勝,賴程鵬,郝建紅
(華北電力大學 電氣與電子工程學院,北京102206)
* 基金項目:國家級-基于微電子系統(tǒng)的高功率微波效應研究(61372050)。
?
熊雪艷,梁光勝,賴程鵬,郝建紅
(華北電力大學 電氣與電子工程學院,北京102206)

* 基金項目:國家級-基于微電子系統(tǒng)的高功率微波效應研究(61372050)。
摘要:基于OV2640攝像頭模塊設計了一種網絡視頻監(jiān)控系統(tǒng),由視頻監(jiān)控節(jié)點、服務器、PC客戶端和安卓客戶端組成。視頻監(jiān)控節(jié)點由STM32F407VE控制器、DP83848以太網模塊、OV2640攝像頭模塊構成,控制器在程序中調用LwIP協(xié)議棧的RAW API,實現將TCP網絡數據上傳至服務器。PC客戶端或安卓客戶端通過網絡登錄到服務器后,即可獲得實時監(jiān)控視頻。運行測試表明,系統(tǒng)具有視頻質量好、占用網絡帶寬小、成本低、多平臺和多終端監(jiān)控的諸多優(yōu)點。
關鍵詞:視頻監(jiān)控;服務器;客戶端;OV2640
引言
視頻作為人類獲得信息最直觀有效的手段,在安防監(jiān)控等領域應用非常廣泛。近年來,隨著物聯網與移動互聯網技術的飛速發(fā)展,視頻監(jiān)控也被廣泛應用在智能家居等物聯網應用系統(tǒng)中,因而對網絡視頻監(jiān)控提出了更高的要求。物聯網應用具有網絡傳輸帶寬小、終端設備多的特點,就需要網絡視頻監(jiān)控系統(tǒng)在保證視頻質量前提下,既減少帶寬占用,又控制終端成本,因此,設計帶寬占用少、成本低、多終端的網絡視頻監(jiān)控系統(tǒng)就十分必要。本文基于STM32F407VE控制器、DP83848以太網模塊、OV2640攝像頭模塊,設計了能與服務器通信的視頻監(jiān)控節(jié)點,利用C#語言設計了服務器端程序和客戶端程序,采用Java語言設計了安卓手機客戶端程序,從而完成了整個網絡視頻監(jiān)控系統(tǒng)的設計。
1網絡視頻監(jiān)控系統(tǒng)總體設計

圖1 網絡視頻監(jiān)控系統(tǒng)總體結構框圖
網絡視頻監(jiān)控系統(tǒng)總體結構框圖如圖1所示,由視頻監(jiān)控節(jié)點、服務器、PC客戶端和安卓客戶端組成。視頻監(jiān)控節(jié)點完成視頻數據的實時采集處理,并通過以太網傳輸至服務器,PC客戶端或安卓客戶端通過網絡登錄到服務器后,可獲得視頻數據并顯示。視頻監(jiān)控節(jié)點由STM32F407VE控制器、DP83848以太網模塊、OV2640攝像頭模塊組成。OV2640攝像頭模塊將光學圖像轉化為數字信號,經STM32F407VE處理封裝后,使用TCP協(xié)議通過互聯網傳輸至服務器,完成視頻信號的采集、處理和上傳任務。
2網絡視頻監(jiān)控系統(tǒng)硬件電路設計
2.1核心控制器的選擇及其與外圍模塊的連接設計
本文選擇意法半導體公司的STM32F407VE作為系統(tǒng)的核心控制器,與OV2640攝像頭模塊、DP83848以太網模塊端口連接示意圖如圖2所示。

圖2 控制器與外圍模塊的連接示意圖
STM32F407VE通過I2C接口對OV2640進行配置與初始化,之后通過D0~D7共8位數據總線讀取圖像數據,PCLK為數據同步時鐘,VSYNC為幀同步時鐘。STM32F407VE通過簡化媒體獨立接口RMII(Reduced Medium-Independent Interface)連接到以太網PHY控制芯片DP83848,繼而連接到局域網中。
2.2OV2640攝像頭模塊電路設計
OV2640攝像頭模塊具有完善的圖像采集和處理功能,其圖像傳感器是低壓CMOS器件,通過串行總線(SCCB)接口的控制,可配置多種圖像大小和多種數據輸出格式,其最高分辨率為1600×1200,輸出幀率為15 fps以上。
OV2640可配置為JPEG格式圖片數據輸出,在320×240分辨率下,JPEG格式圖片大小為4~7 KB,以10 fps速率輸出圖像時,其數據量也僅為40~70 KB/s,視頻圖像質量好,占用網絡帶寬小。
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的數字視頻接口電源(推薦的電壓范圍為1.71~3.3 V)、模擬電路電源(推薦的電壓范圍為2.5~3.0 V)和核心傳感器電源(推薦的電壓范圍為1.24~1.56 V)。

圖3 OV2640攝像頭模塊電路原理圖
OV2640圖像數據輸出時序如圖4所示。只有當HREF信號為高電平時,在PCLK信號的上升沿或下降沿(通過寄存器可配置)讀取的8位數據才是有效數據,因而電路中將PCLK信號與HREF信號經過與非門SN74LVC1G00之后輸出到控制器。控制器只需在與非門輸出信號的上升沿或下降沿時讀取數據,而無需考慮數據的有效性。

圖4 OV2640圖像數據輸出時序
2.3DP83848 以太網模塊電路設計
DP83848以太網模塊電路原理圖略——編者注。STM32F407VE提供了用于以太網通信的媒體訪問控制器MAC(Media Access Controler),具有媒體獨立接口MII和簡化媒體獨立接口RMII。本文設計的網絡視頻監(jiān)控系統(tǒng)使用了RMII接口與以太網PHY控制芯片DP83848連接,DP83848是美國國家半導體公司的單路10/100 Mbps以太網收發(fā)器,其時鐘源由50 MHz有源晶振提供。
3網絡視頻監(jiān)控系統(tǒng)軟件設計
3.1STM32F407VE控制器程序設計
STM32F407VE控制器通過8位數據總線從OV2640獲得圖像數據,通過調用LwIP協(xié)議棧接口,以TCP客戶端方式連接到服務器,并將圖像數據上傳至服務器。程序流程圖如圖5所示。

圖5 STM32F407VE控制器程序流程圖
程序調用LwIP協(xié)議棧的RAW API,實現TCP網絡數據傳輸基本流程如下:
tcp_new(); //建立TCP控制塊
tcp_connect(); //連接到遠程主機,指定建立連接后調用的回調
//函數
tcp_recv(); //指定接收到新數據時調用的回調函數,可在回
//調函數中對接收到的數據做處理
tcp_write(); //將數據放入發(fā)送隊列,由內核決定發(fā)送
tcp_output(); //發(fā)送還未發(fā)送的數據
3.2服務器程序設計
服務器程序使用C#語言多線程編程,服務器程序接收到視頻監(jiān)控節(jié)點傳輸的圖像字節(jié)流數據,根據JPEG包頭(0xFF,0xD8)和包尾(0xFF,0xD9)分割數據流成圖片幀,JPEG格式圖片的包頭和包尾原始數據如圖6所示。

圖6 JPEG格式圖像包頭和包尾原始數據
獲得的JPEG圖片在程序界面中的PictureBox控件上實時更新顯示,形成視頻。若同時有其他PC客戶端或者安卓客戶端登錄到服務器,服務器可將視頻數據轉發(fā)給這些客戶端。服務器程序主線程流程圖如圖7所示,TCP監(jiān)聽線程流程圖如圖8所示。

圖7 服務器程序主線程流程圖

圖8 TCP監(jiān)聽線程流程圖
3.3PC客戶端和安卓客戶端程序設計
PC客戶端和安卓客戶端采用與服務器相同的通信、數據分割、視頻顯示原理,分別使用C#語言和Java語言進行多線程編程,客戶端通過賬號密碼登錄到服務器之后,便可以接收服務器的視頻數據并在本地顯示。
4網絡視頻監(jiān)控系統(tǒng)運行測試
開啟服務器程序之后,單擊Start Server按鈕,開啟網絡視頻服務,打開網絡視頻監(jiān)控節(jié)點電源,即可在服務器程序界面看到實時視頻和當前數據傳輸速率與圖像幀率,如圖9所示。

圖9 服務器端程序運行測試界面
開啟PC客戶端,輸入服務器IP地址、端口號、帳號及密碼之后,單擊Login按鈕即可登錄到服務器,實時顯示監(jiān)控視頻,如圖10所示。

圖10 PC客戶端運行測試界面
手機通過WiFi連接至互聯網,打開客戶端,輸入服務器IP地址、端口號、帳號及密碼之后,單擊Login按鈕即可登錄到服務器,實時顯示監(jiān)控視頻,如圖11所示。

圖11 安卓客戶端運行測試界面
結語
經過運行測試,所設計的網絡視頻監(jiān)控系統(tǒng)具有以下幾個特點:第一,能夠長期穩(wěn)定運行,單個視頻監(jiān)控節(jié)點產生的視頻數據流量為40~70 KB/s,不僅視頻質量好,而且占用網絡帶寬小;第二,所用核心控制器和圖像傳感器成本低,可大規(guī)模架設;第三,在PC和安卓手機上可實現多平臺、多終端監(jiān)控,在物聯網和移動互聯網中具有很大應用空間。

參考文獻
[1] 郭聳,洪炳镕,陳鳳東.基于嵌入式Linux和Web服務器的網絡視頻監(jiān)控系統(tǒng)[J].哈爾濱商業(yè)大學學報:自然科學版,2005(6):736-738.
[2] 程磊,劉波,徐建省,等.基于OV2640的微型膠囊內窺鏡系統(tǒng)設計[J].傳感器與微系統(tǒng),2014(2):73-76.
[3] 裘英,王庫.基于RTP協(xié)議的網絡視頻監(jiān)控系統(tǒng)的實現[J].微計算機應用,2006(4):436-439.
[4] 賀秋燕.一種網絡視頻監(jiān)控系統(tǒng)的研究與實現[D].廣州:華南理工大學,2012.
[5] 李飛霞.基于Android的移動視頻監(jiān)控系統(tǒng)的設計與實現[D].成都:電子科技大學,2013.
[6] 廖義奎.ARM Cortex-M4嵌入式實戰(zhàn)開發(fā)精解—基于STM32F4[M].北京:北京航空航天大學出版社,2013:381-382.
熊雪艷(碩士研究生),研究方向為智能控制、嵌入式系統(tǒng)與物聯網技術應用; 梁光勝(副教授),主要從事嵌入式系統(tǒng)與智能控制、集成電路及系統(tǒ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
收稿日期:(責任編輯:薛士然2015-06-22)
中圖分類號:TP393
文獻標識碼:A