《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于3G網(wǎng)絡(luò)的遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)
基于3G網(wǎng)絡(luò)的遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)
來源:電子技術(shù)應(yīng)用2011年第1期
王 銘, 倪 平, 王 冬, 李道德
(四川大學(xué) 電氣信息學(xué)院, 四川 成都 610064)
摘要: 利用3G網(wǎng)絡(luò)實(shí)現(xiàn)了同時對多個分散的遠(yuǎn)程地點(diǎn)的綜合監(jiān)控。系統(tǒng)通過3G網(wǎng)絡(luò)建立客戶端與服務(wù)端之間的通信連接,利用Microsoft的關(guān)于數(shù)字視頻的軟件開發(fā)包VFW提供的視頻采集、回放等API接口實(shí)現(xiàn)視頻的采集,經(jīng)H.264編碼壓縮后進(jìn)行傳輸。服務(wù)端PC通過COMM控件收集監(jiān)控終端數(shù)據(jù),控制數(shù)據(jù)由TCP協(xié)議傳輸,視頻數(shù)據(jù)由RTP協(xié)議傳輸??蛻魴C(jī)端接收到圖像后通過雙線性內(nèi)插算法對圖像進(jìn)行呈現(xiàn),并實(shí)時顯示被監(jiān)測環(huán)境數(shù)據(jù),達(dá)到遠(yuǎn)程無線監(jiān)控的目的。
中圖分類號: TP393.02
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)01-0114-03
Remote wireless integrated monitoring system based on 3G
Wang Ming, Ni Ping, Wang Dong, Li Daode
School of Electrical Engineering and Information, Sichuan University, Chengdu 610064, China
Abstract: Using 3G to realize the connection of client PC and server PC, the system can monitor multiple scattered remote locations simultaneously. It uses Microsoft launched on digital video software development kit VFW, available through the VFW video capture, playback and other API interface to collect image information that then compressed by H.264. The server PC collects monitoring terminal’s data by COMM control. Controlled data transmit by the TCP protocol, video data transmitted by the RTP protocol. After receiving the image, the client PC presents the image by bilinear interpolation algorithm, and real-time display the environmental data to be detected, to the remote wireless smart monitor purposes.
Key words : 3G; VFW; H.264; remote monitoring; wireless video transmission


    現(xiàn)有的遠(yuǎn)程監(jiān)控系統(tǒng)在實(shí)現(xiàn)原理上大致分為兩類,一類為基于傳統(tǒng)Internet的有線式遠(yuǎn)程監(jiān)控系統(tǒng),另一類為基于GSM等無線移動網(wǎng)絡(luò)的監(jiān)控系統(tǒng)[1],后者在工程造價、產(chǎn)品維護(hù)和市場前景上有絕對的優(yōu)勢。但現(xiàn)有的無線監(jiān)控設(shè)備功能相對單一。隨著3G" title="3G" target="_blank">3G等高速無線網(wǎng)絡(luò)的普及,基于無線網(wǎng)絡(luò)的綜合監(jiān)控系統(tǒng)將成為新的研究熱點(diǎn)。“遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)”正是利用了無線網(wǎng)絡(luò),實(shí)現(xiàn)對多個分散的遠(yuǎn)程地點(diǎn)的綜合監(jiān)控,如視頻、溫度、電氣設(shè)備使用情況等。還可以根據(jù)需要增加如濕度監(jiān)測等其他監(jiān)測。由于其具有良好的適應(yīng)性以及相對低廉的價格,易于進(jìn)行推廣,有廣闊的市場前景。
