王開宇
摘 要: 為了實(shí)現(xiàn)復(fù)雜大型網(wǎng)絡(luò)監(jiān)控系統(tǒng)的操作管理,設(shè)計(jì)以多服務(wù)器多客戶端為基礎(chǔ)的監(jiān)控上位機(jī)軟件,其采用Delphi來開發(fā)上位機(jī)的圖形用戶界面,應(yīng)用C#編程語言在Visual Studio 2013開發(fā)套件上完成播放器ActiveX控件的開發(fā),上位機(jī)與下位機(jī)的數(shù)據(jù)通信則通過UDP及TCP/IP協(xié)議來完成。其中,通過Socket套接字來為TCP/IP協(xié)議提供應(yīng)用開發(fā)接口,實(shí)現(xiàn)連接、登錄驗(yàn)證、參數(shù)交互和命令交互等功能,完成對下位機(jī)服務(wù)器的調(diào)度與管理。測試結(jié)果表明,該上位機(jī)軟件運(yùn)行穩(wěn)定,各項(xiàng)功能均可得到正確的響應(yīng),且設(shè)計(jì)達(dá)到了預(yù)期要求。
關(guān)鍵詞: C#; 數(shù)據(jù)與視頻監(jiān)控; 上位機(jī)軟件設(shè)計(jì); TCP/IP協(xié)議
中圖分類號: TN948.64?34; TP317.4 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)10?0062?03
Abstract: In order to realize the operation and management of the complex large?scale network monitoring system, a PC monitoring software based on the multi?server and multi?client is designed, in which Delphi is used to develop a graphical user interface of PC, and C# programming languages is adopted to complete the player ActiveX control development in visual Studio2013 development kit. The data communication between upper machine and lower machine is realized through UDP and TCP/IP protocols. The application programming interfaces are provided for TCP/IP protocol through Socket sleeve socket to realize the functions of connection, login authentication, parameter interaction, command interaction and so on. The scheduling and management of lower computer server were completed. The test results indicated that the PC software works well, all the functions of it are responded correctly, and its design meets the prospected demand.
Keywords: C#; data and video monitoring; PC software design; TCP/IP protocol
目前市場上的監(jiān)控系統(tǒng)軟件大多無法滿足復(fù)雜的網(wǎng)絡(luò)監(jiān)控系統(tǒng),只能實(shí)現(xiàn)簡單的監(jiān)控網(wǎng)絡(luò)系統(tǒng),為了實(shí)現(xiàn)復(fù)雜大型網(wǎng)絡(luò)監(jiān)控系統(tǒng)的操作管理,本文設(shè)計(jì)了以多服務(wù)器多客戶端為基礎(chǔ)的監(jiān)控上位機(jī)軟件[1?3]。
1 監(jiān)控系統(tǒng)總體設(shè)計(jì)
1.1 系統(tǒng)總體結(jié)構(gòu)
本文所設(shè)計(jì)的視頻監(jiān)控上位機(jī)是針對結(jié)合網(wǎng)絡(luò)信息技術(shù)與嵌入式技術(shù)的監(jiān)控系統(tǒng)[4],其結(jié)構(gòu)如圖1所示。由圖1可知,系統(tǒng)主要由攝像頭、開發(fā)板、云臺、無線設(shè)備、無線網(wǎng)絡(luò)、客戶端上位機(jī)軟件以及報(bào)警服務(wù)器等組成。
云臺控制著攝像頭的轉(zhuǎn)向,通過二自由度平臺可實(shí)現(xiàn)攝像頭在水平方向上以及垂直方向上的轉(zhuǎn)動,擴(kuò)大攝像頭的監(jiān)測范圍。開發(fā)板為ADSP?BF516,其內(nèi)嵌的編解碼模塊將攝像頭采集到的音頻、視頻數(shù)據(jù)數(shù)字化后轉(zhuǎn)變成基于TCP/IP協(xié)議的視頻流[5?6],再通過無線設(shè)備經(jīng)由無線網(wǎng)絡(luò)將視頻流發(fā)送到客戶端上位機(jī)軟件以及報(bào)警服務(wù)器。客戶端上位機(jī)軟件接收到音頻和視頻數(shù)據(jù)后,對視頻流進(jìn)行解碼,并在PC上顯示與處理報(bào)警功能。
1.2 系統(tǒng)程序模塊設(shè)計(jì)
系統(tǒng)程序模塊結(jié)構(gòu)如圖2所示,其由系統(tǒng)初始模塊、AV數(shù)據(jù)處理模塊、參數(shù)管理模塊、HTTP模塊、主程序模塊、串口管理模塊和SNMP模塊組成。
系統(tǒng)初始模塊功能是進(jìn)行系統(tǒng)的初始化配置,包括視頻編解碼模塊的初始化以及ADSP?BF516處理器的初始化等。AV數(shù)據(jù)處理模塊用于處理音頻、視頻數(shù)據(jù),其通過DPRAM與處理器交互,負(fù)責(zé)將從處理器發(fā)出的音視頻發(fā)往主程序模塊和HTTP模塊,或是將HTTP發(fā)來的音視頻發(fā)往處理器。參數(shù)管理模塊用于管理系統(tǒng)的參數(shù),包括配置處理器、編解碼器參數(shù)和網(wǎng)絡(luò)參數(shù)配置等。HTTP模塊用于音視頻實(shí)時(shí)播放。主程序模塊負(fù)責(zé)控制整個(gè)軟件系統(tǒng)的狀態(tài)邏輯控制等。串口管理模塊及SNMP模塊分別負(fù)責(zé)系統(tǒng)與PC機(jī)串口管理程序通信以及系統(tǒng)與PC機(jī)的SNMP托管程序通信。
2 上位機(jī)軟件設(shè)計(jì)
2.1 上位機(jī)軟件系統(tǒng)結(jié)構(gòu)
本視頻監(jiān)控上位機(jī)軟件[7?8]的結(jié)構(gòu)如圖3所示。其主要分為管理模塊、人機(jī)交互模塊以及播放器ActiveX控件三個(gè)模塊。其中,管理模塊包括網(wǎng)絡(luò)管理、參數(shù)管理、報(bào)警管理、PTZ管理和本地管理等子模塊,負(fù)責(zé)管理軟件的參數(shù)設(shè)置與配置;GUI人機(jī)交互模塊提供圖形操作界面,其分為在線升級模塊、語音對講模塊、本地回放模塊及命令收發(fā)交互模塊;ActiveX控件負(fù)責(zé)監(jiān)控視頻的播放,其具有數(shù)據(jù)接收、音視頻解碼、播放以及錄像功能。
2.2 通信方式
由圖1中可知,本系統(tǒng)中下位機(jī)與上位機(jī)的數(shù)據(jù)通信主要通過網(wǎng)絡(luò)來實(shí)現(xiàn)。網(wǎng)絡(luò)的傳輸層上主要有基于無連接的UDP協(xié)議以及基于連接的TCP協(xié)議。
UDP協(xié)議為應(yīng)用程序提供了一種新的方法來略過連接過程而直接發(fā)送封裝后的IP數(shù)據(jù)包,其不考慮流控制及錯(cuò)誤控制,并在接收到錯(cuò)誤數(shù)據(jù)段之后也不會重新傳送。UDP為軟件提供一個(gè)通信接口,對數(shù)據(jù)的處理則交給用戶進(jìn)程管理,尤其適合用于實(shí)時(shí)數(shù)字音視頻數(shù)據(jù)流的傳輸。
TCP協(xié)議是一種面向連接的且可靠的、基于字節(jié)流的傳輸層通信協(xié)議。為了保證數(shù)據(jù)傳輸?shù)目煽啃裕琓CP協(xié)議給每一個(gè)數(shù)據(jù)包編號,且數(shù)據(jù)包傳輸按照序號進(jìn)行,數(shù)據(jù)包發(fā)送后接收端實(shí)體對已成功收到的字節(jié)發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK);若發(fā)送端實(shí)體在規(guī)定的時(shí)間內(nèi)未接收到發(fā)送成功確認(rèn),則數(shù)據(jù)將被判定為傳輸失敗,數(shù)據(jù)將會被重傳,因此數(shù)據(jù)傳輸正確率較高,其適合用于參數(shù)命令的交互中。
本文結(jié)合UDP與TCP協(xié)議的特點(diǎn),分別采用UDP和TCP協(xié)議用于上位機(jī)的實(shí)時(shí)音視頻數(shù)據(jù)流傳輸及上位機(jī)與下位機(jī)服務(wù)器的參數(shù)命令交互,如圖4所示。
3 上位機(jī)軟件測試
本上位機(jī)的主頁面如圖5所示,其主要分為三部分,頁面左邊大部分為ActiveX播放器空間,其能夠支持4分屏及16分屏兩種顯示模式;頁面右邊為功能欄,包括用戶登錄模塊、本地設(shè)置模塊、參數(shù)管理模塊、PTZ操作模塊以及實(shí)時(shí)預(yù)覽/錄像回放功能。
此時(shí)主頁面處于16分屏實(shí)時(shí)預(yù)覽狀態(tài)下,其頁面如圖6(a)所示。該頁面中有16個(gè)通道,此時(shí)可從預(yù)覽頁面中觀看每一個(gè)通道的實(shí)時(shí)畫面,點(diǎn)擊其中任意一個(gè)通道,則該通道的畫面將被單獨(dú)放大至頁面中顯示,再點(diǎn)擊關(guān)閉即可回到預(yù)覽畫面。此外,點(diǎn)擊實(shí)時(shí)預(yù)覽頁面下方的功能切換按鈕,切換到手動錄像界面點(diǎn)擊錄像,即可進(jìn)行錄像功能。當(dāng)錄像完成后,點(diǎn)擊本地回放即可觀看該錄像。
點(diǎn)擊主頁面的DVS登錄按鈕即可進(jìn)入用戶登錄界面。點(diǎn)擊新建連接,輸入設(shè)備名稱、IP地址、端口和用戶名及密碼,點(diǎn)擊添加到列表即可完成新建連接。選擇DVS設(shè)備,點(diǎn)擊設(shè)為預(yù)設(shè)連接,即可完成設(shè)備與通道的關(guān)聯(lián)。點(diǎn)擊參數(shù)管理按鈕,選擇已登錄的DVS設(shè)備,即可對該設(shè)備的參數(shù)進(jìn)行設(shè)置,選擇視頻參數(shù)管理,可調(diào)節(jié)視頻的色度、亮度、飽和度、對比度以及OSD透明度等。點(diǎn)擊PTZ按鈕,即可進(jìn)入PTZ操作界面,見圖7。
通過PTZ操作界面,可對系統(tǒng)的串口類型與波特率進(jìn)行設(shè)置。點(diǎn)擊PTZ操作頁面中間的云臺控制,即可對云臺進(jìn)行操作,如圖7(a)所示,通過點(diǎn)擊方向按鈕可控制云臺的轉(zhuǎn)動,進(jìn)而改變攝像頭的轉(zhuǎn)向,從而更換監(jiān)控方向。同時(shí),可對攝像頭的聚焦、光圈等進(jìn)行設(shè)置。點(diǎn)擊快球設(shè)置,其頁面如圖7(b)所示,可設(shè)置預(yù)設(shè)掃描點(diǎn)及掃面方式。同時(shí),可使用串口通信方式,并可設(shè)置串口的波特率、數(shù)據(jù)位和停止位等,如圖7(c)所示。經(jīng)多次測試結(jié)果表明,本上位機(jī)軟件運(yùn)行穩(wěn)定,各項(xiàng)功能均可得到正確的響應(yīng),且達(dá)到了設(shè)計(jì)要求。
4 結(jié) 語
監(jiān)控系統(tǒng)能夠提供實(shí)時(shí)監(jiān)控畫面顯示以及錄像回播功能,在家庭及公共場所防盜安防上均具有廣泛的應(yīng)用。為了實(shí)現(xiàn)復(fù)雜大型網(wǎng)絡(luò)監(jiān)控系統(tǒng)的操作管理,本文開發(fā)了一種視頻監(jiān)控上位機(jī)軟件,采用Delphi來開發(fā)上位機(jī)的圖形用戶界面,并采用C#編程語言在Visual Studio 2013開發(fā)套件上完成播放器ActiveX控件的開發(fā),上位機(jī)與下位機(jī)的數(shù)據(jù)通信則通過UDP以及TCP/IP協(xié)議來完成。其中,通過Socket套接字來為TCP/IP協(xié)議提供應(yīng)用開發(fā)接口,實(shí)現(xiàn)連接、登錄驗(yàn)證、參數(shù)交互及命令交互等功能,完成對下位機(jī)服務(wù)器的調(diào)度與管理。測試結(jié)果表明,本上位機(jī)軟件運(yùn)行穩(wěn)定,各項(xiàng)功能均可得到正確響應(yīng),同時(shí)也符合設(shè)計(jì)要求。
參考文獻(xiàn)
[1] 潘國輝.智能網(wǎng)絡(luò)視頻監(jiān)控技術(shù)詳解與實(shí)踐[M].北京:清華大學(xué)出版社,2010.
[2] 信師國,劉慶磊,劉全賓.網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)現(xiàn)狀和發(fā)展趨勢[J].信息技術(shù)與信息化,2010(1):23?25.
[3] 李燕.視頻監(jiān)控技術(shù)應(yīng)用現(xiàn)狀與未來發(fā)展趨勢[C]//中國通信學(xué)會信息通信網(wǎng)絡(luò)技術(shù)委員會2009年年會論文集.北京:中國通信學(xué)會信息通信網(wǎng)絡(luò)技術(shù)委員會,2009:59?60.
[4] 李文.基于ARM和Linux的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究[D].武漢:武漢科技大學(xué),2011.
[5] 毛曉磊.基于DSP的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的研究[D].武漢:武漢理工大學(xué),2008.
[6] 劉俊才.基于DSP的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)軟件研究[D].武漢:華中科技大學(xué),2007.
[7] 陳曉偉.基于Web網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2014.
[8] 任???基于無線網(wǎng)絡(luò)通信的視頻監(jiān)控系統(tǒng)終端數(shù)據(jù)業(yè)務(wù)軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2013.