苑東朝,李德華
(華中科技大學(xué) 圖像識別與人工智能研究所,湖北 武漢 430074)
當(dāng)前的家用監(jiān)控系統(tǒng)只是將室內(nèi)實(shí)時信息存儲到主機(jī)或者自身自帶存儲器中,等到發(fā)生盜竊或者以外事件之后再掉出視頻或者圖片進(jìn)行查看,實(shí)時性太差。目前3G網(wǎng)絡(luò)技術(shù)飛速發(fā)展,全國各城市基本得到普及,而且3G手機(jī)也得到了很大的普及,監(jiān)控系統(tǒng)可以與3G網(wǎng)絡(luò)相結(jié)合,使家庭成員可以通過網(wǎng)絡(luò)實(shí)時的對室內(nèi)情況進(jìn)行了解,這可以對即時發(fā)生的意外情況進(jìn)行及時處理。
本系統(tǒng)主要由主控模塊、圖像處理模塊、無線傳輸模塊3大模塊組成。其中視頻采集模塊主要功能是按照用戶的要求進(jìn)行圖像采集,并將采集到的圖像送給專門負(fù)責(zé)圖像壓縮芯片,按照J(rèn)PEG標(biāo)準(zhǔn)進(jìn)行壓縮后傳到主控模塊,主控模塊將接收的圖片存儲并發(fā)送,無線傳輸模塊主要功能是收發(fā)無線信號來完成本系統(tǒng)與外界的溝通,存儲模塊主要功能是存儲實(shí)時圖片信息。圖1給出了該系統(tǒng)的總體框圖 。
該模塊主要由友善之臂的S3C2440開發(fā)板和SD卡存儲器構(gòu)成,S3C2440開發(fā)板核心處理器是三星公司ARM9系列的ARM920T嵌入式處理器,主頻400 MHz,該芯片集成了通用的串口控制器、USB控制器、A/D轉(zhuǎn)換器和GPIO等功能,具有豐富的接口資源能夠很好的滿足所需功能,該款開發(fā)板是比較經(jīng)典的一款,有豐富的技術(shù)資料支持這減小了開發(fā)難度,而且還留有SD卡接口為我們擴(kuò)展存儲器來存儲圖片提供了方便。

圖1 系統(tǒng)總體框架Fig.1 Stystem framework
圖像處理模塊主要功能是采集圖像并且按照J(rèn)PEG標(biāo)準(zhǔn)進(jìn)行壓縮并傳至嵌入式處理器存儲,由于本系統(tǒng)是用于家庭監(jiān)控系統(tǒng)所以對圖像質(zhì)量要求不是很高,而對功耗有一定要求,所以比較當(dāng)前比較主流的CCD與CMOS圖像傳感器CMOS圖像傳感器以其低功耗,價格低,集成度高體積小等優(yōu)點(diǎn)勝出。
為了節(jié)約系統(tǒng)資源,提高系統(tǒng)穩(wěn)定性以及可靠性本系統(tǒng)采用專門的圖像壓縮芯片對采集到的圖像進(jìn)行壓縮,當(dāng)視頻緩存中的數(shù)據(jù)到達(dá)一幀后自動存到開發(fā)板的SD卡中,并通過處理器發(fā)送指令是否繼續(xù)進(jìn)行壓縮。
該模塊的主要功能是當(dāng)條件滿足是嵌入式處理器利用SMTP協(xié)議通過GPRS模塊向指定郵箱發(fā)送圖片信息。GPRS模塊的可選則方案有很多,在本方案中我選擇了芯訊通無線科技有限公司的SIM5320,這是一款新推出的3G芯片,體積小、重量輕,支持多種雙頻網(wǎng)絡(luò),接口豐富,最高傳輸速率可達(dá)3.6 Mbps/s。
系統(tǒng)軟件設(shè)計基于嵌入式Linux操作系統(tǒng)平臺,軟件系統(tǒng)模塊如圖2所示,整個系統(tǒng)模塊主要分為3個模塊實(shí)現(xiàn),具體功能說明如下。

圖2 軟件系統(tǒng)模塊圖Fig.2 Software system block diagram
1)圖像采集處理模塊,該模塊用于完成對圖像信號的采集,控制USB攝像頭采集圖像,并將其進(jìn)行圖像數(shù)據(jù)的壓縮處理,對生成的JPEG形式的文件傳給處理器或者放入緩沖區(qū),以供其他模塊使用。
2)該模塊通過SMTP/ESMTP協(xié)議與與MIME的結(jié)合,構(gòu)成郵件發(fā)送客戶端,該客戶端可將視頻處理后的圖像以Email的形式發(fā)送到指定用戶。
3)GPRS無線數(shù)據(jù)傳輸模塊。該模塊用于完成對數(shù)據(jù)的網(wǎng)絡(luò)傳輸,通過GPRS無線接入模塊與Intemet進(jìn)行連接,并發(fā)送緩沖區(qū)里或SD卡里的數(shù)據(jù)。
系統(tǒng)硬件采用ARM9系列的S3C2440處理器,系統(tǒng)軟件使用嵌入式Linux是該系統(tǒng)穩(wěn)定,處理功能強(qiáng)大,方便功能擴(kuò)展實(shí)現(xiàn);視頻采集使用USB接口的通用外置攝像頭進(jìn)行,使視頻采集的通用行良好,設(shè)計成本低;軟件部分采用模塊化設(shè)計,易于維護(hù),增強(qiáng)了通用性和可升級性;聯(lián)網(wǎng)方便充分利用了GPRS的永久在線等優(yōu)點(diǎn);圖像壓縮使用JPEG格式易于傳輸。系統(tǒng)工作過程如圖3所示。

