国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM嵌入式移動(dòng)圖像監(jiān)控系統(tǒng)的設(shè)計(jì)

2013-01-15 09:33:26張洪濤楊名軍范羖豪
關(guān)鍵詞:郵件嵌入式報(bào)警

張洪濤,楊名軍,葛 林,裴 浩,范羖豪

(1湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢430068;2北京工業(yè)大學(xué)軟件學(xué)院,北京100081)

長(zhǎng)期以來(lái)移動(dòng)圖像監(jiān)控系統(tǒng)都是監(jiān)控領(lǐng)域中的熱點(diǎn).它以方便、直觀、信息內(nèi)容豐富等優(yōu)點(diǎn),在很多行業(yè)有著廣泛應(yīng)用.例如工業(yè)控制、倉(cāng)庫(kù)管理、銀行、私人車(chē)庫(kù)等領(lǐng)域.目前,在基于嵌入式移動(dòng)圖像監(jiān)控的研究中對(duì)移動(dòng)圖像進(jìn)行采集和處理,主要采用DSP、ARM及DSP和ARM組合.

本系統(tǒng)以高性能低功耗的ARM9芯片為處理器,Linux為系統(tǒng),來(lái)實(shí)現(xiàn)移動(dòng)圖像的監(jiān)控和傳輸.

1 系統(tǒng)總體方案設(shè)計(jì)

整個(gè)系統(tǒng)由圖像采集模塊、報(bào)警模塊、傳輸模塊、PC服務(wù)器等組成.系統(tǒng)以S3C2440為中央控制和數(shù)據(jù)處理中心,完成對(duì)移動(dòng)圖像的采集和傳輸、系統(tǒng)報(bào)警.傳輸?shù)絇C端后,PC自動(dòng)將圖像壓縮并發(fā)到指定的郵箱.

2 硬件部分設(shè)計(jì)

本系統(tǒng)的微處理器選用三星公司ARM9內(nèi)核的S3C2440[1]芯片,系統(tǒng)時(shí)鐘采用400MHz的工作主頻,最高可達(dá)533MHz.它集成有SDRAM、Nor-Flash及 NandFlash,外 設(shè) 有 RS-232 串 口、USB Host接口、IIC接口、IIS接口、以太網(wǎng)接口及下載引導(dǎo)程序的JTAG接口等.可以滿足移動(dòng)圖像采集和傳輸?shù)挠布枨?

本系統(tǒng)的主要硬件結(jié)構(gòu)如圖1所示.

圖像采集模塊使用中星微ZC301P[2]芯片的攝像頭,ZC301P芯片最高支持VGA(Video Graphics Array)分辨率(640×480).在 VGA模式下速率可達(dá)到15幀/s,在 CIF(Common Intermediate Format)(352×288)和 SIF(Standard Image Format)(320×240)模式下速率可達(dá)到30幀/s.ZC301P芯片內(nèi)部集成了JPEG壓縮引擎、CMOS圖像感光芯片和USB設(shè)備控制接口,通過(guò)它采集得到移動(dòng)的圖像,再通過(guò)USB接口傳輸?shù)絪3c2440中去處理.

圖1 系統(tǒng)硬件結(jié)構(gòu)圖

報(bào)警模塊使用飛利浦(Philips)公司生產(chǎn)的語(yǔ)音芯片 UDA1341[3],UDA1341提供了標(biāo)準(zhǔn)的IIS(Inter-IC Sound)接口,IIS總線是飛利浦公司為數(shù)字音頻設(shè)備間傳輸音頻數(shù)據(jù)而制定的一種總線標(biāo)準(zhǔn).UDA1341可直接和S3C2440內(nèi)置IIS總線控制器的引腳連接,該控制器是用來(lái)實(shí)現(xiàn)到外部一個(gè)8/16位立體聲 Audio Codec IC的接口.

傳輸模塊采用 DM9000[4]網(wǎng)卡芯片,DM9000是一款完全集成的,單芯片快速以太網(wǎng)MAC(數(shù)據(jù)鏈路層)控制器.它集成了一個(gè)一般處理接口,一個(gè)4K雙字的SRAM和自適應(yīng)的10/100MPHY(物理層)收發(fā)器.是為了使高性能和低功耗進(jìn)程兼容3.3V和5V的輸入輸出電壓.此外DM9000還支持介質(zhì)無(wú)關(guān)接口,用來(lái)與家用電話線網(wǎng)絡(luò)設(shè)備或其他收發(fā)器的質(zhì)無(wú)關(guān)接口相連接.該DM9000網(wǎng)卡芯片為了支持不同的處理器接口訪問(wèn)內(nèi)部存儲(chǔ)器支持8、16和32位.100MBps下5類(lèi)非屏蔽雙絞線和10MBps下3類(lèi)、4類(lèi)、5類(lèi)非屏蔽雙絞線可以與DM9000網(wǎng)卡芯片的物理層接口連接.這是與IEEE 802.3u規(guī)格相符的.它有自動(dòng)協(xié)調(diào)功能,可以自動(dòng)完成配置以適合其線路帶寬.還支持背壓模式半雙工流量控制模式及IEEE 802.3x全雙工流量控制.

