基于A(yíng)RM-linux的智能監控系統設計
隨著(zhù)社會(huì )的發(fā)展和進(jìn)步,人們的生活步調加快,如家庭生活和工作等環(huán)境中會(huì )經(jīng)常出現無(wú)人的情況,此時(shí)安全問(wèn)題令人擔憂(yōu),研制一個(gè)適宜的安全監控系統是十分必要的。然而,目前大多智能監控系統需要借助一些傳感器,如熱紅外、煙霧等,來(lái)實(shí)現智能監控,這樣提高了成本,使系統變得復雜,可靠性降低。因此設計一種簡(jiǎn)易的智能家居監控系統是必要的。本文提出了運動(dòng)物體檢測的設計方案。當有外來(lái)入侵者時(shí),系統會(huì )追蹤運動(dòng)目標并將其鎖定,拍攝記錄下其圖片,并會(huì )發(fā)出報警信號,警告入侵者離開(kāi)。同時(shí)系統將會(huì )通過(guò)GPRS網(wǎng)絡(luò )發(fā)送警告信息和入侵者的圖片,讓用戶(hù)可以隨時(shí)了解監控區域的情況。
本文引用地址:http://dyxdggzs.com/article/148109.htm本文以嵌入式系統ARM+Linux系統為平臺設計了智能家居監控系統。系統采用背景差法實(shí)現對視頻序列中運動(dòng)目標的檢測,根據檢測結果實(shí)現報警功能,同時(shí)利用GPRS移動(dòng)通信覆蓋區域廣闊的特點(diǎn),以短信和彩信的形式將信息發(fā)送到用戶(hù)手機,從而實(shí)現智能監控[1]。
1 監控系統的功能概述及工作流程
本智能監控系統是基于嵌入式ARM-Linux開(kāi)發(fā)的,系統實(shí)現圖像采集、運動(dòng)目標檢測、現場(chǎng)警報并通過(guò)GPRS網(wǎng)絡(luò )實(shí)現短信和彩信的發(fā)送。
系統要實(shí)現的主要功能有:(1)采用背景差法實(shí)現對視頻序列中運動(dòng)目標檢測;(2)通過(guò)GPRS發(fā)送報警短信和檢測到的運動(dòng)目標圖像彩信;(3)通過(guò)聲卡在現場(chǎng)播放報警音樂(lè )。
系統工作流程為:首先,運行運動(dòng)目標入侵檢測模塊,驅動(dòng)USB攝像頭進(jìn)行圖像數據采集,在A(yíng)RM處理器中進(jìn)行運動(dòng)目標檢測算法計算工作。當系統檢測到有運動(dòng)目標入侵時(shí),系統會(huì )拍攝下運動(dòng)目標入侵者的圖像并保存在文件夾中。此時(shí),系統將開(kāi)啟現場(chǎng)報警程序模塊,通過(guò)聲卡UDA1341驅動(dòng)音箱播放報警音樂(lè ),來(lái)警告非法入侵者離開(kāi)。同時(shí),系統通過(guò)串口發(fā)送AT指令來(lái)啟動(dòng)GPRS無(wú)線(xiàn)模塊M20,GPRS模塊發(fā)送報警短信和入侵者的圖片到用戶(hù)手機。
2 系統硬件平臺構建
本系統硬件由以下模塊構成:中芯微的USB攝像頭zc0301、GPRS彩信模塊M20、聲卡UDA1341、音箱、三星公司的微處理器S3C2440,256 MB NAND Flash以及64 MB SDRAM。S3C2440微處理器內部集成了ARM公司ARM920T處理器核的32 bit微控制器,其資源豐富,帶獨立的16 KB指令Cache和16 KB數據Cache,還有NAND閃存控制器及RAM控制器,系統主頻最高可達203 MHz[2-3]。本系統硬件結構框圖如圖1所示。