圖3 系統(tǒng)工作過程框圖Fig.3 System block diagram of the working process
嵌入式工作平臺的搭建主要是對linux操作系統(tǒng)進(jìn)行必要的修改和裁剪,使其能夠在具體的硬件平臺上穩(wěn)定工作,在此就是我們的嵌入式開發(fā)板上,概括起來分為以下三方面的工作:Bootloader的移植,linux內(nèi)核移植,文件系統(tǒng)的移植。
Bootloader是ARM系統(tǒng)加電以后將要運(yùn)行的第一段代碼,是系統(tǒng)的引導(dǎo)加載程序,運(yùn)行在操作系統(tǒng)內(nèi)核之前,是嵌入式系統(tǒng)的重要組成部分,它的主要作用是初始化硬件并將嵌入式操作系統(tǒng)加載到內(nèi)存建立內(nèi)核空間的映射圖,是內(nèi)核具有一個良好的運(yùn)行環(huán)境。大多數(shù)Bootloader有兩種不同操作模式:啟動加載模式與下載模式。第一種模式是系統(tǒng)正常工作模式,沒有用戶的介入,經(jīng)過這個模式之后才能引導(dǎo)整個系統(tǒng)工作;第二種模式用于將主機(jī)準(zhǔn)備好的內(nèi)核鏡像以及文件系統(tǒng)下載進(jìn)內(nèi)存。本系統(tǒng)通過移植經(jīng)典的u-boot來實(shí)現(xiàn)Bootloader的移植。
Linux內(nèi)核移植通常是指修改內(nèi)核代碼和配置內(nèi)核選項(xiàng)。完整的Linux內(nèi)核是非常龐大的,支持多種cpu以及協(xié)議,設(shè)計者需要根據(jù)自己的硬件環(huán)境去選取適合自己的構(gòu)架以及系統(tǒng)需要的各種協(xié)議,在本系統(tǒng)中需要內(nèi)核系統(tǒng)支持USB、串口、TCP/IP等協(xié)議。在對內(nèi)核完成修改后需要將其編譯成ZImage鏡像文件然后燒寫到ARM內(nèi)存中指定位置。本系統(tǒng)采用的是Linux2.6內(nèi)核。
嵌入式文件系統(tǒng)是嵌入式操作系統(tǒng)不可或缺的一部分,他提供了對邏輯文件常用的操作接口,存儲系統(tǒng)所需的信息,方便用戶操作文件和目錄。我們經(jīng)常用到的嵌入式文件系統(tǒng)有jffs文件系統(tǒng),yaffs文件系統(tǒng)和cramfs文件系統(tǒng)。本系統(tǒng)采用了yaffs文件系統(tǒng)作為跟文件系統(tǒng),該文件系統(tǒng)是專門為NAND閃存設(shè)計,適用于大容量存儲設(shè)備設(shè)計。具體制作過程如下:
l)編譯 BusyBox,在 root--busybox 下加入/dev、/etc、/lib 等必須目錄。
2)解壓root_condense.taLbzZ壓縮包到pc機(jī)的/opt/mysys目錄下面,把第一步編譯出來的BusyBox復(fù)制到root_condense目錄下面對應(yīng)的目錄里面。
3)執(zhí)行 tarxvfjmkyaffsimage.tar.bz2-C/Opt/mysys/mkyaffsimage命令,得到需要的軟件mkyaffeimage。
4)然后到生產(chǎn)軟件的目錄下運(yùn)行./mkyaffsimage rootcond ense/rootcondense.img就可以完成Yaffs根文件系統(tǒng)映像了。
到此為止,整個嵌入式系統(tǒng)的平臺搭建完成了。
SMTP(simple mail transfer protocol)是在 Iternet上傳送郵件的主要手段,是Iternet上傳送郵件的標(biāo)準(zhǔn)協(xié)議。SMTP設(shè)計基于以下通信模型:針對用戶的郵件請求,發(fā)送SMTP建立與接收SMTP之間建立一個雙向傳送通道。接收SMTP可以是最終接收者也可以是中間傳送者。SMTP命令由發(fā)送SMTP發(fā)出,由接收SMTP接收,而應(yīng)答則反方面?zhèn)魉汀R坏﹤魉屯ǖ澜ⅲ琒MTP發(fā)送者發(fā)送MAIL命令指明郵件發(fā)送者。如果SMTP接收者可以接收郵件則返回OK應(yīng)答。SMTP發(fā)送者再發(fā)出RCPT命令確認(rèn)郵件是否接收到。如果SMTP接收者接收,則返回OK應(yīng)答;如果不能接收到,則發(fā)出拒絕接收應(yīng)答(但不中止整個郵件操作),雙方將如此重復(fù)多次。當(dāng)接收者收到全部郵件后會接收到特別的序列,如果接收者成功處理了郵件,則返回OK應(yīng)答。
但是SMTP不能傳送可執(zhí)行文件或者其他二進(jìn)制對象,限于傳送7位的ASCLL碼,傳送長度受限制,而且沒有完全按照RFC 821標(biāo)準(zhǔn)。這種情況下擴(kuò)充了MIME。但是并沒有取代SMTP,而是繼續(xù)適用當(dāng)前格式只是增加了郵件主體結(jié)構(gòu),并定義了非ASCLL碼編碼規(guī)則,是現(xiàn)郵件主體可以含有多種碼制,兩種協(xié)議結(jié)合組成了本系統(tǒng)的郵件發(fā)送模塊。
嵌入式無線網(wǎng)絡(luò)終端實(shí)現(xiàn)GPRS過程如下:嵌入式處理器通過AT指令對GPRS Modem進(jìn)行撥號,得到應(yīng)答后一條GPRS信道建立,本系統(tǒng)中即GPRS MODEM和Iternet之間建立起連接。GPRS終端由控制終端、TCP/IP模塊和無線發(fā)送模塊實(shí)現(xiàn),結(jié)構(gòu)框圖如圖4所示。

