基于GPRS的無(wú)線視頻監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
目前,遠(yuǎn)程視頻監(jiān)控系統(tǒng)已經(jīng)廣泛應(yīng)用于工礦企業(yè)生產(chǎn)現(xiàn)場(chǎng)監(jiān)控、電信機(jī)房監(jiān)控、城市交通管理等領(lǐng)域。常見(jiàn)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)大多是通過(guò)架設(shè)專用的有線媒介,或者租用電信運(yùn)營(yíng)商的通信線路傳輸視頻信號(hào)。前者工程工期長(zhǎng),前期投入比較大,傳輸距離有限;后者受周邊環(huán)境影響較大,可擴(kuò)展性較差,這就造成在礦山等偏遠(yuǎn)地區(qū)和地形復(fù)雜地區(qū)的應(yīng)用受到限制。
隨著移動(dòng)通信技術(shù)的發(fā)展,無(wú)線數(shù)據(jù)傳輸?shù)乃俣扔辛撕艽筇岣?。為了能夠向GSM用戶提供分組形式的數(shù)據(jù)業(yè)務(wù),移動(dòng)公司利用現(xiàn)有的GSM網(wǎng)絡(luò)的絕大部分基礎(chǔ)設(shè)施,進(jìn)行軟件的升級(jí),形成了一種新的網(wǎng)絡(luò)邏輯實(shí)體——通用分組無(wú)線業(yè)務(wù)(GeneralPacket Radio Service,GPRS)。中國(guó)移動(dòng)GPRS網(wǎng)絡(luò)覆蓋率廣,具有基于IP、實(shí)時(shí)在線、按流量計(jì)費(fèi)、方便、性價(jià)比高等優(yōu)點(diǎn)。通過(guò)GPRS網(wǎng)絡(luò)傳送用H.263等低比特圖像壓縮標(biāo)準(zhǔn)壓縮的視頻數(shù)據(jù)已成為遠(yuǎn)程視頻實(shí)時(shí)監(jiān)控系統(tǒng)的新選擇。本文介紹一種基于GPRS網(wǎng)絡(luò)的無(wú)線視頻監(jiān)控系統(tǒng),該系統(tǒng)可以在不適合架設(shè)有線網(wǎng)絡(luò)的特殊地理環(huán)境下,利用現(xiàn)有的中國(guó)移動(dòng)GPRS網(wǎng)絡(luò)和Internet代替?zhèn)鹘y(tǒng)的有線視頻監(jiān)控系統(tǒng)對(duì)遠(yuǎn)程目標(biāo)進(jìn)行視頻監(jiān)控。系統(tǒng)中采用嵌入式控制模塊I-7188作為監(jiān)控終端的主控制器。
2 系統(tǒng)結(jié)構(gòu)
GPRS是一種新型的GSM數(shù)據(jù)業(yè)務(wù),可在用戶和數(shù)據(jù)網(wǎng)絡(luò)之間提供一種連接,給移動(dòng)用戶提供高速無(wú)線IP和X.25分組數(shù)據(jù)接入服務(wù)。GPRS采用分組交換技術(shù),多個(gè)用戶可共享某些固定的信道資源,免受上網(wǎng)斷線之苦。GPRS數(shù)據(jù)傳送速率理論上最高可達(dá)164 kb/s。雖然目前只支持53.3 kb/s的峰值傳輸速率,但是由于H.263等低比特圖像壓縮標(biāo)準(zhǔn)能以低于28.8 kb/s的碼率對(duì)單幀或者活動(dòng)幀視頻進(jìn)行壓縮解壓縮,因此,通過(guò)GPRS網(wǎng)絡(luò)傳送已壓縮的視頻信號(hào)是完全可行的。
整個(gè)無(wú)線視頻監(jiān)控系統(tǒng)分為現(xiàn)場(chǎng)視頻采集站點(diǎn)、GPRS網(wǎng)絡(luò)及遠(yuǎn)程視頻服務(wù)器3部分,如圖1所示?,F(xiàn)場(chǎng)視頻采集站點(diǎn)與遠(yuǎn)程視頻服務(wù)器之間通過(guò)GPRS網(wǎng)絡(luò)建立TCP連接,傳送視頻編碼和控制指令。現(xiàn)場(chǎng)視頻采集站點(diǎn)作為TCP連接的客戶端,遠(yuǎn)程視頻服務(wù)器作為TCP連接的服務(wù)端?,F(xiàn)場(chǎng)視頻采集站點(diǎn)在上電后自動(dòng)尋找遠(yuǎn)程視頻服務(wù)器。而遠(yuǎn)程視頻服務(wù)器在與現(xiàn)場(chǎng)視頻采集站點(diǎn)建立TCP連接后,通過(guò)發(fā)送指令遠(yuǎn)程控制視頻采集的開(kāi)始、結(jié)束以及是采用單幀采集還是連續(xù)幀采集。
2.1 現(xiàn)場(chǎng)視頻采集站點(diǎn)
現(xiàn)場(chǎng)視頻采集站點(diǎn)包括攝像頭、云臺(tái)、視頻采集卡、I-7188嵌入式控制模塊、GPRS Modem 5個(gè)模塊,如圖1所示。其中,攝像頭可根據(jù)客戶要求的清晰度、彩色/黑白、可控性等選擇合適的型號(hào),還可以增加云臺(tái)來(lái)控制攝像頭的動(dòng)作。攝像頭輸出視頻的制式要符合視頻采集卡的要求。視頻采集卡可以選擇市面上符合H.263協(xié)議的視頻采集卡成品,也可以根據(jù)需求,采用FPGA、DSP以及專用視頻采集器件來(lái)實(shí)現(xiàn)。本系統(tǒng)設(shè)計(jì)選用北京百目公司生產(chǎn)的視頻編碼板-極目719EC。
2.1.1 極目719EC視頻編碼板
圖像監(jiān)控系統(tǒng)的設(shè)計(jì)重點(diǎn)之一是圖像編解碼。雖然GPRS網(wǎng)絡(luò)的性能相對(duì)于GSM網(wǎng)絡(luò)有了很大的提升。但是仍然無(wú)法滿足動(dòng)態(tài)圖像傳輸?shù)乃俣纫?,因此,本系統(tǒng)采用北京百目公司自行研發(fā)的專有視頻序列壓縮算法CAMEC傳輸靜態(tài)圖像,并對(duì)圖像的編解碼步驟進(jìn)行適當(dāng)取舍。
CAMEC算法在保證一定性能的前提下具有計(jì)算量小的特點(diǎn),可有效降低系統(tǒng)功耗和成本。極目系列產(chǎn)品全部采用CAMEC算法,已在實(shí)際應(yīng)用中得到了各行業(yè)用戶的肯定與好評(píng)。極目719EC編碼板既可以輸出采用幀內(nèi)視頻壓縮方式生成的單幀編碼,也可以輸出基于幀間預(yù)測(cè)壓縮方式生成的幀序列編碼碼流。一般單幀編碼比較適用于照片存儲(chǔ)類應(yīng)用,而幀序列編碼方式則適合傳輸類應(yīng)用。另外,該視頻壓縮卡支持H.263圖像壓縮標(biāo)準(zhǔn)和CIF/QCIF格式,壓縮幀率為1~25幀每秒,可調(diào)。
極目719EC編碼板的主要功能是對(duì)輸入的模擬視頻信號(hào)進(jìn)行量化、壓縮、編碼等處理,然后通過(guò)一個(gè)RS232串行數(shù)據(jù)口將壓縮編碼碼流輸出給主機(jī)設(shè)備。主機(jī)設(shè)備利用極目719EC的視頻壓縮編碼板實(shí)現(xiàn)視頻傳送、視頻存儲(chǔ)等功能。
2.1.2 GPRS Modem網(wǎng)絡(luò)部分命令的應(yīng)用
GPRS Modem內(nèi)嵌了TCP/IP協(xié)議棧,可進(jìn)行透明的數(shù)據(jù)傳輸。I-7188通過(guò)COM1口使用標(biāo)準(zhǔn)AT命令對(duì)GPRS Modem進(jìn)行操作。GPRS Modem網(wǎng)絡(luò)相關(guān)的部分指令如下:
2.1.3 視頻采集站點(diǎn)的工作原理
首先,視頻采集卡與控制器I-7188的COM3口相連,對(duì)輸入的模擬視頻信號(hào)進(jìn)行量化、壓縮、編碼等處理。然后,通過(guò)COM3將壓縮編碼碼流輸出給控制器I-7188。I-7188的COM1口與GPRS Modem相連,I-7188通過(guò)COM1根據(jù)網(wǎng)絡(luò)情況把輸入的編碼打包傳送給GPRS Modem。GPRS Modem上電后自動(dòng)依附到GPRS網(wǎng)絡(luò)上,進(jìn)入命令模式。
2.2 遠(yuǎn)程視頻服務(wù)器
如圖1所示,監(jiān)控視頻服務(wù)器端由Internet網(wǎng)絡(luò)接入點(diǎn)、視頻服務(wù)器和監(jiān)控軟件組成。監(jiān)控軟件采用面向?qū)ο蟮姆椒?,由Visual C++6.0編程實(shí)現(xiàn)。應(yīng)用程序除了主線程外,還為每一個(gè)已建立的TCP連接增加了一個(gè)解碼線,使得程序在同一時(shí)間可以對(duì)多個(gè)監(jiān)控終端進(jìn)行監(jiān)控。監(jiān)控終端的身份識(shí)別、視頻的控制(包括監(jiān)控點(diǎn)圖像切換、云臺(tái)控制和攝像機(jī)鏡頭控制)統(tǒng)一由監(jiān)控軟件管理。
2.2.1 TCP的連接實(shí)現(xiàn)
對(duì)于計(jì)算機(jī)用戶來(lái)說(shuō),實(shí)現(xiàn)撥號(hào)接入Internet是件很容易的事,因?yàn)樵赑C上有非常成熟的軟件能夠輕松實(shí)現(xiàn)PPP和TCP/IP協(xié)議。但是對(duì)于采用嵌入式設(shè)備的終端尤其是單片機(jī)來(lái)說(shuō),由于硬件資源的制約和協(xié)議的復(fù)雜繁瑣,實(shí)現(xiàn)起來(lái)比較困難。
程序TCP連接是在Windows套接字(Winsock)的基礎(chǔ)上開(kāi)發(fā)的。Winsock是Windows系統(tǒng)TCP/IP編程的通用接口。MFC類庫(kù)中的CAsyncSocket類和CSocket類為開(kāi)發(fā)Windows Socket通信程序提供了面向?qū)ο蟮木幊探涌?。在?shí)際應(yīng)用中,通常是以它們?yōu)榛惻缮鯯ocket對(duì)象完成網(wǎng)絡(luò)通信的。系統(tǒng)中遠(yuǎn)程視頻采集站點(diǎn)和服務(wù)器之間需要建立TCP連接,所以Socket采用流式套接字。
服務(wù)器程序中用到了兩個(gè)Socket類:CLis-tenSocket類和CAcceptSocket類。它們都是以Public方式繼承CSocket類生成的。CLiSTenSocket類為偵聽(tīng)套接字類,只注冊(cè)FD_ACCEPT事件,主要負(fù)責(zé)維護(hù)為客戶連接服務(wù)的數(shù)據(jù)套接字。CAccept-Socket類為數(shù)據(jù)套接字類,主要負(fù)責(zé)和視頻采集站點(diǎn)的通信工作。CAceeptSocket類是由CListenSocket類接受視頻采集站點(diǎn)的連接請(qǐng)求而建立的。在建立的同時(shí)開(kāi)始一個(gè)視頻解碼線程,對(duì)傳輸過(guò)來(lái)的視頻編碼進(jìn)行解碼。同時(shí)根據(jù)傳遞過(guò)來(lái)的視頻信息發(fā)送遠(yuǎn)程視頻采集站點(diǎn)控制指令,以調(diào)整視頻采集站點(diǎn)的動(dòng)作。TCP連接的工作流程如圖2所示。
2.2.2 GPRS遠(yuǎn)程傳輸方式
系統(tǒng)通過(guò)GPRS網(wǎng)絡(luò)建立TCP連接有兩種方式:一種是監(jiān)控終端通過(guò)GPRS Modem與GSM基站通信,GPRS分組數(shù)據(jù)包通過(guò)內(nèi)部網(wǎng)關(guān)節(jié)點(diǎn)后,轉(zhuǎn)換為可在Internet中傳送的格式,傳送給視頻服務(wù)器。另一種是現(xiàn)場(chǎng)視頻采集站點(diǎn)GPRS Modem通過(guò)GPRS網(wǎng)絡(luò)直接與監(jiān)控服務(wù)器端的GPRS Modem進(jìn)行點(diǎn)對(duì)點(diǎn)通訊,然后通過(guò)串口將數(shù)據(jù)發(fā)送至視頻服務(wù)器。
相比較而言,第二種方法是在GPRS網(wǎng)絡(luò)內(nèi)部進(jìn)行數(shù)據(jù)傳輸,所以傳輸速率和可靠性比第一種方法要好,但通信和設(shè)備費(fèi)要高一些。視頻服務(wù)器端同一時(shí)刻只接受一個(gè)現(xiàn)場(chǎng)視頻采集站點(diǎn)的連接請(qǐng)求,適用于移動(dòng)辦公視頻監(jiān)控。
推薦采用第一種方法。遠(yuǎn)程視頻服務(wù)器端接人Internet,并擁有一個(gè)固定的實(shí)IP地址,現(xiàn)場(chǎng)視頻采集站點(diǎn)設(shè)定在上電后自動(dòng)請(qǐng)求與這一IP地址建立連接。視頻服務(wù)器端作為TCP Server,可以有選擇地接受現(xiàn)場(chǎng)視頻采集站點(diǎn)的連接請(qǐng)求,并給每一個(gè)已連接的現(xiàn)場(chǎng)視頻采集站點(diǎn)分配一個(gè)接收視頻編碼和解碼的線程,可以同時(shí)監(jiān)控多個(gè)站點(diǎn)。這種方法適用于大范圍、多站點(diǎn)的視頻監(jiān)控。
3 I-7188在無(wú)線監(jiān)控中的嵌入式應(yīng)用
嵌入式控制模塊在現(xiàn)場(chǎng)視頻采集站點(diǎn)中的作用非常關(guān)鍵。現(xiàn)場(chǎng)系統(tǒng)的初始化、系統(tǒng)當(dāng)前狀態(tài)的檢測(cè)、編碼數(shù)據(jù)打包發(fā)送、解釋服務(wù)器發(fā)布的控制指令、向GPRS Modem發(fā)送AT指令、與遠(yuǎn)程服務(wù)器建立TCP連接等操作都是由嵌入式控制模塊完成。本系統(tǒng)設(shè)計(jì)采用I-7188作為監(jiān)控終端的主控制器。
3.1 I-7188的結(jié)構(gòu)與性能
I-7188系列控制器是由臺(tái)灣泓格公司生產(chǎn)的嵌入式控制器,適用于高可靠性、PC兼容、緊湊而價(jià)格合理的嵌入式系統(tǒng),常用于數(shù)據(jù)采集與控制領(lǐng)域。其內(nèi)部結(jié)構(gòu)圖如圖3所示。
I-7188系列控制器采用美國(guó)AMD公司80188內(nèi)核,主頻為40 MHz。I-7188模塊含有256 KB/512 KB靜態(tài)RAM以及256 KB(可擴(kuò)充至512 KB)的Flash-ROM,這種ROM體積小、功耗低、訪問(wèn)速度快、抗震和抗沖擊能力強(qiáng),具有非易失性,可廣泛應(yīng)用于嵌入式設(shè)備。I-7188不僅含有Flash-ROM,而且還含有2 KB的E2PROM。因?yàn)榭紤]到現(xiàn)場(chǎng)的要求不同,F(xiàn)lash-ROM是整塊刪除數(shù)據(jù)的,一次性可刪除64 KB,對(duì)于不足1 KB的小文件,I-7188增加2 KB的E2PROM。然而E2PROM和Flash-ROM的擦除次數(shù)是有限的(如E2PROM不超過(guò)1 000 000次)。而現(xiàn)場(chǎng)系統(tǒng)需經(jīng)常讀寫數(shù)據(jù),F(xiàn)lash-ROM、E2PROM就不能滿足這一要求,所以此模塊提供了31 bit的NVRAM,可反復(fù)擦除、讀寫。設(shè)計(jì)者考慮到不同數(shù)據(jù)的應(yīng)用需求提供了不同功能的存儲(chǔ)器,大應(yīng)用文件、操作系統(tǒng)、BIOS等存儲(chǔ)在Flash-ROM中,而小文件則存儲(chǔ)在E2PROM中,更改比較方便,對(duì)于頻繁擦除、讀寫的數(shù)據(jù)可用NVRAM。
I-7188不僅有強(qiáng)大的運(yùn)算和存儲(chǔ)功能,而且還具有強(qiáng)大的通信功能,它可提供4個(gè)串口:COM1(RS-232或RS-485),可做普通9線或3線RS-232串行接口,如與普通PC通信或其他RS-232設(shè)備通信,還可以接MODEM實(shí)現(xiàn)遠(yuǎn)程通信;也可以做2線的RS-485串行接口,通過(guò)RS-485網(wǎng)絡(luò)與其他RS-485設(shè)備通信。COM2(帶3 000 V隔離RS-485)。COM3(RS-232);COM4(RS-232),I-7188的程序通過(guò)COM4載人Flash-ROM或E2PROM,程序調(diào)試也通過(guò)COM4。
I-7188的每個(gè)COM口都能達(dá)到115.2 kbit/s的高速。且每個(gè)COM口都有1 KB的緩沖。對(duì)于高速傳來(lái)的數(shù)據(jù),緩沖區(qū)可使I-7188來(lái)得及對(duì)數(shù)據(jù)進(jìn)行處理而不造成數(shù)據(jù)丟失。
I-7188的操作系統(tǒng)采用泓格自己開(kāi)發(fā)的嵌入操作系統(tǒng)MiniOS7。MiniOS7與DOS操作系統(tǒng)相兼容,與常規(guī)的DOS相比,MiniOS7更適合嵌入式應(yīng)用,如:更短的上電啟動(dòng)時(shí)間(小于0.1 s)、內(nèi)置硬件診斷功能、直接支持內(nèi)置或活動(dòng)的存儲(chǔ)設(shè)備等。
I-7188含有實(shí)時(shí)時(shí)鐘,能設(shè)定時(shí)間,支持1980~2079年,沒(méi)有2000年問(wèn)題。I-7188含有看門狗電路,接通電源,看門狗工作且每隔1.6 s偵測(cè)一次,如I-7188無(wú)應(yīng)答,I-7188復(fù)位,適用于無(wú)人值守及關(guān)鍵應(yīng)用場(chǎng)合。
I-7188可以工作在-25℃至75℃的極限溫度范圍內(nèi),功耗為2 W~3 W,工作電源為工業(yè)現(xiàn)場(chǎng)常見(jiàn)的+10 VDC~+30 VDC直流電源,它支持電源反接保護(hù),非常適合工業(yè)現(xiàn)場(chǎng)惡劣的環(huán)境。
軟件則用標(biāo)準(zhǔn)C語(yǔ)言,即用戶只需要使用標(biāo)準(zhǔn)C語(yǔ)言編寫程序,然后利用泓格公司提供的工具下載至I-7188中運(yùn)行即可。除了可以使用C語(yǔ)言標(biāo)準(zhǔn)函數(shù)庫(kù)以外,泓格公司還提供豐富的C函數(shù)庫(kù),包括:串口操作相關(guān)函數(shù)、Flash文件系統(tǒng)讀寫函數(shù)、Flash讀寫擦除有關(guān)的函數(shù)、E2PROM讀寫相關(guān)函數(shù)、定時(shí)器和看門狗相關(guān)函數(shù)等。用戶可以很方便地開(kāi)發(fā)出一個(gè)具有串口通訊的嵌入式控制系統(tǒng)。
3.2 I-7188的軟件設(shè)計(jì)
嵌入式控制器I-7188內(nèi)部流程如圖4所示。在建立TCP連接的情況下,I-7188將不停地查詢是否接收到數(shù)據(jù),是否有數(shù)據(jù)發(fā)送,然后再進(jìn)行相應(yīng)的操作。
在系統(tǒng)中,監(jiān)控終端作為TCP連接的客戶端,監(jiān)控服務(wù)器作為TCP連接的服務(wù)端。監(jiān)控終端在上電后,由I-7188控制器控制GPRS Modem尋找監(jiān)控服務(wù)器。而監(jiān)控服務(wù)器在接受監(jiān)控終端的連接請(qǐng)求,建立TCP連接后,發(fā)送控制指令給I-7188,由I-7188控制監(jiān)控終端的視頻采集和視頻編碼傳送。
由I-7188內(nèi)部流程圖可以看出:現(xiàn)場(chǎng)系統(tǒng)的初始化、系統(tǒng)當(dāng)前狀態(tài)的檢測(cè)、編碼數(shù)據(jù)打包發(fā)送、解釋服務(wù)器發(fā)布的控制指令、向GPRS Modem發(fā)送AT指令、與遠(yuǎn)程服務(wù)器建立TCP連接等操作都是由I-7188控制完成的。
3.3 I-7188的可擴(kuò)展性
I-7188的COM2為RS-485串行接口,是一種平衡差分驅(qū)動(dòng)、半雙工的串行通信接口標(biāo)準(zhǔn)。RS-485通常應(yīng)用于一對(duì)多點(diǎn)的主從應(yīng)答式通信系統(tǒng),即一個(gè)主機(jī)可以對(duì)應(yīng)多臺(tái)從設(shè)備。在此,I-7188作為主設(shè)備,攝像頭和云臺(tái)作為從設(shè)備,通訊波特率設(shè)為4 800 b/s。
在一個(gè)無(wú)人值守機(jī)房的無(wú)線視頻監(jiān)控系統(tǒng)實(shí)例中,RS-485除了連接攝像頭和云臺(tái)兩個(gè)從設(shè)備之外,還接入了另外兩個(gè)電力參數(shù)采集模塊,對(duì)機(jī)房中的幾種特種電源的參數(shù)進(jìn)行定時(shí)監(jiān)測(cè)。一般情況下,電源參數(shù)保存在I-7188的Flash ROM中。當(dāng)參數(shù)超過(guò)警戒值時(shí),I-7188將向監(jiān)控服務(wù)器發(fā)出報(bào)警信號(hào),并把出錯(cuò)參數(shù)傳輸至監(jiān)控服務(wù)器,有助于工作人員盡快分析出故障原因。
4 結(jié)束語(yǔ)
系統(tǒng)利用現(xiàn)有的移動(dòng)GPRS網(wǎng)絡(luò)和Internet,不需鋪設(shè)專門的線路,就可以對(duì)遠(yuǎn)程目標(biāo)進(jìn)行視頻實(shí)時(shí)監(jiān)控;現(xiàn)場(chǎng)視頻采集站點(diǎn)充分體現(xiàn)出了嵌入式系統(tǒng)的優(yōu)勢(shì):功耗低、安裝維護(hù)簡(jiǎn)單、性價(jià)比較高、強(qiáng)調(diào)“量身定做”的原則。I-7188嵌入式控制器為用戶提供了豐富的資源,用戶可以在短時(shí)間內(nèi)開(kāi)發(fā)出符合要求的系統(tǒng)。內(nèi)置MiniOS7操作系統(tǒng)非常穩(wěn)定,再加上看門狗電路,可以大幅度提高系統(tǒng)的可靠性,更加適合無(wú)人值守場(chǎng)合,從而減少了系統(tǒng)的維護(hù)成本。
實(shí)驗(yàn)證明,系統(tǒng)在穩(wěn)定的GPRS網(wǎng)絡(luò)中,每秒傳送10幀QCIF格式的黑白圖像,可滿足對(duì)實(shí)時(shí)性要求不是十分嚴(yán)格的應(yīng)用需求。相信系統(tǒng)在加入流量控制機(jī)制后,性能將會(huì)大大提高。