摘 要:設(shè)計(jì)了一種基于3G網(wǎng)絡(luò)的移動(dòng)安防系統(tǒng),利用高性能的嵌入式服務(wù)器和LINUX軟件平臺(tái)完成數(shù)據(jù)的采集、傳輸、控制和保存,并且可靈活選用手機(jī)、電腦等終端設(shè)備獲取監(jiān)控畫面,實(shí)現(xiàn)了實(shí)時(shí)監(jiān)控。
關(guān)鍵詞:移動(dòng)安防;視頻監(jiān)控服務(wù)器;3G標(biāo)準(zhǔn);嵌入式系統(tǒng)
中圖分類號(hào):TP391.41;TN929.5
本文設(shè)計(jì)了一種基于嵌入式Linux系統(tǒng)和3G網(wǎng)絡(luò)的移動(dòng)視頻監(jiān)控服務(wù)器,該服務(wù)器利用Linux上成熟的安全機(jī)制通過點(diǎn)對(duì)點(diǎn)的傳輸模式,除了可以保證數(shù)據(jù)的安全性,同時(shí)結(jié)合無線網(wǎng)絡(luò)傳輸、網(wǎng)絡(luò)視頻監(jiān)控等技術(shù),可以提供現(xiàn)場(chǎng)晝夜監(jiān)控、遠(yuǎn)程短信遙控、異地查看現(xiàn)場(chǎng)、危險(xiǎn)報(bào)警等安防功能。實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)傳遞,減少誤報(bào)情況的發(fā)生,方便用戶隨時(shí)隨地掌握監(jiān)控狀態(tài)。
1 移動(dòng)安防系統(tǒng)的服務(wù)器設(shè)計(jì)
移動(dòng)安防系統(tǒng)主要由視頻的編碼、解碼、報(bào)警和傳輸?shù)茸幽K組成,其主要功能應(yīng)該包括遠(yuǎn)程實(shí)時(shí)監(jiān)控、多種報(bào)警、視頻檢索與回放、系統(tǒng)自動(dòng)恢復(fù)等。
圖1 移動(dòng)安防服務(wù)器內(nèi)部結(jié)構(gòu)圖
在圖1中,移動(dòng)安防服務(wù)器主要分為三個(gè)層次,最下層為設(shè)備驅(qū)動(dòng)層,其中包括DM9000E網(wǎng)卡驅(qū)動(dòng)、DTM6211無線3G網(wǎng)絡(luò)驅(qū)動(dòng)、LCD觸摸屏驅(qū)動(dòng)、視頻采集設(shè)備驅(qū)動(dòng)、各種傳感驅(qū)動(dòng)、存儲(chǔ)設(shè)備等驅(qū)動(dòng)模塊。中間層為L(zhǎng)inux操作系統(tǒng)內(nèi)核層,其主要功能是為了統(tǒng)一管理系統(tǒng)中的各個(gè)資源。上層為應(yīng)用層,主要包括嵌入式Webserver模塊、視頻編/解碼模塊、嵌入式SQLite數(shù)據(jù)庫模塊以及智能報(bào)警和控制模塊。
2 移動(dòng)安防系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
按照系統(tǒng)設(shè)計(jì)原則,與其相對(duì)應(yīng)的硬件模塊應(yīng)當(dāng)包括以下幾個(gè)模塊:系統(tǒng)核心控制處理模塊、電源供電模塊、用戶接口模塊(即LCD觸摸屏模塊)、視頻采集模塊、各種傳感器模塊、存儲(chǔ)設(shè)備模塊、3G無線網(wǎng)絡(luò)接入模塊、有線互聯(lián)網(wǎng)接入模塊、系統(tǒng)升級(jí)與擴(kuò)展模塊。
2.1 系統(tǒng)核心處理與控制模塊
系統(tǒng)核心處理與控制模塊是整個(gè)系統(tǒng)中的心臟部分,對(duì)整個(gè)系統(tǒng)的功能性與健壯性有著絕對(duì)的影響力。本文選擇三星公司的16/32位精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC,Reduced Instruction Set Computer)微處理器S3C2440作為主控芯片,該芯片采用了ARM920t的內(nèi)核;同時(shí)還對(duì)其進(jìn)行了擴(kuò)展,其中包括了8MB的NorFlash、256MB的NandFlash和64MB的SDRAM。系統(tǒng)采用了外部12Mhz的晶振作為系統(tǒng)時(shí)鐘。下圖2為系統(tǒng)核心模塊框圖。
圖2 核心模塊框圖
2.2 視頻采集模塊
圖像采集模塊采用CMOS圖像傳感器。與CCD圖像傳感器相比,CMOS圖像傳感器成本低、集成度高、體積小、超低功耗,特別是在手持設(shè)備上已經(jīng)基本上取代了CCD圖像傳感器??紤]到系統(tǒng)需要在3G網(wǎng)絡(luò)中傳送視頻信息,對(duì)圖像的分辨率要求一般即可,以及對(duì)功耗和成本的考慮,本系統(tǒng)選用了采用CMOS技術(shù)的OV9650圖像傳感器。
圖3給出了視頻采集模塊的電路圖以及該模塊與系統(tǒng)核心模塊的接口電路。
圖3 視頻采集模塊的電路圖
圖3中CAM_20為視頻采集模塊和系統(tǒng)核心模塊的接口電路,兩個(gè)LM1117分別為OV9650芯片提供2.5V的模擬電源輸入和1.8V的數(shù)字電源輸入,對(duì)于數(shù)字I/O供電引腳則通過為系統(tǒng)供電的AS2815AR單元進(jìn)行供電。為了降低功耗,將PWDN引腳與S3C2440的EINT-19引腳相接,便于在不使用攝像采集模塊時(shí)將其關(guān)閉,以降低功耗。D0~D9為數(shù)據(jù)線,由于D0和D1分別是用于RGB模式中的LSB和中用的RGB模式適用的,所以直接將其懸空處理,其它引腳分別接S3C2440的CAMDATA0-CAMDATA7。使用OV9650芯片進(jìn)行圖像采集之前,通過主機(jī)的IIC接口對(duì)其內(nèi)部的寄存器進(jìn)行初始化,對(duì)于OV9650只需要將SCCB串行接口的數(shù)據(jù)線SIO_D和時(shí)鐘線SIO_C與S3C2440的IIC總線的兩個(gè)對(duì)應(yīng)引腳相接即可。
2.3 傳感器模塊
傳感器模塊可以實(shí)現(xiàn)對(duì)溫度、人體及煙霧濃度等檢測(cè),其接口電路包括溫度傳感器、人體傳感器、煙霧傳感器等接口,接口電路圖如圖4所示:
圖4 傳感器接口電路原理圖
2.4 3G無線網(wǎng)絡(luò)接入模塊
3G無線網(wǎng)絡(luò)選用大唐公司生產(chǎn)的DTM6211來搭建。DTM6211支持TD-SCDMA與GSM系統(tǒng)間跨網(wǎng)自動(dòng)無縫切換,在TD-SCDMA制式下,支持上下行非對(duì)稱數(shù)據(jù)傳輸能力,上下行數(shù)據(jù)傳輸速率可分別達(dá)到384kbps;支持UART和USB兩種通信接口,內(nèi)部集成H.324協(xié)議棧,使得視頻電話的功能實(shí)現(xiàn)更為簡(jiǎn)單;內(nèi)部集成TCP/IP協(xié)議,可以方便連接Internet。如圖5所示:
圖5 DTM6211系統(tǒng)供電及指示模塊電路圖
系統(tǒng)采用9V的輸入電壓,由于模塊外圍電路需要4V的電壓進(jìn)行供電,所以使用LM2576S-ADJ可調(diào)穩(wěn)壓芯片進(jìn)行電壓轉(zhuǎn)換。根據(jù)LM2576S-ADJ的數(shù)據(jù)手冊(cè)中電壓輸出公式Vout=VREF(1+R13/R14)和公式R13=R14((Vout/VREF)-1),其中VREF=1.23V,R14 在1000到5000歐母之間,本文將R14選定為1000歐母,所以R13為2200歐母方能輸出4V電壓。由于DTM6211模塊的內(nèi)部供電電壓為3.3V,所以需將LM2576S-ADJ轉(zhuǎn)換后的電壓再次通過XC6203E332PR穩(wěn)壓芯片降壓為3.3V,為DTM6211內(nèi)部供電。如圖6所示:
圖6 DTM6211模塊與S3C2440通信接口電路
3 3G無線網(wǎng)絡(luò)模塊應(yīng)用程序開發(fā)
根據(jù)前面章節(jié)敘述的3G模塊的硬件連接方式和DTM6211的工作特性,對(duì)于3G模塊的軟件開發(fā)需要在前面S3C2440的UART1的驅(qū)動(dòng)程序上進(jìn)行編程就可以了。圖7為3G無線模塊的總體工作流程圖。
圖7 3G模塊軟件流程圖
初始化DTM6211主要功能是初始化UART1端口,建立主機(jī)與DTM6211的通信通路,首先打開進(jìn)行通信的UART1端口,通過如下代碼進(jìn)行對(duì)端口的打開操作:
int fd = open(“dev/ safe_serial”,O_RDWR)
if(-1==fd)//檢查設(shè)備是否正常打開
{
perror(\"Can't Open Serial Port\");
return -1;
}
else
return fd;
由于在前面內(nèi)核進(jìn)行移植的時(shí)候?qū)ART1端口命名為了safe_serial所以這里在open函數(shù)中設(shè)備名稱參數(shù)使用了dev/safe_serial為設(shè)備名稱。
然后通過下面的代碼設(shè)置通信波特率為115200:
int status;
struct termios Opt;
tcgetattr(fd, Opt);
tcflush(fd, TCIOFLUSH);
cfsetispeed(Opt, B115200);
cfsetospeed(Opt, B115200);
status = tcsetattr(fd1, TCSANOW, Opt);
if (status != 0) {
perror(\"tcsetattr fd1\");
return; }
tcflush(fd,TCIOFLUSH);
函數(shù)中的fd參數(shù)為打開UART1的句柄,其實(shí)現(xiàn)使用fd=open(“dev/ safe_serial”,O_RDWR);Opt參數(shù)為struct termios型的變量,主要用于串行通信的設(shè)置;參數(shù)TCANOW為是設(shè)置立即生效。然后設(shè)置端口的數(shù)據(jù)位數(shù)為8位,無奇偶校驗(yàn),停止位為1位,無數(shù)據(jù)流控制,下面是實(shí)現(xiàn)代碼:
struct termios options;
if ( tcgetattr( fd,options) != 0) {
perror(\"Setup safe_serial\");
return(FALSE);}
options.c_cflag = ~CSIZE;
options.c_cflag |= CS8;
options.c_cflag = ~PARENB;
options.c_cflag = ~CSTOPB;
options.c_iflag |=INPCK;
UART1設(shè)置完成后需要對(duì)DTM6211進(jìn)行配置。對(duì)于配置DTM6211需要向串口寫入標(biāo)準(zhǔn)的AT指令,并讀取返回值已確認(rèn)通訊的正常。對(duì)于寫AT指令到DTM6211只需要調(diào)用write()函數(shù),例如向DTM6211發(fā)送“AT”,n=write(fd,“AT”,2)成功調(diào)用則n值為2,否則為錯(cuò)誤。對(duì)于讀取DTM6211返回?cái)?shù)據(jù)則需要調(diào)用read()函數(shù)。
DTM6211模塊支持在視頻通話的同時(shí)發(fā)送長(zhǎng)度不超過128個(gè)字節(jié)的字符串,本文利用這128個(gè)字節(jié)的字符串對(duì)移動(dòng)安防設(shè)備進(jìn)行操作。操作包括決定是否將監(jiān)控視頻存儲(chǔ)在本地的硬盤當(dāng)中、是否發(fā)出報(bào)警聲音等。
4 結(jié)束語
移動(dòng)安防是一個(gè)多學(xué)科多領(lǐng)域的系統(tǒng)工程,也是目前的一個(gè)熱點(diǎn)研究領(lǐng)域。隨著無線網(wǎng)絡(luò)技術(shù)的成熟,移動(dòng)安防系統(tǒng)在為人們帶來安全保障的同時(shí),也可以為大家提供一種高品位的生活保障。
參考文獻(xiàn):
[1]王銘,倪平,王冬.基于3G網(wǎng)絡(luò)的遠(yuǎn)程無線綜合監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2011(01):4-5.
[2]付少華,付紅橋,王政.基于3G網(wǎng)絡(luò)的手機(jī)移動(dòng)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2011(A01):70-72.
[3]張嵩.3G網(wǎng)絡(luò)中流媒體編解碼和視頻檢索的研究[D].北京交通大學(xué),2006.
[4]張文涯.嵌入式Linux的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西南交通大學(xué),2009.
作者簡(jiǎn)介:郭哲(1985-),男,湖北天門人,碩士研究生,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、嵌入式系統(tǒng)。
作者單位:欽州學(xué)院教務(wù)處,廣西欽州 535099