1 系統(tǒng)整體設(shè)計(jì)
    本系統(tǒng)采用兩臺計(jì)算機(jī)分別作為客戶機(jī)和服務(wù)機(jī),服務(wù)端由服務(wù)機(jī)及以單片機(jī)為中心的各個控制模塊組成,包括攝像頭采集圖像模塊、云臺控制模塊、無線發(fā)送和接收模塊及現(xiàn)場監(jiān)控模塊?,F(xiàn)場監(jiān)控模塊具有溫度采集、人體紅外檢測、電氣設(shè)備通斷控制和聲光報警功能?,F(xiàn)場監(jiān)控模塊與服務(wù)機(jī)之間通過無線傳輸模塊進(jìn)行數(shù)據(jù)傳輸,使現(xiàn)場監(jiān)控模塊不受服務(wù)機(jī)位置的限制,而且可為多個,分別監(jiān)控不同地點(diǎn)的數(shù)據(jù)。服務(wù)機(jī)接收到圖像信息、溫度和紅外等數(shù)據(jù)后,將其壓縮打包,通過3G網(wǎng)絡(luò)發(fā)送給客戶機(jī)??蛻魴C(jī)接收到圖像后通過雙線性內(nèi)插算法對圖像進(jìn)行呈現(xiàn),并實(shí)時顯示被檢測環(huán)境數(shù)據(jù),如繪制現(xiàn)場溫度曲線、電氣通斷狀態(tài)、有人進(jìn)入時報警等,而且能遠(yuǎn)程控制現(xiàn)場電氣的狀態(tài)。系統(tǒng)整體框圖如圖1所示。

2 服務(wù)機(jī)編程實(shí)現(xiàn)
2.1 MFC程序構(gòu)架

    遠(yuǎn)程控制端MFC程序框架如圖2所示。

2.2現(xiàn)場采集端程序構(gòu)架的實(shí)現(xiàn)
    圖像采集使用數(shù)字視頻軟件開發(fā)包VFW(Video for Windows)提供的圖像采集接口函數(shù):
    m_capwnd=capCreateCaptureWindow("Capture",WS_CHILD|
S_VISIBLE,x,y,WIDTH,HEIGHT,pDlg->GetSafeHwnd(  ), 0);
    為了實(shí)現(xiàn)圖像的實(shí)時傳輸,必須減少發(fā)送圖像的冗余信息,本系統(tǒng)的圖像編碼和壓縮使用H.264編碼圖像[2],遠(yuǎn)程監(jiān)控端通過注冊回調(diào)函數(shù),在采集到一幀圖像后調(diào)用回調(diào)函數(shù),在回調(diào)函數(shù)中調(diào)用圖像壓縮函數(shù)進(jìn)行圖像的編碼壓縮。
3 客戶機(jī)編程實(shí)現(xiàn)
3.1 MFC程序構(gòu)架

    客戶機(jī)端MFC程序構(gòu)架如圖3所示。

3.2 客戶機(jī)程序構(gòu)架的實(shí)現(xiàn)
 客戶機(jī)端接收到的圖像數(shù)據(jù)必須經(jīng)過解碼才能進(jìn)行預(yù)覽,系統(tǒng)的解碼器實(shí)現(xiàn)函數(shù)如下:
    bool VideoCodec::EncodeVideoData(char* pin, int inlen, char*pout,long*outlen,BOOL*pKey)   //配置解碼器參數(shù)
    系統(tǒng)采集的圖像分辨率為176×144,圖像的尺寸很小。為了能更好地預(yù)覽圖像,系統(tǒng)采用了雙線性內(nèi)插值算法[3]來放大圖像。算法描述如下:
    對于一個目的像素,設(shè)置通過反向變換得到的浮點(diǎn)坐標(biāo)為(i+u,j+v)。其中,i、j均為浮點(diǎn)坐標(biāo)的整數(shù)部分,u、v為浮點(diǎn)坐標(biāo)的小數(shù)部分,為取值[0,1)區(qū)間的浮點(diǎn)數(shù)。則這個像素值f(i+u,j+v)可由原圖像中坐標(biāo)為(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所對應(yīng)的周圍4個像素的值決定,即:
    f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)
