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