3 軟件部分設(shè)計(jì)

移動(dòng)圖像監(jiān)控系統(tǒng)的終端軟件設(shè)計(jì)以開(kāi)源的Linux為操作系統(tǒng),Linux系統(tǒng)支持多種硬件平臺(tái),有良好的網(wǎng)絡(luò)功能及豐富的設(shè)備驅(qū)動(dòng)等特點(diǎn)[5].根據(jù)終端硬件設(shè)備及其應(yīng)用的需要進(jìn)行內(nèi)核配置,裁剪出合適的內(nèi)核.監(jiān)控系統(tǒng)終端的應(yīng)用軟件是建立在硬件平臺(tái)和Linux操作系統(tǒng)上的.

3.1 應(yīng)用程序

制作好合適的系統(tǒng)移植到開(kāi)發(fā)板后,移植Madplay用于報(bào)警模塊中播放報(bào)警音樂(lè).移植Madplay所需四個(gè)軟件包分別為zlib-1.2.3.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz和 madplay-0.15.2b.tar.gz.分別解壓、編譯安裝后會(huì)生成可以在ARM開(kāi)發(fā)板上運(yùn)行的二進(jìn)制文件madplay.

移動(dòng)圖像檢測(cè)采用的是motion方案,在Linux系統(tǒng)下,視頻設(shè)備的各種操作通過(guò)V4L(Video for Linux)實(shí)現(xiàn).移動(dòng)圖像檢測(cè)算法采用幀間差分法,其思想是將前后兩幀圖像逐像素求差值,計(jì)算改變點(diǎn)數(shù).當(dāng)改變點(diǎn)構(gòu)成的區(qū)域占圖像的比例大于某個(gè)值時(shí)認(rèn)為有物體進(jìn)入.應(yīng)用程序運(yùn)用V4L提供的接口函數(shù)實(shí)現(xiàn)設(shè)備的操作.motion中使用的API(Application Programming Interface)接口是 V4L.

修改配置文件motion.conf的主要配置選項(xiàng):

daemon off //關(guān)掉daemon模式

locate on //將移動(dòng)區(qū)域用矩形框起來(lái)

videodevice/dev/video0//設(shè)置加載USB攝像頭的設(shè)備文件

width 320

height 240 //采集圖像的大小

framerate 5 //攝像頭每秒采集的幀數(shù)

quality 85 //圖像壓縮質(zhì)量

threshold 5000//設(shè)置閥值,當(dāng)兩幀圖像變化的像素點(diǎn)超過(guò)閥值時(shí),則認(rèn)為圖像變化

threshold_tune off//使用閥值自動(dòng)調(diào)節(jié)

ffmpeg_video_codec swf //視頻編碼器

jpeg_filename%v-%Y%m%d%H%M%S-%q//圖像保存文件名的命名格式

snapshot_interval 0 //自動(dòng)采集圖片

target_dir/root/motion //圖像保存路徑

on_event_start/motion/appon//檢測(cè)到移動(dòng)時(shí)執(zhí)行里面的文件

gap 5//檢測(cè)到移動(dòng)后5s沒(méi)有移動(dòng)就觸發(fā)移動(dòng)結(jié)束指令on_event_end

on_event_end/motion/appoff

//檢測(cè)到移動(dòng)后若連續(xù)5s檢測(cè)不到移動(dòng)則執(zhí)行該文件

移動(dòng)圖像檢測(cè)主程序流程如圖2所示.

圖2 程序流程圖

判斷是否有圖像變化主要看pic.txt中的記錄是1還是0.

pic_fd = open("pic.txt",O_RDWR|O_CREAT,0666);

lseek(pic_fd,0,SEEK_SET);

ret=read(pic_fd,pic_buf,1);

系統(tǒng)睡眠標(biāo)志sleep_flag=1時(shí)系統(tǒng)睡眠.

報(bào)警標(biāo)志play_flag=1時(shí)系統(tǒng)正在報(bào)警.

子進(jìn)程創(chuàng)建孫子進(jìn)程播放MP3報(bào)警,fd=fork();

if(fd==0)

//調(diào)用madplay播放器

execl("/motion/madplay","madplay",song_name,NULL);

#define THREE_ALARM 3*60

alarm(THREE_ALARM);//添加定時(shí)器

因?yàn)閳D片保存在/root/motion目錄下,system("ls/root/motion|wc-l>count.txt");可以將統(tǒng)計(jì)圖片的張數(shù)寫(xiě)入count.txt文件中,打開(kāi)文件后從文件開(kāi)始讀取數(shù)據(jù).

cnt_fd= open("count.txt",O_RDWR|O_CREAT,0666);

