袁適成++曹玉東
摘 要:以隨著計算機、通訊和嵌入式的發(fā)展,各個部分之間的不斷融合,基于嵌入式技術(shù)與通信方面越來越被人們所重視。其中視頻監(jiān)控一直是人們關(guān)注的重點,而嵌入式與視頻監(jiān)控的融合,也是現(xiàn)在發(fā)展的特點之一。這種系統(tǒng)功能專一,使用方便,安裝操作簡單,可以在千里之外對目標進行觀察和監(jiān)控。
基于嵌入式的視頻監(jiān)控系統(tǒng),采用ARM作為數(shù)據(jù)的傳輸媒介,實現(xiàn)了數(shù)據(jù)到ARM到局域網(wǎng)的傳輸。通過無線網(wǎng)卡傳輸數(shù)據(jù)到手機APP,完成無線監(jiān)控的功能。利用PC機與搭建的Web服務(wù)器,實現(xiàn)網(wǎng)絡(luò)的實時監(jiān)控,數(shù)據(jù)儲存的功能。具有多端監(jiān)控,方便安全,可靠性高,數(shù)據(jù)儲存等優(yōu)點,在網(wǎng)絡(luò)監(jiān)控有創(chuàng)新性和使用推廣價值。
關(guān)鍵詞:嵌入式 監(jiān)控 ARM 局域網(wǎng)
近幾年來,人們的物質(zhì)生活在不斷變好的同時,住宅的安全防范和財產(chǎn)的監(jiān)控也成為了大家所不能避免的問題,除了一般的保護外,監(jiān)控也成了人們關(guān)注的重點。視頻監(jiān)控能實現(xiàn)實時監(jiān)控的功能,并且可以把監(jiān)控畫面儲存下來作為證據(jù),在此基礎(chǔ)上,高級的監(jiān)控系統(tǒng)可以通過網(wǎng)絡(luò)進行遠處的監(jiān)控,監(jiān)控畫面可以準確再現(xiàn)還原。通過網(wǎng)絡(luò)也可以實現(xiàn)多點監(jiān)控,無線監(jiān)控等監(jiān)控方式。一般的監(jiān)控,存在著無法長距離傳輸和只能采集不能處理等一系列的問題。除了內(nèi)在因數(shù),一些監(jiān)控設(shè)備在安裝時繁瑣,不方便;對于監(jiān)控者而言,也需要有一定的基礎(chǔ)才能掌握操作監(jiān)控系統(tǒng)。
一、系統(tǒng)設(shè)計
本系統(tǒng)研究基于JZ2440開發(fā)板的嵌入式無線遠程網(wǎng)絡(luò)監(jiān)控的設(shè)計與實現(xiàn),利用嵌入式設(shè)備的小巧方便,低耗能的特點,來搭建一個信號采集加工和傳輸?shù)钠脚_,傳輸給電腦和無線網(wǎng)卡。設(shè)計中采用JZ2440開發(fā)板,ARM920T內(nèi)核硬件設(shè)備和Linux操作系統(tǒng),CUP為三星的S3C2440A。整個系統(tǒng)分為開發(fā)板和PC機,開發(fā)板上的攝像頭采集信號,把信號傳輸?shù)介_發(fā)板,進行JPEG壓縮編碼,然后把數(shù)據(jù)傳到開發(fā)板上的無線網(wǎng)卡,通過手機APP接收解壓,能在線的觀看監(jiān)控環(huán)境,同時數(shù)據(jù)通過以太網(wǎng)傳到PC機上。PC機上操作系統(tǒng)為Windows7,通過以太網(wǎng),在谷歌或火狐等支持Java的瀏覽器上都可以在線遠程監(jiān)控,同時PC機通過軟件可以保存監(jiān)控內(nèi)容。系統(tǒng)采用嵌入式與監(jiān)控的相互結(jié)合,發(fā)揮嵌入式設(shè)備體積小,內(nèi)耗低,功能專一的特點,也實現(xiàn)了監(jiān)控需要的安全性和隱蔽性,同時加入了儲存的功能,讓整個系統(tǒng)能輕易的滿足監(jiān)控的相關(guān)需求。
(1)嵌入式硬件平臺
根據(jù)系統(tǒng)的需要,嵌入式硬件平臺的搭建需要電源模塊,CPU芯片,儲存模塊,以太網(wǎng)接口模塊,USB接口模塊,USB攝像頭,USB無線網(wǎng)卡等幾個部分。
①電源模塊
系統(tǒng)使用1.5V和2.5V兩種直流電源。電源模塊使用AP1509芯片,AP1509是一款高效降壓DC-DC轉(zhuǎn)換器,輸入電壓為4.5V-22V,輸出電壓為1.23V-18V,反饋電壓為1.23V,輸出電流可達3A。
②CPU芯片
JZ2440開發(fā)板使用S3C2440A芯片,S3C2440A以 ARM920T為核心,采用0.13um CMOS標準單元和存儲器編譯器開發(fā)。它的低功耗,簡單,優(yōu)雅和全靜態(tài)設(shè)計特別適合于成本和功耗敏感的應(yīng)用。它采用了被稱為高級微控制器總線架構(gòu)(AMBA)的新的總線架構(gòu)。
S3C2440A提供了出色的功能,其CPU內(nèi)核,一個32位ARM920T RISC處理器設(shè)計的高級RISC機, ARM920T實現(xiàn)了內(nèi)存管理單元MMU,AMBA總線,和哈佛緩存架構(gòu)與獨立的16KB指令和16KB數(shù)據(jù)高速緩存,每一個字線的長度為8。
③儲存模塊
系統(tǒng)采用從NOR Flash中啟動加載程序。NOR Flash 的特點是芯片內(nèi)執(zhí)行,可以直接在Flash閃存內(nèi)運行,不用把代碼送到RAM中讀取。NOR Flash的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響到它的性能。NOR器件時是以64~128KB的塊進行的,執(zhí)行一個寫入或擦除操作的時間為5s。系統(tǒng)采取內(nèi)存芯片型號為MX29LV160DBTI,其供電電壓為3.3V。
④以太網(wǎng)接口模塊
系統(tǒng)采用以太網(wǎng)芯片DM9000。M9000是高速以太網(wǎng)控制芯片,有一個一般處理接口,一個10/100M自適應(yīng)的PHY和4K DWORD值的SRAM。它的目的是在低功耗和高性能進程的3.3V與5V的支持寬容。它內(nèi)置該DM9000支持8位,16位和32位接口訪問內(nèi)部存儲器,以支持不同的處理器。
⑤USB接口模塊
USB是一種支持在USB主機和USB設(shè)備之間進行串行數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。主機作為總線的主叫方,采用兩種信令模式:全速模式12Mb/s和低速模式1.5Mb/s。S3C2440A處理芯片有兩種USB通信接口:USB Slave和USB Host,USB Slave用于鍵盤和鼠標等USB設(shè)備,USB Host用于有讀取能力的設(shè)備,如:攝像頭。
⑥USB攝像頭
系統(tǒng)采用銳爾威視USB紅外攝像頭,型號為RER-100W03M。輸出圖像格式為MJPEG,支持UVC協(xié)議,不需要外接RAM芯片,支持linux嵌入式系統(tǒng)。自動對焦,紅外夜視,通過一些簡單的命令就能進行數(shù)據(jù)的采集和傳輸。
⑦USB網(wǎng)卡
符合IEEE 802.11(n/g/b)協(xié)議。內(nèi)置智能天線,提供更好的無線傳輸性能、穩(wěn)定性和無線覆蓋范圍??偩€類型有USB1.1和USB2.0。系統(tǒng)使用的無線網(wǎng)卡是騰達W311M 無線網(wǎng)卡,VID和PID分別是 148f:5370。能穩(wěn)定的傳輸視頻數(shù)據(jù)。
二、程序設(shè)計流程
①移植攝像頭驅(qū)動
打開視頻設(shè)備,視頻設(shè)備被看做一個文件。使用open函數(shù)打開這個設(shè)備,打開視頻設(shè)備后,可以設(shè)置該視頻設(shè)備的屬性,例如裁剪、縮放等。檢查當前視頻設(shè)備支持的標準,使用VIDIOC_QUERYSTD來檢測,當檢測完視頻設(shè)備支持的標準后,還需要設(shè)定視頻捕獲格式,為視頻捕獲分配內(nèi)存,獲取并記錄緩存的物理空間,使用VIDIOC_REQBUFS,獲取req.count的緩存,下一步通過調(diào)用VIDIOC_QUERYBUF命令來獲取這些緩存的地址,然后使用mmap函數(shù)轉(zhuǎn)換成應(yīng)用程序中的絕對地址,最后把這段緩存放入緩存隊列。數(shù)據(jù)緩存采用FIFO的方式,當應(yīng)用程序調(diào)用緩存數(shù)據(jù)時,緩存隊列將最先采集到的視頻數(shù)據(jù)緩存送出,并重新采集一張視頻數(shù)據(jù)。這個過程需要用到兩個ioctl命令。最后配置攝像v4l2驅(qū)動。驅(qū)動移植好了,插上攝像頭,執(zhí)行l(wèi)susb就可以看到攝像頭數(shù)據(jù)。endprint
②移植servfox
先移植spcaview在Linux上編譯spcaview再安裝spcaview軟件,spcaview 工具是用來紀錄數(shù)據(jù)流,也能用來播放數(shù)據(jù),也能作為網(wǎng)絡(luò)監(jiān)視客戶端用。
最后在Linux上運行: ./spcaview –g –s 320x240 –w 210.41.135.100:7070
其中210.41.135.100是服務(wù)器的IP地址,這樣我們就可以在PC機上看見USB攝像頭采集進來的數(shù)據(jù)了。
③Boa服務(wù)器的移植
先配置boa.conf文件,然后在開發(fā)板的/usr/bin目錄下執(zhí)行 ./boa。然后移植libjpeg庫。就能在PC機上通過瀏覽器進行監(jiān)控。
三、控制方法
①攝像頭放在監(jiān)控地點通過USB線將數(shù)據(jù)傳輸?shù)介_發(fā)板,開發(fā)板應(yīng)放在監(jiān)控人所在處,二者之間通過USB數(shù)據(jù)線和USB延長線連接,線路安裝簡單,WIFI網(wǎng)卡直接與開發(fā)板相連。
USB無線網(wǎng)卡和USB攝像頭連接到開發(fā)板,開發(fā)板上電,等待系統(tǒng)啟動打開手機WIFI設(shè)置,連入本地WIFI,最后打開手機APP等待幾秒APP會自動獲取IP地址。數(shù)據(jù)會通過APP呈現(xiàn)出來。
②USB攝像頭與開發(fā)板相連,開發(fā)板和PC機之間用網(wǎng)線直連,就可進行網(wǎng)絡(luò)監(jiān)控與存儲。
當系統(tǒng)連接開發(fā)板上電以后,打開PC機本地軟件Video.exe,在其中輸入以開發(fā)板IP為基礎(chǔ)的網(wǎng)址:http://172.16.150. 157:8080/?action=stream,即可進行本地監(jiān)控。在軟件中可以對視頻信息進行在線觀看和儲存,儲存位置可以自行設(shè)置。
③在局域網(wǎng)內(nèi)的任意一臺PC機,可以用谷歌瀏覽器和火狐瀏覽器登錄開發(fā)板IP地址所在的頁面,輸入賬號密碼驗證碼后即可進行遠程視頻監(jiān)控。如果PC機上裝有“Video.exe”也可進行數(shù)據(jù)的存儲。
四、結(jié)語
基于ARM開發(fā)板的網(wǎng)絡(luò)監(jiān)控設(shè)備在安全監(jiān)控中的實時應(yīng)用,設(shè)計了一套無線網(wǎng)絡(luò)監(jiān)控系統(tǒng)。設(shè)計中使用了JZ2440開發(fā)套件,建立一套能實時監(jiān)控并能監(jiān)控數(shù)據(jù)進行無線傳輸,遠程網(wǎng)絡(luò)傳輸和儲存的系統(tǒng)。繼承了S3C2440芯片強大的網(wǎng)絡(luò)傳輸特點,能夠以無線的方式,低成本,低功耗的實現(xiàn)信息的在線監(jiān)控與儲存,同時又使系統(tǒng)不失靈活性和可靠性。
參考文獻
[1]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008
[2]李佳.ARM系列處理器應(yīng)用技術(shù)完全手冊[M].人民郵電出版社,2006.(12)
[3]張林.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和今后發(fā)展趨勢[EB/OL],http://blog.sina.com,2009-02-07
[4]李進.基于Linux的遠程智能監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].長沙:湖南大學,2011
[5]李晶.嵌入式Linux系統(tǒng)的移植技巧[J].現(xiàn)代電子技術(shù),2008,31(24):40-43
[6]王學龍著,嵌入式Linux系統(tǒng)設(shè)計與應(yīng)用[Ml.北京:清華大學出版社,2001
作者簡介
袁適成,男,攀枝花學院,研究方向:電氣信息工程學院電氣工程及其自動化。
曹玉東,女,高級實驗師,主要從事電類課程的理論及實驗教學工作。endprint