劉旭 葛軍.中國(guó)科學(xué)院上海技術(shù)物理研究所 .中國(guó)科學(xué)院上海技術(shù)物理研究所研究員
?
熱成像儀系統(tǒng)在安卓設(shè)備上的應(yīng)用
劉旭1葛軍2
1.中國(guó)科學(xué)院上海技術(shù)物理研究所2.中國(guó)科學(xué)院上海技術(shù)物理研究所研究員
摘要:隨著互聯(lián)網(wǎng)的大范圍普及以及計(jì)算機(jī)網(wǎng)絡(luò)和圖像處理技術(shù)的發(fā)展,紅外熱成像視頻監(jiān)控技術(shù)也有了長(zhǎng)足的發(fā)展。本設(shè)計(jì)首先要做的是實(shí)現(xiàn)一個(gè)基于DSP+FPGA的視頻監(jiān)控服務(wù)器的(DVS)設(shè)計(jì),由 TCP/IP協(xié)議實(shí)現(xiàn)了視頻的網(wǎng)絡(luò)輸出,可以達(dá)到視頻傳輸?shù)膶?shí)時(shí)性。隨著安卓設(shè)備在智能設(shè)備的普及,將熱成像儀監(jiān)控視頻在手機(jī)等智能設(shè)備上顯示并操縱設(shè)備將會(huì)更加便捷,智能化。
關(guān)鍵字:安卓 熱成像儀 視頻監(jiān)控 視頻監(jiān)控服務(wù)器
以往紅外視頻監(jiān)控總是依賴有線傳輸,同時(shí)需要專門的PC或者顯示設(shè)備用以顯示圖像,這在使用過程中很不便,無線網(wǎng)絡(luò)傳輸可以克服這一缺點(diǎn),假如能在安卓智能手機(jī)、平板上實(shí)時(shí)顯示圖像,將會(huì)帶來智能化,便攜化。本文實(shí)現(xiàn)了熱成像儀在安卓平臺(tái)顯示的實(shí)時(shí)監(jiān)控系統(tǒng)。
整個(gè)系統(tǒng)構(gòu)架主要包括以下模塊:紅外探測(cè)器模塊,視頻采集模塊以及網(wǎng)絡(luò)傳模塊,在系統(tǒng)上電之后,紅外探測(cè)器的信號(hào)通過FPGA把數(shù)據(jù)傳遞至DSP并緩存在存儲(chǔ)器中,然后DSP通過TCP協(xié)議將視頻信號(hào)通過以太網(wǎng)LAN或者WIFI傳輸出去,從而構(gòu)成了視頻服務(wù)器,而客戶端只需要按照TCP協(xié)議接受數(shù)據(jù)并解析,就可以實(shí)時(shí)顯示圖像。
服務(wù)器端主要負(fù)責(zé)對(duì)視頻的采集,處理和發(fā)送,主板架構(gòu)主要包括以下幾個(gè)模塊:
2.1紅外探測(cè)器輸入及信號(hào)采集模塊
在本設(shè)計(jì)中選取探測(cè)器型號(hào)為UL 03 16 2,紅外探測(cè)器讀取電路可以從強(qiáng)背景電流中提取微弱信號(hào),將信息按行電子掃描采樣,并且整合每行的信息,保持并且通過多路器傳遞至輸出端。該紅外探測(cè)器的時(shí)鐘及內(nèi)部控制信號(hào)由FPGA 產(chǎn)生,其型號(hào)為Altera公司的Cyclone II系列EP2C5 系列型號(hào),具有低功耗,高性能的特點(diǎn)。此外探測(cè)器的數(shù)字輸出信號(hào)通過FPC數(shù)據(jù)總線傳遞至該FPGA的數(shù)據(jù)IO端口,對(duì)紅外探測(cè)器信號(hào)進(jìn)行采集并傳輸至 DSP端。
2.2網(wǎng)絡(luò)輸出模塊
該模塊是由DM642型號(hào)DSP及其外圍設(shè)備,比如LXT971ALE,型PHY芯片,IEEE802.3網(wǎng)絡(luò)接口或者IEEE802.11無線網(wǎng)絡(luò)模塊實(shí)現(xiàn)將接收的數(shù)據(jù)通過以太網(wǎng)將信號(hào)發(fā)送出去的,其DSP圖。 在實(shí)際開發(fā)工作中,是由TI C6000系列NDK開發(fā)套件實(shí)現(xiàn)TCP/IP協(xié)議: NDK主要的組件包括:支持TCP/IP協(xié)議棧程序庫(kù)。其中主要包含的庫(kù)有:支持TCP/IP網(wǎng)絡(luò)工具的庫(kù),支持TCP/IP協(xié)議棧與DSP/BIOS平臺(tái)的庫(kù),網(wǎng)絡(luò)控制以及線程調(diào)度的庫(kù)(包括協(xié)議棧的初始化以及網(wǎng)絡(luò)相關(guān)任務(wù)的調(diào)度)NDK采用緊湊的設(shè)計(jì)方法,實(shí)現(xiàn)了用較少的資源耗費(fèi)來支持TCP/ IP。首先創(chuàng)建Socket,綁定IP地址和端口值,協(xié)議設(shè)置為IPv4同時(shí)設(shè)定掩碼值,設(shè)定最大字節(jié)數(shù)目,然后創(chuàng)建連接請(qǐng)求,若連接成功則從緩存區(qū)讀取若干字節(jié)發(fā)送出去,否則的話將阻塞在該進(jìn)程中,同時(shí)在緩存區(qū)設(shè)置標(biāo)志位,當(dāng)緩存區(qū)的數(shù)據(jù)全部被套接字處理之后,該標(biāo)志位設(shè)置為有效,從而清理緩存區(qū),從而加載新的視頻數(shù)據(jù)做進(jìn)一步處理。
該程序的架構(gòu)由繼承自Activity類負(fù)責(zé)用戶操作以及UI的交互,其中Activity重寫的 onCreate方法對(duì)該對(duì)象進(jìn)行初始化,在該方法中,通過setContentView(Object)可以設(shè)定UI視圖,該對(duì)象繼承自SurfaceView 下面是SurfaceView的介紹:SurfaceView相比于View類采取了雙緩沖機(jī)制,可以在新的線程中繪制,更新圖像,因此廣泛應(yīng)用于游戲繪圖,動(dòng)畫等方面。其使用方法如下:SurfaceView一般會(huì)和SurfaceHolder一起使用,SurfaceHolder相當(dāng)于SurfaceView的控制器,用來操縱surface。處理它的Canvas上畫的效果和動(dòng)畫,控制表面,大小,像素等。在實(shí)際運(yùn)用過程中,SurfaceHolder提供了Canvas lockCanvas()用于鎖定畫布,drawBitmap用以繪制圖像,unlockCanvasAndPost)來改變顯示的內(nèi)容。在SurfaceView的子類中有幾個(gè)重寫方法,其中最重要的是surfaceCreated 是進(jìn)行創(chuàng)建視圖的方法,通過一個(gè)線程不斷刷新來實(shí)現(xiàn),通過Tcp協(xié)議讀取每一幀圖像的數(shù)據(jù),再使用 BitmapFactory類的createbitmap方法生成bmp,然后使 用SurfaceView組件和Canvas把圖像動(dòng)態(tài)顯示。
本實(shí)驗(yàn)設(shè)計(jì)了基于DSP加FPGA的視頻服務(wù)器, 用來網(wǎng)絡(luò)輸出熱成像的視頻,并且設(shè)計(jì)了Android app軟件用以實(shí)時(shí)觀看視頻,實(shí)驗(yàn)結(jié)果完全達(dá)到了設(shè)計(jì)要求。
參考文獻(xiàn)
[1]姜鵬宇.基于DSP的紅外監(jiān)控技術(shù)研究及實(shí)現(xiàn)[D]成都:電子科技大學(xué),2012
[2]蔡小淳,黎金濤,狄紅衛(wèi).基于TCP的實(shí)時(shí)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn).[J]信息技術(shù),2013-(02) -31-35
[3]李剛,瘋狂Android講義M.北京:電子工業(yè)出版社,2013