本系統用USB攝像頭zc301進(jìn)行圖像采集,得到JPEG格式圖像,通過(guò)聲卡UDA1341驅動(dòng)音箱報警,用M20實(shí)現彩信圖片發(fā)送。
3 系統軟件設計
本視頻監控系統軟件是基于ARM-Linux平臺開(kāi)發(fā)的。首先在系統上移植Uboot、Linux-2.6.30內核和根文件系統。系統移植zc0301攝像頭驅動(dòng)、聲卡UDA1341驅動(dòng)和串口驅動(dòng)。系統需要設計基于背景差法的運動(dòng)圖像檢測算法的軟件實(shí)現[4]。報警模塊需要移植MP3播放器madplay,設計報警控制程序及GPRS警告信息發(fā)送程序。系統的應用軟件體系結構如圖2所示。

3.1 運動(dòng)圖像檢測
視頻序列檢測為智能視頻監控提供了便利。本系統通過(guò)運動(dòng)檢測實(shí)現自動(dòng)報警和圖片拍攝,而在以往的監控系統中通常是采用人工干預的方式或者增加額外報警電路的方式實(shí)現報警功能。通過(guò)視頻序列檢測運動(dòng)目標則可以提高監控系統的自動(dòng)化程度,節約人力[1]。運動(dòng)目標檢測和跟蹤是視覺(jué)領(lǐng)域的重要課題。系統對視頻視野內是否有入侵者進(jìn)行檢查,當檢測結果超出認定的變化閾值時(shí),系統就會(huì )自動(dòng)報警并拍攝下運動(dòng)目標的照片。
本文采用背景差法進(jìn)行運動(dòng)圖像檢測。背景差法基于圖像序列和參考背景模型相減實(shí)現運動(dòng)物體的檢測,它能較好地檢測出運動(dòng)目標有關(guān)的所有像素點(diǎn)[1]。由于視頻監控系統位置是固定的,場(chǎng)景不會(huì )實(shí)時(shí)變化,因此適合采用背景差法進(jìn)行運動(dòng)目標檢測[1]。

修改配置文件motion-dist.conf:設置圖像大小為320×240,設置攝像頭采集速度為30幀/s,設置像素變化檢測認定為圖像變化的閾值threshold=90,設置當檢測到有圖像變化時(shí),把運動(dòng)區域用矩形框起來(lái)等配置信息。
移植motion:首先進(jìn)入源碼包交叉編譯#./configure、#make和#make install,這樣就完成了移植工作。之后#./motion-c motion-dist.conf,即可開(kāi)始驗證運動(dòng)圖像檢測。
報警模塊是根據motion檢測的結果(圖像變化超過(guò)閾值90)作出報警反應。報警模塊移植了MP3播放器madplay及報警音樂(lè )播放處理程序。當檢測到圖像像素變化達到閾值時(shí),則開(kāi)始播放MP3報警音樂(lè )。
3.2 短信發(fā)送
短信的發(fā)送方式有TEXT模式和PDU模式兩種,本文采用TEXT模式向用戶(hù)發(fā)送報警短信。發(fā)送英文短信的主要步驟如下:
(1)打開(kāi)串口;
(2)初始化串口參數;
(3)發(fā)送AT+CMGF=1命令,通知手機模塊采用TEXT模式;
(4)發(fā)送AT指令AT+CMGS=150968807501,通知手機模塊用戶(hù)的電話(huà)號碼;
(5)添加發(fā)送的警告信息內容;
(6)發(fā)送結束,關(guān)閉串口。
3.3 彩信發(fā)送
運動(dòng)目標檢測部分在檢測到運動(dòng)目標入侵時(shí)會(huì )拍攝下運動(dòng)目標的圖像,將其存儲在/root/motion文件夾下。發(fā)送彩信時(shí)則將讀取相關(guān)圖片,并采用彩信發(fā)送的指令發(fā)送彩信[5]。發(fā)送彩信的步驟為:
(1)發(fā)送指令AT+QIFGCNT=1,以配置場(chǎng)景;
(2)發(fā)送AT+QICSGP=1,CMWAP設置接入點(diǎn);
(3)發(fā)送指令AT+QIREGAPP以設置用戶(hù)名及密碼,通常默認為空;
(4)發(fā)送AT+QIACT激活GPRS;
(5)發(fā)送AT+QILOCIP查詢(xún)本機IP是否連上GPRS;
(6)發(fā)送AT+QMMSW=1,1,150968807501設置目標手機號碼;
(7)發(fā)送AT+QFUPL=pic_name.jpg,2 644,即上傳圖片并起名為pic_name.jpg,圖片大小為2 664;
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論