摘 要: 提出了一種基于嵌入式Linux和GSM網(wǎng)絡(luò)的遠(yuǎn)程無(wú)線監(jiān)控圖像文件傳輸系統(tǒng),,給出了具體的設(shè)計(jì)和實(shí)現(xiàn)原理。
關(guān)鍵詞: 嵌入式Linux 無(wú)線 圖像文件傳輸
目前遠(yuǎn)程監(jiān)控系統(tǒng)的種類很多,。在眾多產(chǎn)品中,圖像,、聲音和控制信號(hào)的傳輸方式相差無(wú)幾,,大部分是通過(guò)電話線、ISDN,、DDN,、ADSL等有線通信網(wǎng)絡(luò)來(lái)傳輸,而在無(wú)線傳輸遠(yuǎn)程圖像監(jiān)控方面的研究成果還較少,。由于近距離的監(jiān)控及有線監(jiān)控易受到人為破壞,,而無(wú)線遠(yuǎn)距離監(jiān)控能更好地起到監(jiān)控報(bào)警的作用。因此,,遠(yuǎn)程無(wú)線監(jiān)控是未來(lái)這類系統(tǒng)的主要方式,,而對(duì)圖像文件及控制信號(hào)的傳輸將是其難點(diǎn)。
在實(shí)現(xiàn)監(jiān)控的過(guò)程中,監(jiān)控圖像的編碼,、壓縮和傳輸都要做到無(wú)人化和自動(dòng)化,。這需要對(duì)整個(gè)過(guò)程進(jìn)行有效的控制,并且監(jiān)控端的體積盡量做到小型化,。要達(dá)到這些要求則需要應(yīng)用嵌入式操作系統(tǒng)(Embedded Operation Systems),。目前,商用嵌入式操作系統(tǒng)比較多,如Vxworks、QNX,、Nucleaus,、WinCE等。但是這些系統(tǒng)還不能完全滿足要求,。而uClinux(嵌入式Linux)具有源代碼開放,、強(qiáng)大的技術(shù)支持、良好的可擴(kuò)展性,、支持眾多硬件等優(yōu)點(diǎn),,是此監(jiān)控平臺(tái)的最佳選擇。這里選擇Linux2.4內(nèi)核的uClinux作為平臺(tái)操作系統(tǒng),。
1 系統(tǒng)整體設(shè)計(jì)
整個(gè)系統(tǒng)是基于uClinux的圖像文件傳輸系統(tǒng),,由監(jiān)控端和服務(wù)器端組成。監(jiān)控端MPU主要采用Motorola公司的ColdFire嵌入式處理器MCF5272,。其內(nèi)部的SIM單元集成了豐富的通用模塊(如10/100Mbps快速以太網(wǎng)控制器,、USB1.1接口等),并且能夠與常用外圍設(shè)備(如SDRAM)實(shí)現(xiàn)無(wú)縫連結(jié),,從而簡(jiǎn)化了外圍電路設(shè)計(jì),,降低了產(chǎn)品成本,減小了體積和能耗[1],。圖像的采集,、編碼和壓縮采用臺(tái)灣華邦公司的W99200F圖像處理芯片。該芯片是一款實(shí)時(shí)JPEG/MPEG視頻編解碼芯片,,能快速有效地對(duì)圖像/視頻進(jìn)行硬件壓縮,。通信模塊采用Motorola公司的G18嵌入式模塊,用于實(shí)現(xiàn)遠(yuǎn)程無(wú)線連接,。監(jiān)控中心是整個(gè)系統(tǒng)的圖像保存和系統(tǒng)管理中心,,負(fù)責(zé)將圖像按時(shí)間整理入庫(kù),并顯示在屏幕上,,而且能在任何時(shí)候發(fā)送指令給監(jiān)控終端,,指揮和協(xié)調(diào)現(xiàn)場(chǎng)人員。以Red Hat7.3為操作系統(tǒng)的服務(wù)器端配置了Wu-ftp(Washington University FTP Server)服務(wù),,用于接收?qǐng)D像文件,,并建立相應(yīng)的數(shù)據(jù)庫(kù)服務(wù)器來(lái)存儲(chǔ)圖像/視頻和客戶資料,。監(jiān)控系統(tǒng)的結(jié)構(gòu)示意圖如圖1所示。
系統(tǒng)通常處于休眠狀態(tài),,一旦被遠(yuǎn)程控制指令,、本地按鈕或紅外觸發(fā),則系統(tǒng)被喚醒,。嵌入式處理器通過(guò)圖像芯片從攝像頭提取模擬信號(hào)進(jìn)行編碼和壓縮,,并將得到的圖像/視頻存儲(chǔ)在RAM中[2]。同時(shí)運(yùn)行通信模塊,,通過(guò)通信模塊自帶的無(wú)線Modem接入GSM網(wǎng),,實(shí)現(xiàn)無(wú)線連結(jié)到監(jiān)控服務(wù)器端,并啟動(dòng)自動(dòng)FTP 服務(wù),。一旦登錄服務(wù)器成功,,將通過(guò)FTP來(lái)實(shí)現(xiàn)圖像文件的傳輸。在服務(wù)器端,,系統(tǒng)自動(dòng)產(chǎn)生報(bào)警信號(hào),,在接收?qǐng)D像的同時(shí)解壓并存儲(chǔ)圖像文件,以達(dá)到監(jiān)控的目的,。
2 圖像文件傳輸?shù)膶?shí)現(xiàn)
整個(gè)系統(tǒng)的圖像文件傳輸是基于GSM網(wǎng)絡(luò)實(shí)現(xiàn)的,。監(jiān)控端的工作包括對(duì)異常信號(hào)的響應(yīng)、圖像的采集壓縮和編碼,、PPP撥號(hào)實(shí)現(xiàn)連接網(wǎng)絡(luò),。監(jiān)控端傳輸圖像的流程圖如圖2所示。服務(wù)器端接收?qǐng)D像流程如圖3所示,。
2.1 G18模塊實(shí)現(xiàn)無(wú)線撥號(hào)連接
G18嵌入式模塊是Motorola公司開發(fā)的一款嵌入式GSM/GPRS模塊,,其內(nèi)部自帶Modem,支持3種頻率,,可在全球通用,。它能使GSM網(wǎng)絡(luò)連接到Internet,實(shí)現(xiàn)系統(tǒng)與Internet的互聯(lián),,傳輸速率可達(dá)9.6Kbps,。而在GPRS分組交換時(shí),速率可達(dá)到57.6Kbps,。
G18模塊具有下列優(yōu)點(diǎn):硬件支持無(wú)線Modem功能,,外接或內(nèi)置SIM卡讀卡器,,具有臥式接口的單板配置,,支持GPS選項(xiàng),支持語(yǔ)音,、數(shù)據(jù),、傳真、短消息和WAP功能。G18相應(yīng)的外圍設(shè)備具有標(biāo)準(zhǔn)的RS-232接口,、電話手柄與免提自動(dòng)切換功能,,可支持對(duì)GPS的開發(fā)及G18 模塊軟啟動(dòng)[3]。
2.2 PPP的配置與自動(dòng)撥號(hào)的實(shí)現(xiàn)
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP Protocol)的繼承者,。它提供了跨過(guò)同步和異步電路實(shí)現(xiàn)Modem到Modem和主機(jī)到網(wǎng)絡(luò)(host-to-network)的連接,。
2.2.1 服務(wù)器端配置
在服務(wù)器端,采用了Red Hat7.3,。該系統(tǒng)完全安裝后不需要進(jìn)行重新編譯,,只需進(jìn)行簡(jiǎn)單配置即可支持PPP。具體操作如下:安裝mgetty軟件包,,使IP轉(zhuǎn)發(fā)有效,。修改配置文件/etc/inittab,執(zhí)行init q使設(shè)置生效,。建立文件/etc/ppp/option.ttyS1,,其內(nèi)容為:192.168.0.1:192.168.0.2。其中,,192.168.0.1是PPP服務(wù)器端的IP地址,;192.168.0.2是分配給用于監(jiān)控端撥入的IP地址[4]。
要使pppd能自動(dòng)啟動(dòng),,需要修改/etc/passwd文件,,將對(duì)應(yīng)用戶默認(rèn)的Shell程序Bash修改成pppd,并修改/etc/mgetty+sendfax/login.config,。
2.2.2 客戶端配置及自動(dòng)撥號(hào)的實(shí)現(xiàn)
在客戶端,,需要編譯嵌入式Linux的內(nèi)核使其支持PPP。在編譯的過(guò)程中將uClinux/user/pppd/,、chat/和diald/這3個(gè)目錄加入編譯,,然后編寫正確的撥號(hào)腳本和配置文件。
PPP客戶端所需的程序包括chat和pppd,。chat程序用于撥號(hào)并等待服務(wù)器端的提示,,使用戶根據(jù)提示輸入用戶名和密碼等登錄信息。pppd是建立并維持與服務(wù)器的PPP連接,,以傳輸數(shù)據(jù),。通常要安裝ppp-*.i386.rpm軟件包以得到/usr/sbin/chat和/usr/sbin/pppd文件。
要實(shí)現(xiàn)PPP自動(dòng)連接,,還需要配置/usr/doc/ppp-*/script目錄下的ppp-on-dialer和ppp-on文件,。ppp-on-dialer內(nèi)容如下:
……
″ ″AT\ #初始化Modem
OK ATDT$TELEPHONE\ #撥號(hào)
″CONNECT″ ″ ″ #連接
ogin:$USERNAME\ #用戶名
word:$PASSWORD #密碼
……
2.3 自動(dòng)FTP傳輸
文件傳輸協(xié)議FTP能夠快速、高效,、可靠地傳輸信息,。目前在各種平臺(tái)(包括Unix,、Linux、Windows NT以及NetWare等網(wǎng)絡(luò)操作系統(tǒng))上都實(shí)現(xiàn)了支持FTP的客戶和服務(wù)器系統(tǒng),。根據(jù)服務(wù)對(duì)象的不同,, 又可分為匿名FTP服務(wù)器和系統(tǒng)FTP服務(wù)器。前者允許任何人登錄獲取文件,,后者只允許在FTP服務(wù)器上有合法賬號(hào)的用戶使用,。本系統(tǒng)采用后者。
Wu-ftp是由華盛頓大學(xué)開發(fā)的 FTP 服務(wù)器軟件,,它除了具有普通 FTP 服務(wù)器所具有的功能以外,,還具有很多增強(qiáng)的功能。如用戶訪問(wèn)控制,,傳送壓縮,、解壓縮文件,文件訪問(wèn)日志等,。這進(jìn)一步增強(qiáng)了其安全性,,使它成為 Internet 上非常流行的 FTP 服務(wù)器軟件。
2.3.1 FTP服務(wù)器端的配置
在服務(wù)器端采用Red Hat7.3系統(tǒng),。安裝時(shí)選擇Wu-ftp并對(duì)其進(jìn)行配置,。需要配置的文件包括:/etc/ftpaccess、/etc/xientd.conf和/etc/xientd.d/wu-ftpd等,。
配置文件/etc/ftpaccess的部分內(nèi)容如下:
class local real 192.168.0.2 #采用實(shí)用戶登錄,,
#并限制用戶IP
upload /usr/ftp/ /incoming yes real 0644 dirs
#在incoming目錄下,允許實(shí)用戶上傳并新建目錄
2.3.2 FTP 自動(dòng)傳輸?shù)膶?shí)現(xiàn)
要實(shí)現(xiàn)系統(tǒng)的自動(dòng)運(yùn)行,,除了要使系統(tǒng)具有自動(dòng)撥號(hào)功能外,,還應(yīng)該使FTP能進(jìn)行自動(dòng)文件傳輸。由于本系統(tǒng)采用Motorola的ColdFire嵌入式處理器MCF5272作為客戶端,,操作系統(tǒng)用uClinux 內(nèi)核2.4版本,,因此,可以采用Shell腳本來(lái)實(shí)現(xiàn)此功能,。
Shell是用戶和Linux(更確切地說(shuō)是Linux內(nèi)核)之間的接口程序[5],,三者的關(guān)系如圖4所示。在提示符下輸入的每個(gè)命令都先由Shell解釋,,然后傳給Linux內(nèi)核,。Shell是命令語(yǔ)言解釋器(command-language interpreter),擁有自己內(nèi)建的 Shell命令集,。此外,,Shell也能被系統(tǒng)中其他有效的Linux 實(shí)用程序和應(yīng)用程序(utilities and application programs)所調(diào)用。Shell適用于系統(tǒng)管理,,而Bash(Bourne-again Shell)是大多數(shù)Linux自帶的Shell,也是最常用的Shell版本之一,。在本系統(tǒng)的設(shè)計(jì)中,采用Bash來(lái)實(shí)現(xiàn)FTP的自動(dòng)傳輸,。部分腳本如下:
這樣,,就可以在MCF5272的控制下,實(shí)現(xiàn)自動(dòng)FTP文件傳輸,。通過(guò)實(shí)驗(yàn),,已經(jīng)實(shí)現(xiàn)了在無(wú)人控制的情況下,從遠(yuǎn)程監(jiān)控端將監(jiān)控圖像傳輸至服務(wù)器端,,圖像清晰,、穩(wěn)定。
3 結(jié) 論
本文介紹的遠(yuǎn)程圖像監(jiān)控系統(tǒng)可以實(shí)現(xiàn)遠(yuǎn)程的主從式無(wú)線文件和數(shù)據(jù)的傳輸,,從而實(shí)現(xiàn)了主機(jī)與監(jiān)控端的通信,。該方案基于嵌入式Linux,源碼開放,,具有良好的擴(kuò)展性,傳輸可靠性,可滿足遠(yuǎn)距離監(jiān)控和數(shù)據(jù)采集系統(tǒng)的需要,。經(jīng)過(guò)測(cè)試,該系統(tǒng)能將10公里以外的現(xiàn)場(chǎng)圖像以2~3幀/s的速度傳輸至控制中心,。圖像清晰,、穩(wěn)定,為各級(jí)指揮者及時(shí)處理各種突發(fā)事件提供了有力的依據(jù),。系統(tǒng)還可以應(yīng)用于個(gè)人,、車輛、輪船和建筑等需要無(wú)線監(jiān)控的場(chǎng)合,,具有較為廣闊的應(yīng)用前景,。
參考文獻(xiàn)
1 Motorola Inc.MCF5272 ColdFire Integrated Microprocessor User′s Manual Rev1.2001
2 Winbond Electric Corp.W99200F Data Sheet Rve1.7.2000
3 Motorola Communications Ltd.G18-Developer Manual.2002
4 鴕鳥工作室.Linux 網(wǎng)絡(luò)應(yīng)用大全.北京:機(jī)械工業(yè)出版社,2002
5 Parker T.Slackware Linux Unleashed.Sams Publishing,,1997
6 Zhong X X,,Li X Y,Wu Z Z et al.Wireless Networked Microsensor and ITS Embedded System.Optics Precision Engineering,,2002,;(3)