黃坤,李秋紅,王太宏
(湖南大學(xué)微納光電器件及應(yīng)用教育部重點(diǎn)實(shí)驗(yàn)室,湖南長沙410082)
智能安防警報監(jiān)控系統(tǒng)設(shè)計
黃坤,李秋紅,王太宏
(湖南大學(xué)微納光電器件及應(yīng)用教育部重點(diǎn)實(shí)驗(yàn)室,湖南長沙410082)
鑒于目前安防警報監(jiān)控系統(tǒng)大都采用單MCU來實(shí)現(xiàn),監(jiān)控方式比較單一,不夠長效穩(wěn)定,且需人為看守等問題,設(shè)計了一種基于ARM9和Linux操作系統(tǒng)的安防警報監(jiān)控系統(tǒng)。Linux是目前主流的大型服務(wù)器操作系統(tǒng),其采用極大地提高了監(jiān)控系統(tǒng)的穩(wěn)定可靠性。該安防警報系統(tǒng)同時實(shí)現(xiàn)了無人監(jiān)控和遠(yuǎn)程實(shí)時監(jiān)控功能,并采用GPRS技術(shù)實(shí)現(xiàn)了預(yù)警功能。這種靈活多變的安防警報監(jiān)控系統(tǒng)在實(shí)現(xiàn)全天候監(jiān)控的同時更提高了安防質(zhì)量,有望在今后得到廣泛應(yīng)用。
ARM9;Linux;預(yù)警;GPRS;實(shí)時監(jiān)控
在技術(shù)蓬勃發(fā)展的今天,必須有更加先進(jìn)的安防系統(tǒng)來保障人民財產(chǎn)安全。當(dāng)下主流的視頻安防監(jiān)控系統(tǒng)多采用單片機(jī)控制實(shí)現(xiàn),穩(wěn)定性已經(jīng)滿足了不了需求。隨著嵌入式技術(shù)的不斷發(fā)展,更多的單片機(jī)功能正在被嵌入式技術(shù)所取代。本文以目前主流的嵌入式處理器ARM9和以穩(wěn)定性著稱的主流服務(wù)器操作系統(tǒng)Linux為核心構(gòu)建一種視頻安防警報系統(tǒng),搭載視頻攝像頭和GPRS警報系統(tǒng),移植DHCP、ffmpeg、motion、BOA web服務(wù)器到ARM9處理器上,實(shí)現(xiàn)無人實(shí)時警報監(jiān)控,亦可進(jìn)行遠(yuǎn)程實(shí)時監(jiān)控[1],監(jiān)控方式靈活多變,系統(tǒng)長效穩(wěn)定。
本設(shè)計的系統(tǒng)總體框架如圖1所示,ARM9系統(tǒng)上電后攝像頭打開,2個后臺的應(yīng)用程序分別打開,在無人監(jiān)控的情況下,應(yīng)用程序Motion可以進(jìn)行自動監(jiān)控,自動拍攝圖片或者視頻文件保存在ARM9的SD卡中,并且可以通過板載的LCD進(jìn)行查看,也可以把SD卡插到其他PC設(shè)備中進(jìn)行查看。當(dāng)發(fā)生危險警報時,ARM9通過GPRS發(fā)送警報信息到智能手機(jī)上,收到警報后通過已經(jīng)接入以太網(wǎng)的PC機(jī)可以遠(yuǎn)程訪問ARM9得到實(shí)時的視頻監(jiān)控信息,后臺的Web_server應(yīng)用程序收到請求后會發(fā)送視頻信息到請求的客服端。
圖1 系統(tǒng)總體架構(gòu)
系統(tǒng)的核心器件ARM9選用三星公司的32位處理芯片S3C2440作為核心處理器(見圖2),因其包含豐富的外設(shè),處理器為SamsungS3C2440A,主頻400 MHz,最高533 MHz,64 M的SDRAM,256 M的Nand Flash,2個USB接口,一個RS232串口,一個RJ45網(wǎng)絡(luò)接口,一塊320×240分辨率的LCD顯示屏。GPRS模塊選用sim300,通過電平轉(zhuǎn)換芯片MAX3232與處理器連接。板載網(wǎng)卡為DM9000,通過網(wǎng)卡來接入Internet,攝像頭采用中星微攝像頭。SD卡采用8 G金士頓SD卡。
圖2 硬件主體架構(gòu)
為了方便交叉編譯和移植,首先在Windows下的PC機(jī)上建立一個交叉編譯環(huán)境平臺。用到的虛擬機(jī)為VMworkstation7.2和Fedora14版本的Linux系統(tǒng),內(nèi)核版本編號為:2.6.35.6-45.fc14.i686。安裝交叉編譯工具arm-linux-gcc,通過交叉編譯工具編譯bootloader,制作相應(yīng)的yaffs2根文件系統(tǒng),以及zImage內(nèi)核。將這三者依次安裝下載到ARM9處理器中,便可以在ARM9運(yùn)行起來。將Fedora和ARM中的IP地址段設(shè)置為與PC的IP地址在一個網(wǎng)段,配置好ftp協(xié)議,然后通過交換機(jī)和網(wǎng)線建立起ARM9、PC機(jī)以及虛擬機(jī)之間的三方通訊[2]。
4.1 yaffs2文件系統(tǒng)移植
大部分帶Linux操作系統(tǒng)的處理器都可以支持yaffs2文件系統(tǒng),它是專門針對嵌入式設(shè)備,特別是使用nand flash作為存儲器的嵌入式設(shè)備而創(chuàng)建的一種文件系統(tǒng)。早先的yaffs僅支持小頁(512 byte/page)的nand flash,現(xiàn)在的開發(fā)板大都配備了更大容量的nand flash,它們一般是大頁模式的(2 kb/page),使用yaffs2就可以支持大頁的nand flash,yaffs2具有占用更少的RAM和啟動速度快等優(yōu)點(diǎn)。
通過git源碼下載工具下載yaffs2源碼,然后用yaffs2目錄下的腳本文件patch-ker.sh給欲編譯的內(nèi)核打上yaffs2的補(bǔ)丁#./patch-ker.sh c/lm/s kernelpath。接著通過makemenuconfig配置內(nèi)核文件,就可以選擇支持yaffs2文件系統(tǒng)了。
4.2 DHCP移植
DHCP是動態(tài)主機(jī)設(shè)置協(xié)議,是一個的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要用途是給內(nèi)部網(wǎng)絡(luò)或供應(yīng)商自動分配,將其移植到ARM9中,可以使得ARM9連上互聯(lián)網(wǎng),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。這里用到的源碼是dhcp-3.1.3.tar.gz。在虛擬機(jī)的Fedora14下修改部分代碼,并用交叉編譯工具編譯后將得到3個主要文件,一個是dhclient應(yīng)用程序,一個配置文件,一個腳本文件。將這3個文件放到ARM板里合適的位置后,給它們加上相應(yīng)的運(yùn)行權(quán)限。這樣就基本完成了DHCP的移植工作。在連接上網(wǎng)線后,在ARM9里運(yùn)行dhclient eth0,就可以看到相關(guān)的信息,ARM可以從服務(wù)器獲取IP地址,并且與互聯(lián)網(wǎng)相連。
4.3 Boa移植
Boa是一種非常小巧的Web服務(wù)器,其可執(zhí)行代碼只有大約60 kb左右。作為一種單任務(wù)Web服務(wù)器,Boa只能依次完成用戶的請求,而不會fork出新的進(jìn)程來處理并發(fā)送連接請求。但Boa支持CGI,能夠?yàn)镃GI程序fork出一個進(jìn)程來執(zhí)行。Boa的設(shè)計目標(biāo)是速度和安全。
資源庫元數(shù)據(jù)管理是數(shù)據(jù)交互管控系統(tǒng)的重要組成部分。資源庫元數(shù)據(jù)管理系統(tǒng)采用元數(shù)據(jù)技術(shù)實(shí)現(xiàn)服務(wù)不同部門、不同系統(tǒng)中數(shù)據(jù)信息資源的元數(shù)據(jù)采集抽取、存儲、管理等功能。通過資源庫元數(shù)據(jù)管理系統(tǒng)建設(shè),可以實(shí)現(xiàn)民族綜合信息大數(shù)據(jù)平臺建設(shè)項(xiàng)目中不同部門、不同系統(tǒng)、各類數(shù)據(jù)庫數(shù)據(jù)、文件數(shù)據(jù)等數(shù)據(jù)資源元數(shù)據(jù)的統(tǒng)一管理。資源庫元數(shù)據(jù)可提供平臺各系統(tǒng)的全局?jǐn)?shù)據(jù)字典和關(guān)系描述,提供對整個平臺體系中全部數(shù)據(jù)的規(guī)格描述,數(shù)據(jù)間的映射關(guān)系,關(guān)聯(lián)查詢,以最大程度發(fā)揮系統(tǒng)海量數(shù)據(jù)的價值。
下載boa-0.94.13.tar.gz,修改部分代碼然后在虛擬機(jī)下進(jìn)行交叉編譯,得到boa.conf,一個Boa的配置文件。然后修改其中的Group、user、Alias、DoucmentRoot、ServerName、AccessLog,使其能夠與ARM板相對應(yīng)。將修改好的boa.conf放到ARM中的/etc/boa目錄下,并且創(chuàng)建/www和/www/cgi-bin目錄。這樣Web服務(wù)器Boa就被移植到ARM板中了,通過HTTP協(xié)議與監(jiān)控端瀏覽器軟件進(jìn)行信息交互。
4.4 GPRS模塊
GPRS是技術(shù)的簡稱,它是GSM用戶可用的一種移動數(shù)據(jù)業(yè)務(wù),也可以說是GSM的延續(xù)。GPRS和以往連續(xù)在頻道傳輸?shù)姆绞讲煌?,是以封包式來傳輸。GPRS的傳輸速率可提升至56甚至114 kb/s。通過GPRS模塊,ARM板能以短信的形式將警報信息發(fā)送到指定的手機(jī)上。本系統(tǒng)中采用的是sim300 GPRS模塊,此GPRS模塊帶有眾多的AT指令[3]。
GPRS模塊通過串口與ARM板相連接,并且插入SIM卡。在用GPRS通過AT指令發(fā)送警報信息時,先用open函數(shù),fd=open("/dev/GPRS模塊串口",O_RDWR,0)用來打開GPRS模塊所占用的串口文件,然后往里面寫入需要傳送的警報信息,write(fd,AT命令,AT命令長度)這樣就可以把警報信息通過GPRS發(fā)送出去。通過GPRS模塊可以快速地將監(jiān)控警報信息發(fā)送出去,達(dá)到全天候監(jiān)控。
5.1 軟件整體架構(gòu)
ARM9中的系統(tǒng)為裁減完交叉編譯過的Linux系統(tǒng),只保留了需要用到的功能,大幅度縮減了內(nèi)核,內(nèi)核版本為2.6.32.2,有效地節(jié)省了嵌入式ARM9處理器不太充裕的內(nèi)存空間。其他用到的應(yīng)用軟件都是在PC的交叉編譯環(huán)境下進(jìn)行交叉編譯然后移植到ARM9,并且對部分程序設(shè)置自啟動,省去每次重新上電后需要手動上電的麻煩。這里用到的交叉編譯環(huán)境為Fedora14,交叉編譯工具為arm-linux-gcc的4.4.3版本。交叉編譯后的程序都通過ftp下載到ARM9中。軟件整體架構(gòu)如圖3所示。
5.2 無人監(jiān)控部分
無人監(jiān)控部分主要用到Motion和ffmpeg,其中Motion是國外的一個開源項(xiàng)目,主要用來進(jìn)行圖像自動監(jiān)控。這里用到的版本為3.2.12,此項(xiàng)目在幾年前就停止了開發(fā),但是一直有人在進(jìn)行源碼的維護(hù)工作,因此可以輕松獲取源碼。ffmpeg是一個開源免費(fèi)跨平臺的視頻和音頻流方案,屬于自由軟件,采用LGPL或GPL許可證,因此任何人都可以下載使用;并且提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案,它還有個優(yōu)點(diǎn)就是拍攝的視頻格式可以是.avi,這是一種壓縮比很高的壓縮格式,因此占用空間小,可以長時間錄制。這一部分主要的編譯流程如圖4所示。
圖3 軟件整體架構(gòu)
圖4 Motion的交叉編譯圖解
圖4中的zlib是壓縮和解壓縮庫文件,H.264是ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(活動圖像編碼專家組)的聯(lián)合視頻組開發(fā)的一個新的數(shù)字視頻編碼標(biāo)準(zhǔn)。SDL是一個跨平臺的多媒體庫,用于直接控制底層的多媒體硬件接口[3]。通過編譯得到Motion后就可以實(shí)現(xiàn)無人監(jiān)控了。系統(tǒng)上電后,可以手動打開Motion,也可以設(shè)置為上電后自動運(yùn)行Motion。在無人監(jiān)控的情況下,Motion將自動進(jìn)行監(jiān)控,可以自動拍攝保存圖片也可以拍攝視頻保存到指定的文件目錄。事后可以用Ffplay進(jìn)行查看,亦可以上傳到電腦里面進(jìn)行分析查看,十分方便。這一部分適合在夜間或者暫時無人看守的情況下使用[4-7]。
5.3 有人監(jiān)控部分
這一部分主要是通過編譯生成Webcam_server和Webcam_shower 2個應(yīng)用程序來實(shí)現(xiàn),Webcam_server是視頻服務(wù)端,它調(diào)用Ffmpeg的監(jiān)控數(shù)據(jù)然后通過Boa服務(wù)器上傳數(shù)據(jù)到客服端,通過Webcam_shower程序來呈現(xiàn)。Webcam_server程序用V4L2(video 4 linux 2)視頻采集規(guī)范標(biāo)準(zhǔn)編寫,從視頻設(shè)備文件獲取數(shù)據(jù)然后打包壓縮通過網(wǎng)線上傳至客戶端Webcam_shower,然后由Webcam_shower程序解壓縮視頻流[8]。流程如圖5所示。
可以將Webcam_server添加到系統(tǒng)啟動腳本,隨系統(tǒng)初始化啟動,這樣只要在客戶端打開Webcam_shower即可以遠(yuǎn)程實(shí)時查看監(jiān)控畫面了,在發(fā)現(xiàn)可疑人物時還可以隨時截圖進(jìn)行保存。這一部分適合在白天有人員看管的情況下適用。
圖5 遠(yuǎn)程監(jiān)控圖解
5.4 聯(lián)合監(jiān)控部分
這一部分主要是把前面兩者聯(lián)合起來,達(dá)到更加靈活合理的監(jiān)控。就是在無人監(jiān)控時遇到情況發(fā)送警報,然后通過遠(yuǎn)程實(shí)時監(jiān)控來查看具體的情況。在看守人員有事不在或者深夜時,由Motion程序執(zhí)行自動監(jiān)控,一旦遇到特殊情況,系統(tǒng)將通過板載的GPRS模塊發(fā)送預(yù)警短信警報到指定人員的手機(jī)上。收到警報信息后,監(jiān)控人員可以在遠(yuǎn)程的客服端打開實(shí)時監(jiān)控程序進(jìn)行遠(yuǎn)程的實(shí)時查看。圖6為聯(lián)合監(jiān)控示意圖。
圖6 聯(lián)合監(jiān)控示意圖
聯(lián)合監(jiān)控的好處在于,它既可以自己進(jìn)行監(jiān)控記錄又可以提醒遠(yuǎn)程的監(jiān)控人員,即使監(jiān)控人員沒有第一時間發(fā)現(xiàn)也可以保存監(jiān)控畫面,而監(jiān)控人員收到警報后可以實(shí)時查看情況,并作出相應(yīng)的處理,從而達(dá)到24小時監(jiān)控。
如圖7、圖8所示,通過DHCP為ARM9綁定一個IP地址,遠(yuǎn)程啟動視頻客服端便可以通過8610端口連接到ARM9所傳輸過來的視頻信息,通過這個界面可以調(diào)整視頻的分辨率,可以隨時截取圖片保存到設(shè)定的文件夾下面。效果良好,可以有效地進(jìn)行遠(yuǎn)程的實(shí)時視頻監(jiān)控。
圖7 DHCP運(yùn)行圖
圖8 視頻測試圖
本文基于ARM9處理器和Linux操作系統(tǒng),融合遠(yuǎn)程視頻監(jiān)控和GPRS通信技術(shù),設(shè)計出一種既能夠進(jìn)行無人監(jiān)控自動警報又能夠?qū)崟r遠(yuǎn)程監(jiān)控的綜合性安防警報監(jiān)控系統(tǒng)。相比以往的同類型監(jiān)控警報系統(tǒng),此系統(tǒng)更加的靈活、方便、長效、穩(wěn)定,可以勝任多種環(huán)境下的視頻監(jiān)控警報任務(wù)。
[1]龔堯飛,金靜.嵌入式Linux系統(tǒng)下的視頻服務(wù)器的設(shè)計[J].電子測量技術(shù),2010,33(4):72-74.
[2]張多英,申晨,劉偉平,等.嵌入式視頻監(jiān)控傳輸系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2010,31(4):724-728.
[3]徐世強(qiáng),趙霽,牛澤民.基于GPRS的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計與應(yīng)用[J].計算機(jī)技術(shù)與發(fā)展,2010,20(12):150-153.
[4]任守華,王勝華,劉士雷.基于3G和H.264技術(shù)的無線視頻監(jiān)控系統(tǒng)[J].計算機(jī)應(yīng)用研究,2010,27(4):1554.
[5]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2008.
[6]周強(qiáng),費(fèi)章君,王強(qiáng),等.基于H.264的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計與開發(fā)[J].計算機(jī)應(yīng)用,2010,30(2):555-559.
[7]郭海豐.基于H.264的視頻壓縮技術(shù)及其在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的應(yīng)用研究[D].杭州:浙江大學(xué),2005.
[8]孟軍英,吳愛燕,林立忠.嵌入式網(wǎng)關(guān)在遠(yuǎn)程視頻監(jiān)控中的應(yīng)用研究[J].河北科技大學(xué)學(xué)報,2011,32(5):487-491.
Intelligent security alarmmonitoring system
HUANG Kun,LI Qiu-hong,WANG Tai-hong
Most of the security alarmmonitoring system were based on the MCU,singlemonitor way,not long-term and stable enough and needs to be watched were their advantages.A security alarmmonitoring system was designed based onARM9 and Linux operation system,which was popular used bymost large servers.The stability of thismonitoring system was greatly improved by ing of the Linux operation system.Unmannedmonitoring,remote real-timemonitoring,and warming by using GPRS were its functions.The all-daymonitoring was realized by thismulti-function of security alarmmonitoring system.At the same time the quality of security was improved.It was expected to be used widely in the future.
ARM9;Linux;pre-alarm;GPRS;real-timemonitoring
TM 91
A
1002-087 X(2014)10-1942-04
2014-03-13
國家自然科學(xué)基金(21003041)
黃坤(1987—),男,湖南省人,碩士研究生,主要研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用。