圖4 GPRS無線傳輸終端結(jié)構(gòu)圖Fig.4 GPRS Wireless terminal diagram
控制模塊通過AT指令初始化GPRS無線模塊,使之附著在GPRS網(wǎng)絡(luò)上,獲得網(wǎng)絡(luò)運(yùn)營商動態(tài)分配給GPRS終端的IP地址,并與目的終端或服務(wù)器之間建立連接;控制模塊通過RS232串口向客戶系統(tǒng)收發(fā)數(shù)據(jù)或指令;控制模塊通過RS232串口向TCP/IP模塊收發(fā)數(shù)據(jù)。
本系統(tǒng)中連入Iternet是使用的PPP(point to point)協(xié)議,ppp協(xié)議是一種數(shù)據(jù)鏈路層協(xié)議,它是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路設(shè)計的。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包。但是本系統(tǒng)中不支持PPP協(xié)議,所以需要對該協(xié)議進(jìn)行編譯移植,使得監(jiān)測終端能夠運(yùn)行該協(xié)議與網(wǎng)絡(luò)進(jìn)行連接。移植該協(xié)議的步驟如下:
1)下載pppd源碼包,并解壓,對解壓后的文件進(jìn)行配置,然后用交叉編譯器對其進(jìn)行編譯;
2)配置kernel使之支持ppp相應(yīng)選項(xiàng);
3)將前面準(zhǔn)備好的文件拷貝到監(jiān)測終端的文件系統(tǒng)中的/usr/sbin/ppp目錄中,并將它們的屬性改為755,同時建立ppp設(shè)備設(shè)置好主次設(shè)備號,注意主設(shè)備號不能與其他沖突,并且編輯/etc/modules.conf文檔,增加options pp_async flag_time=0項(xiàng);
4)配置etc/ppp目錄下的ppp-on與ppp-on-dialer腳本,并在該目錄下配置pap-secrets文件。
經(jīng)過試驗(yàn)測試基于ARM的嵌入式家用無線視頻監(jiān)控系統(tǒng)取得了良好的效果,能夠很好的按照系統(tǒng)設(shè)計實(shí)現(xiàn)所有功能,證明該系統(tǒng)設(shè)計和器件選擇是科學(xué)合理的。該系統(tǒng)最大特點(diǎn)是能夠按照用戶的偏好向特定郵箱發(fā)送實(shí)時照片以供用戶查看,良好的實(shí)時性解決了以往家用監(jiān)控系統(tǒng)信息嚴(yán)重滯后的問題,這也使得系統(tǒng)能夠很好的勝任需要實(shí)時監(jiān)控的工作環(huán)境。
[1]劉剛,趙劍川.Linux系統(tǒng)移植[M].北京:清華大學(xué)出版社,2011.
[2]單立平.嵌入式Linux網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計與TCP/Ipx協(xié)議棧[M].北京:電子工業(yè)出版社,2011.
[3]孫建華.Linux網(wǎng)絡(luò)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2008.
[4]林曉飛.基于ARM嵌入式Linux應(yīng)用開發(fā)與實(shí)例教程[M].北京:清華大學(xué)出版社,2007.
[5]三恒星科技.ARM9應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2008.
[6]張寶社,陸平.Linux網(wǎng)絡(luò)技術(shù)[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1999.
[7]湯子瀛.計算機(jī)網(wǎng)絡(luò)技術(shù)及其應(yīng)用[M].成都:電子科技大學(xué)出版社,1999.
[8]上海:芯訊通無線科技有限公司芯訊通3G/HSDPA模塊SIM5320硬件設(shè)計手冊[EB/OL].(2011-2-29)http://wm.sim.com/Sim/FrontShow_en/wireless/detail.aspx?pid =40&cid =11&nid=1231.