基于 ARM 的遠(yuǎn)程無線監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
隨著計算機、網(wǎng)絡(luò)、通信技術(shù)的發(fā)展,以及多媒體視頻技術(shù)的不斷完善,基于網(wǎng)絡(luò)的第三代遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)取得了長足的發(fā)展。新一代的監(jiān)控系統(tǒng)以網(wǎng)絡(luò)為依托,以數(shù)字視頻的壓縮、傳輸、存儲和播放為核心。系統(tǒng)采用嵌入式多任務(wù)操作系統(tǒng)、高效的視頻壓縮芯片和功能強大的嵌入式處理器,將視頻壓縮和傳輸處理工作全部內(nèi)置到芯片上,前端攝像機送來的視頻信號數(shù)字化后經(jīng)過壓縮、打包等過程變成基本網(wǎng)絡(luò)協(xié)議的視頻流,通過網(wǎng)絡(luò)的傳輸,視頻流發(fā)送到接收端。視頻接收端可利用軟件進行解碼,在PC上進行顯示和處理。
本文引用地址:http://m.butianyuan.cn/article/150428.htm系統(tǒng)硬件平臺
本系統(tǒng)是以PXA270為微處理器的ARM開發(fā)平臺組成。PXA270是一個32位處理器,可在312MHz、416MHz、520MHz和624MHz這4種不同的時鐘頻率下運行。用在高性能、低功耗、便攜、手持式的設(shè)備中。它加入了Intel Xscale技術(shù),具有調(diào)節(jié)動態(tài)電壓和頻率以及完善的電源管理功能,提供了工業(yè)界領(lǐng)先的MIPS/mw性能。外接網(wǎng)卡接口與處理器直接連接,實現(xiàn)以太網(wǎng)通信,可利用TFTP協(xié)議對內(nèi)核和根文件系統(tǒng)的映像進行快速下載。有3個UART分別是標(biāo)準(zhǔn)、藍牙和全功能的UART,可以通過全功能UART與GPRS DTU相連接進行信號傳輸。3個USB接口,可以與USB攝像頭相連接進行圖像采集。USB攝像頭采用的是以O(shè)V511為芯片的網(wǎng)眼V2000攝像頭。
GPRS DTU是一款基于GPRS 網(wǎng)絡(luò)的無線數(shù)據(jù)傳輸終端設(shè)備,提供全透明數(shù)據(jù)通道,網(wǎng)絡(luò)覆蓋范圍廣能使用移動電話的地方就可以使用支持?jǐn)?shù)據(jù)透明傳輸與協(xié)議轉(zhuǎn)換,支持備用數(shù)據(jù)中心,點對點互連功能,支持永遠(yuǎn)在線、空閑下線和空閑掉電3種工作方式,具有短信和電話喚醒功能,支持?jǐn)嗑€自動重連功能。
系統(tǒng)總體設(shè)計
整個監(jiān)控系統(tǒng)主要是由ARM、GPRS DTU、USB攝像頭和PC組成。ARM開發(fā)板以Linux操作系統(tǒng)編寫驅(qū)動,通過指令調(diào)度利用USB攝像頭進行圖像采集,將采集好的圖像通過GPRS DTU進行無線傳輸,PC與因特網(wǎng)相連接,接收到GPRS DTU傳輸過來的圖像,通過VC++編寫上位機,可以看到監(jiān)控點傳輸?shù)膱D像。操作人員可以通過短信或電話對監(jiān)控端進行控制,可以使監(jiān)控端隨時處于工作或關(guān)閉狀態(tài),這樣一來不僅可以隨意對監(jiān)控端進行控制還可以節(jié)省流量,經(jīng)濟實惠,特別適用于一些對動態(tài)圖像要求不高的環(huán)境,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)軟件設(shè)計
本系統(tǒng)采用Linux為操作系統(tǒng),它是一個多用戶、多任務(wù)操作系統(tǒng);具有良好的開放性,遵循世界標(biāo)準(zhǔn)規(guī)范,特別是遵循開放系統(tǒng)互連(OSI)國際標(biāo)準(zhǔn)。具有完善的內(nèi)置網(wǎng)絡(luò)。Linux在通信和網(wǎng)絡(luò)功能方面均優(yōu)于其他操作系統(tǒng)。為用戶提供了強大完善的網(wǎng)絡(luò)功能。根據(jù)程序開發(fā)的需要對Linux操作系統(tǒng)進行裁減與編譯,將制作好的Linux操作系統(tǒng)通過JTAG下載到ARM開發(fā)板里,就可以使用arm-linux對ARM開發(fā)板進行控制。
圖像的采集是通過ARM-Linux調(diào)度Video4Linux和影像設(shè)備驅(qū)動程序來進行視頻捕獲。Video4Linux是Linux影像系統(tǒng)與嵌人式影像的基礎(chǔ),是Linux 內(nèi)核里支持影像設(shè)備的一組API,Linux在多媒體上的應(yīng)用是目前非常熱門的研究領(lǐng)域,其中最關(guān)鍵的技術(shù)則是Linux的Video4Linux。在Linux內(nèi)核中對Video4Linux進行配置,如圖2所示。配置好以后通過bootloader下載到ARM-Linux里。USB攝像頭使用的是OV511芯片的網(wǎng)眼V2000攝像頭。在Linux操作系統(tǒng)里配置好OV511芯片的驅(qū)動,如圖3所示。
圖2 配置Video for Linux
圖3 配置USB OV511攝像頭
通過bootloader下載到ARM-Linux里,這樣就可以通過USB攝像頭進行圖像采集,圖像采集流程如圖4所示。
采集到的圖像為BMP格式,圖像太大不利于網(wǎng)絡(luò)傳輸,需要進行JPEG壓縮,JPEG壓縮技術(shù)十分先進,它用有損壓縮方式去除冗余的圖像數(shù)據(jù),在獲得較高的壓縮率的同時能展現(xiàn)十分豐富生動的圖像,非常適合于視頻網(wǎng)絡(luò)傳輸?;镜腏PEG算法由以下步驟完成:(1)通過離散余弦變換(DCT)消除數(shù)據(jù)冗余;(2)使用量化系數(shù)矩陣對離散余弦變化系數(shù)進行量化;(3)對量化后的系數(shù)進行編碼,使其熵最小,熵編碼通常采用huffman可變字長編碼。產(chǎn)生有損圖像壓縮的原因主要發(fā)生在第2步。JPEG標(biāo)準(zhǔn)是在變換編碼的基礎(chǔ)上,綜合應(yīng)用了DCT和哈夫曼編碼2種手段,達到了很好的圖像壓縮效果。基于離散余弦變換DCT的編碼方法,是JPEG算法的核心內(nèi)容[5]。在圖像采集的時候需要用到JPEG庫,所以需要先安裝JPEG庫。
圖4 圖像采集流程圖
評論