其中,f(i,j)表示源圖像(i,j)處的像素值,以此類推。雙線性內(nèi)插值算法的計(jì)算量大,但是比最鄰近插值法[4]放大的圖像好,不會出現(xiàn)像素不連續(xù)的情況。
4 傳輸協(xié)議的選擇
4.1視頻數(shù)據(jù)傳輸協(xié)議

    視頻監(jiān)控系統(tǒng)處理后的圖像需要通過網(wǎng)絡(luò)進(jìn)行傳輸。由于數(shù)字視頻傳輸?shù)男畔⒘看蠖鴤鬏攷捰邢?,使得網(wǎng)絡(luò)協(xié)議的選擇成為視頻在網(wǎng)絡(luò)傳輸中的關(guān)鍵技術(shù),它將直接影響到數(shù)字視頻傳輸?shù)膶?shí)時性能和通過網(wǎng)絡(luò)傳輸以后客戶端接收的視頻圖像質(zhì)量。由于TCP協(xié)議具有錯誤重傳機(jī)制、擁塞控制機(jī)制、報文頭比較大以及啟動需要建立連接等特性,因此無法保證實(shí)時性,很難適應(yīng)視頻通信[5]。而實(shí)時傳輸協(xié)議RTP由底層協(xié)議UDP承載[6],由二者共同完成傳輸層協(xié)議功能。而UDP協(xié)議只是傳輸數(shù)據(jù)包,不管數(shù)據(jù)包傳輸?shù)臅r間順序,RTP協(xié)議則提供時間標(biāo)簽、序列號以及用于控制適時數(shù)據(jù)的流放的其他結(jié)構(gòu)。UDP的多路復(fù)用可使RTP協(xié)議利用支持顯式的多點(diǎn)投遞,可以滿足多媒體會話的需求。
    RTP相關(guān)設(shè)置函數(shù):
     m_sessparams.SetOwnTimestampUnit(1.0/10.0);
//設(shè)置時間同步
    m_sessparams.SetUsePollThread(1);         
                                     //開啟Poll線程
    m_sessparams.SetMaximumPacketSize(64*1024-1);
                                    //設(shè)置最大包大小
     m_transparams.SetPortbase(REMOT_PORT_VIDEO);
   //本地端口
     var=m_sess.Create(m_sessparams,&m_transparams);
//創(chuàng)建會話
4.2環(huán)境監(jiān)測數(shù)據(jù)及客戶控制數(shù)據(jù)傳輸協(xié)議
    TCP協(xié)議提供了可靠的傳輸服務(wù),包括報文序列、流控制、差錯檢驗(yàn)、優(yōu)先級等。因無線采集端送到服務(wù)器端的數(shù)據(jù)量很小(大約12 B/s),在傳輸過程中監(jiān)控數(shù)據(jù)不容許有丟包、誤碼等錯誤的發(fā)生,因此采用TCP作為監(jiān)測數(shù)據(jù)及控制命令數(shù)據(jù)的傳輸協(xié)議,以保證傳輸過程中數(shù)據(jù)的可靠性。
    TCP相關(guān)設(shè)置函數(shù):
    m_CtrlSocket.TcpSocketInit(LOCAL_PORT_CONTROL,0,0,
    s_add);    //TCP初始化
    m_CtrlSocket.SetTimeOut(5); //設(shè)置連接超時時間
    LRESULT CClientDlg::OnComSocket(WPARAM wParam,
    LPARAM lParam);   //事件通知函數(shù)