lseek(cnt_fd,0,SEEK_SET);

ret=read(cnt_fd,buf,10);

當(dāng)圖像變化時(shí)將全局變量con_cnt加1.

con_cnt++;

定時(shí)器時(shí)間到判斷圖像運(yùn)動(dòng)次數(shù)是否超過(guò)20次.

if(con_cnt>=20)

3.2 郵件系統(tǒng)

在pc端安裝msmtp和mutt用于自動(dòng)發(fā)郵件.msmtp是基于GPL發(fā)布,專(zhuān)門(mén)負(fù)責(zé)發(fā)送郵件的客戶端軟件.它有支持 DNS模式、TLS/SSL、IPv6、多用戶、服務(wù)器端認(rèn)證等特性.

編譯和安裝msmtp

mutt是Linux下的一個(gè)郵件客戶端,基于GPL發(fā)布.它跟一般的 Windows郵件客戶端不同,mutt是郵件用戶代理(MUA),因此不可以單獨(dú)使用來(lái)發(fā)送郵件.它需要結(jié)合郵件傳輸代理才能發(fā)郵件.

編譯和安裝mutt,由于pc上的Linux系統(tǒng)能用yum工具,直接用yum命令安裝mutt.

#yum install mutt

安裝完成后要手動(dòng)建立一個(gè)配置文件,

#vi/etc/Muttrc

set sendmail = "/usr/local/msmtp/bin/msmtp" #msmtp命令路徑

set use_from=y(tǒng)es

set realname="yangming.j@163.com"

set editor="vi"

保存退出.

通過(guò)一個(gè)shell腳本自動(dòng)將圖像壓縮后發(fā)給指定的郵箱.用tar-cf motion.tar motion來(lái)壓縮文件.用壓縮文件的 MD5(Message-Digest Algorithm 5)值來(lái)判斷文件夾中的圖像是否變化,進(jìn)而確定是否將壓縮的圖像發(fā)送郵件.用echo"motion"|mutt–s"picture"–a/root/motion.tar 76931006@qq.com來(lái)發(fā)郵件,最后用conrtab每5min執(zhí)行這個(gè)腳本一次.

4 測(cè)試結(jié)果

當(dāng)攝像頭前的物體移動(dòng)時(shí),發(fā)出報(bào)警聲,郵箱收到來(lái)自yangming.j@163.com的壓縮文件(圖3).

圖3 郵件

解壓后其中的一張圖像見(jiàn)圖4.

圖4 圖像

當(dāng)定時(shí)器3min到圖像運(yùn)動(dòng)次數(shù)超過(guò)20次,系統(tǒng)開(kāi)始休眠.在串口終端的顯示如圖5所示.

圖5 串口終端顯示

5 結(jié)束語(yǔ)

本文設(shè)計(jì)了一種基于ARM的嵌入式移動(dòng)圖像監(jiān)控系統(tǒng),實(shí)現(xiàn)了對(duì)移動(dòng)圖像的檢測(cè)和處理,系統(tǒng)報(bào)警及將采集的圖片自動(dòng)發(fā)送給指定的郵箱等功能,在實(shí)際運(yùn)行中有良好的效果.

[1] 孫 弋.基于S3C2440的嵌入式Linux開(kāi)發(fā)實(shí)例[M].西安:西安電子科技大學(xué)出版社,2010.

[2] 趙曉軍.基于ARM的嵌入式無(wú)線視頻監(jiān)控系統(tǒng)[J].微型機(jī)與應(yīng)用,1674-7720(2010)16-0054-03.

[3] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2010.

[4] 韋東山.嵌入式Linux應(yīng)用開(kāi)發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2008.

[5] 孫 瓊.嵌入式Linux應(yīng)用程序開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2006.

猜你喜歡
郵件嵌入式報(bào)警
基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
來(lái)自朋友的郵件
一封郵件引發(fā)的梅賽德斯反彈
車(chē)迷(2018年12期)2018-07-26 00:42:32
LKD2-HS型列控中心驅(qū)采不一致報(bào)警處理
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
2015款奔馳E180車(chē)安全氣囊報(bào)警
死于密室的租住者
奔馳E260車(chē)安全氣囊報(bào)警
Altera加入嵌入式視覺(jué)聯(lián)盟
栖霞市| 永宁县| 甘肃省| 阿克| 华蓥市| 高邮市| 剑河县| 永定县| 葵青区| 潍坊市| 湘潭县| 手机| 营口市| 安丘市| 合川市| 陆丰市| 沅江市| 怀化市| 招远市| 江西省| 双鸭山市| 洮南市| 陈巴尔虎旗| 富顺县| 五常市| 博客| 上思县| 繁峙县| 郁南县| 新巴尔虎左旗| 合水县| 蒙城县| 弥勒县| 吉水县| 北海市| 临漳县| 商城县| 汉阴县| 山西省| 三都| 同江市|