5 實(shí)驗(yàn)結(jié)果及分析
    當(dāng)監(jiān)控系統(tǒng)獨(dú)占網(wǎng)絡(luò)運(yùn)行時,通過網(wǎng)絡(luò)數(shù)據(jù)抓包,根據(jù)數(shù)據(jù)包端口分析的視頻數(shù)據(jù)每秒可達(dá)到30幀(每6幀一個關(guān)鍵幀),接收端圖像大小為640×480,網(wǎng)絡(luò)流量約為30 KB/s,如圖4所示,而如圖5所示的有線傳輸時流量約為35 KB/s。其原因是服務(wù)端上行速率遠(yuǎn)遠(yuǎn)小于下行速率,表現(xiàn)在宏觀上,當(dāng)用3G傳輸時較有線傳輸有約3 s的延遲。通過分析VC++輸出,可知現(xiàn)場環(huán)境數(shù)據(jù)大約為每秒接收6個數(shù)據(jù)包(采集端1和采集端2各3個數(shù)據(jù)包),流量約為12 B/s。

    通過分析以上實(shí)驗(yàn)數(shù)據(jù)可知,系統(tǒng)數(shù)據(jù)流量基本能適應(yīng)3G網(wǎng)絡(luò)的帶寬,系統(tǒng)也基本實(shí)現(xiàn)了視頻傳輸?shù)目焖傩浴?shí)時性,而控制數(shù)據(jù)和監(jiān)控端采集的數(shù)據(jù)包均無丟失,從而實(shí)現(xiàn)了監(jiān)測與控制的可靠性,系統(tǒng)運(yùn)行效果良好。
    遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)將會在眾多領(lǐng)域中得到應(yīng)用,例如無人車間、電站以及需要測量實(shí)時數(shù)據(jù)但不便于鋪設(shè)線纜的場所。本系統(tǒng)采用的是采集端與服務(wù)器分離的結(jié)構(gòu),通過無線模塊實(shí)現(xiàn)數(shù)據(jù)的傳輸,在空間上打破了利用電纜傳輸數(shù)據(jù)的局限性,所有的數(shù)據(jù)均經(jīng)過特定的編碼,編碼范圍為0~255。用戶可以根據(jù)自己的需要配上合適的編碼即可實(shí)現(xiàn)多點(diǎn)監(jiān)控,具有良好的可擴(kuò)展性。如果應(yīng)用于工業(yè)生產(chǎn),系統(tǒng)中的客戶機(jī)和服務(wù)機(jī)均可由工控機(jī)代替,數(shù)據(jù)采集端為簡單的單片機(jī)系統(tǒng),用戶在具備客戶機(jī)與服務(wù)器的情況下若要增加監(jiān)控端,僅需要增加數(shù)據(jù)采集端即可,價格非常低。另外,伴隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)帶寬會有更大的提高,而基于3G網(wǎng)絡(luò)的無線智能綜合監(jiān)控系統(tǒng)可以利用網(wǎng)絡(luò)的快速性,更好地滿足人們的需求,實(shí)現(xiàn)實(shí)時、快速、準(zhǔn)確。因此,在未來幾年里,無線綜合監(jiān)控系統(tǒng)將會有極大的推廣價值。

參考文獻(xiàn)
[1] CHAVEZ J L. A remote irrigation monitoring and  control system for continuous move systems. Part
 A: description and development[J]. Precision Agriculture,2010,11(1):1-10.
[2] 斯文克.Visual C++ MFC編程實(shí)例[M].北京:機(jī)械工業(yè)出版社,2000.
[3] WANG J X. On parallelizing H.264/AVC rate-distortion optimization baseline profile encoder[J].
 Jorunal of Information Science and Engineering, 2000,26(2):409-426.
[4] 馮永明, 楊東勇, 盧瑾.全方位圖像展開的雙線性內(nèi)插值法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44
(15):54-55,78
[5]  劉麗君,駱婷.插值法在圖像處理中的應(yīng)用[J]. 電子科學(xué),2009,15:9-10.
[6]  孫桂斌.基于TCP/IP協(xié)議多客戶連接的服務(wù)端程序?qū)?現(xiàn)[J].網(wǎng)絡(luò)與通信,2009,29(7):83-85.
[7]    SEO K D. A practical RTP packetization scheme for SVC     video transport over IP networks[J].Etri Journal, 2010,32(2):281-291.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。