《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ARM9和GSM/GPRS的無線可移動紅外監(jiān)測報(bào)警系統(tǒng)
基于ARM9和GSM/GPRS的無線可移動紅外監(jiān)測報(bào)警系統(tǒng)
電子技術(shù)
邵輝 武漢大學(xué)
摘要: 基于ARM9和GSM/GPRS的無線可移動紅外監(jiān)測報(bào)警系統(tǒng),0 引言 傳統(tǒng)的圖像監(jiān)測系統(tǒng)往往布線復(fù)雜,通過遠(yuǎn)距離有線傳輸而費(fèi)用高昂,,并且靈活機(jī)動性小,由于GPRS(通用分組無線業(yè)務(wù))通信技術(shù)在中低速率無線數(shù)據(jù)傳輸方面的突出優(yōu)勢,,基于GPRS網(wǎng)絡(luò)的圖像監(jiān)測系統(tǒng)打破了電纜
Abstract:
Key words :

0 引言
    傳統(tǒng)的圖像監(jiān)測系統(tǒng)往往布線復(fù)雜,通過遠(yuǎn)距離有線傳輸而費(fèi)用高昂,,并且靈活機(jī)動性小,,由于GPRS(通用分組無線業(yè)務(wù))通信技術(shù)在中低速率無線數(shù)據(jù)傳輸方面的突出優(yōu)勢,基于GPRS網(wǎng)絡(luò)的圖像監(jiān)測系統(tǒng)打破了電纜和光纖傳輸?shù)南拗?,在圖像監(jiān)控系統(tǒng)市場中占有很大優(yōu)勢,。但是使用GPRS網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)監(jiān)控的網(wǎng)路費(fèi)用較大,而在某些場合,,比如運(yùn)送重要物品的貨車,、無人值守的貴重設(shè)備等并不需要實(shí)時(shí)監(jiān)控,僅當(dāng)有入侵障礙物時(shí)才需要采集和傳輸現(xiàn)場圖像并發(fā)送報(bào)警信號,,以達(dá)到監(jiān)測和防盜的目的,。
    針對這個(gè)問題,本文設(shè)計(jì)了一種基于ARM9GSM/GPRS網(wǎng)絡(luò)的無線可移動紅外監(jiān)測報(bào)警系統(tǒng),,使用紅外監(jiān)測模塊對被監(jiān)測點(diǎn)進(jìn)行監(jiān)測,,當(dāng)探測到入侵障礙物時(shí)調(diào)用圖像采集設(shè)備對現(xiàn)場狀況進(jìn)行圖像采集并以JPEG格式保存在終端的存儲系統(tǒng)中,然后使用GPRS模塊將最新的現(xiàn)場圖像通過GPRS網(wǎng)絡(luò)傳輸?shù)街付ǖ腇TP服務(wù)器上,,并以短信息的方式向用戶報(bào)警,。本系統(tǒng)的紅外監(jiān)測觸發(fā)傳輸圖像模式可以使系統(tǒng)按流量計(jì)費(fèi)來節(jié)省GPRS網(wǎng)絡(luò)通信費(fèi)用,,它的通用性強(qiáng),,可行性和性價(jià)比高,在實(shí)際應(yīng)用中有一定的價(jià)值,。

1 系統(tǒng)的體系結(jié)構(gòu)
    從體系結(jié)構(gòu)上看,,本系統(tǒng)由遠(yuǎn)程監(jiān)測終端,、GSM/GPRS及Internet無線網(wǎng)絡(luò)、FTP服務(wù)器監(jiān)控中心及用戶手機(jī)組成,。監(jiān)控中心通過數(shù)字?jǐn)?shù)據(jù)網(wǎng)專線與Internet互聯(lián),,具有固定的IP地址。遠(yuǎn)程監(jiān)測終端由終端控制單元,、圖像采集設(shè)備,、紅外監(jiān)測設(shè)備及GSM/GPRS模塊組成。圖1所示為本系統(tǒng)的整體體系結(jié)構(gòu)示意圖,。

2 終端的硬件設(shè)計(jì)
2.1 終端的硬件結(jié)構(gòu)
    系統(tǒng)中終端使用ARM9內(nèi)核的S3C2410為處理器,,以TX-05D紅外線反射開關(guān)作為紅外監(jiān)測模塊,使用包含USB接口和ZC301p芯片的CMOS圖像傳感器作為圖像采集設(shè)備,,采用GSM/GPRS模塊WAVECOM Q2403A作為無線傳輸模塊,。圖2為遠(yuǎn)程監(jiān)測終端的硬件結(jié)構(gòu)框圖。

2.2 終端的硬件實(shí)現(xiàn)
    S3C2410微處理器有豐富的外設(shè)接口,,其中包括117個(gè)復(fù)用功能輸入/輸出端口引腳,,即GPIO口,每一個(gè)端口都可以通過軟件設(shè)置來滿足各種系統(tǒng)配置和設(shè)計(jì)需求[1],。終端中使用S3C2410微處理器GPIO口中的GPG6口以輸入模式連接紅外監(jiān)測模塊的數(shù)據(jù)線,,當(dāng)紅外監(jiān)測模塊探測到入侵障礙物時(shí),數(shù)據(jù)線將向GPG6口輸入高電平信號,,從而被處理器識別并做出相關(guān)處理,。GSM/GRPS模塊WAVECOMQ2403A通過串口2連接到S3C2410實(shí)現(xiàn)圖像傳輸和短信息發(fā)送。終端中圖像采集設(shè)備是USB接口的,、基于ZC301p芯片的CMOS圖像傳感器,,它連接到S3C2410的USB HOST口中,實(shí)現(xiàn)圖像的采集,。終端電源模塊為S3C2410及各個(gè)設(shè)備提供相應(yīng)的工作電壓,。通過進(jìn)行模擬試驗(yàn),終端的硬件設(shè)計(jì)能夠達(dá)到功能和性能上的要求,,基本能夠進(jìn)行實(shí)際應(yīng)用,。

3 終端的軟件設(shè)計(jì)
3.1 終端的軟件結(jié)構(gòu)
    終端的軟件包括引導(dǎo)加載程序Bootloader、操作系統(tǒng)內(nèi)核,、設(shè)備驅(qū)動程序和應(yīng)用層程序,,其軟件結(jié)構(gòu)如圖3所示。

    終端的文件系統(tǒng)采用了雙文件系統(tǒng),,即以cramfs不可寫文件系統(tǒng)存儲系統(tǒng)文件,,以jffs2可讀寫文件系統(tǒng)存儲數(shù)據(jù)文件,從而既可以使系統(tǒng)文件得到可靠保護(hù),又可以方便前期調(diào)試工作和圖像數(shù)據(jù)文件的讀寫,。這也是本設(shè)計(jì)的一個(gè)特點(diǎn),。
3.2 設(shè)備驅(qū)動程序
    設(shè)備驅(qū)動程序可以被看作操作系統(tǒng)的一部分,對于某個(gè)特定的硬件設(shè)備來說,,其對應(yīng)的設(shè)備驅(qū)動程序是不同的,。操作系統(tǒng)本身是沒有各種設(shè)備驅(qū)動的,但是它留下了擴(kuò)展設(shè)備驅(qū)動的接口,。本終端系統(tǒng)中的設(shè)備驅(qū)動程序主要包括GPIO驅(qū)動,、USB接口驅(qū)動、視頻設(shè)備驅(qū)動和GSM/GPRS串口驅(qū)動,。
    GPIO驅(qū)動是針對GPIO輸入/輸出端口進(jìn)行的驅(qū)動程序開發(fā),,主要的部分是GPIO端口的初始化和配置,經(jīng)過測試終端采用GPIO總線中的GPG6口以輸入模式來接收紅外監(jiān)測模塊傳入的高電平信號,。USB接口驅(qū)動由三部分組成:主機(jī)控制器驅(qū)動程序(HCD),、USB驅(qū)動(USBD)、設(shè)備端驅(qū)動程序(Slave Device Driver),,它主要是為支持USB接口的圖像采集設(shè)備的使用,。GSM/GPRS串口驅(qū)動是字符設(shè)備驅(qū)動,系統(tǒng)中選用的串口2對應(yīng)的設(shè)備文件為/dev/tts/1,,初始化串口2的波特率為115200 B/s,,8位數(shù)據(jù)位,無奇偶校驗(yàn),,1位停止位,,實(shí)現(xiàn)了GSM/GPRS模塊的連接。
    本系統(tǒng)中使用的視頻設(shè)備驅(qū)動為SPCA5XX,,它是面向該ZC301p芯片的,,其實(shí)現(xiàn)是按照標(biāo)準(zhǔn)的USB VIDEO設(shè)備的驅(qū)動框架編寫的,整個(gè)源程序由三個(gè)主體部分組成:設(shè)備的初始化模塊和卸載模塊,、上層軟件接口模塊,、數(shù)據(jù)傳輸模塊。此視頻設(shè)備驅(qū)動程序的設(shè)計(jì),,能夠取到應(yīng)用程序所需要的jpeg流,。在此不能不提到ioct1的作用。為了補(bǔ)充設(shè)備讀寫操作的功能,,例如控制硬件等,,最常用的通過設(shè)備驅(qū)動程序完成控制動作的方法就是實(shí)現(xiàn)ioct1方法。ioct1系統(tǒng)調(diào)用為驅(qū)動程序執(zhí)行"命令"提供了一個(gè)設(shè)備相關(guān)的入口點(diǎn),。與read和其他方法不同,,ioct1是設(shè)備相關(guān)的,,它允許應(yīng)用程序訪問被驅(qū)動硬件的特殊功能一配置設(shè)備以及進(jìn)入或退出操作模式。在本設(shè)計(jì)中用到的,,是通過ioct1截取jpeg流和配置圖像采集設(shè)備的參數(shù)。
3.3 PPP撥號腳本
    本設(shè)計(jì)中,,對于處理器而言,,GPRS模塊就相當(dāng)于一個(gè)調(diào)制解調(diào)器,處理器通過串口發(fā)送AT命令控制GPRS模塊工作情況和得到GPRS模塊相關(guān)信息,。中國移動在GPRS網(wǎng)中建立了相當(dāng)于ISP的GGSN,,以連接GPRS網(wǎng)與外部的Internet網(wǎng)絡(luò)。要使用GPRS功能首先要登錄GPRS網(wǎng)絡(luò)中的GGSN,,這個(gè)工作可以通過相關(guān)AT命令完成,。同時(shí),為了能夠進(jìn)行IP數(shù)據(jù)包的傳輸,,就必須首先實(shí)現(xiàn)數(shù)據(jù)鏈路層PPP協(xié)議,。
    PPP是簡單鏈路設(shè)計(jì)的鏈路層協(xié)議。設(shè)計(jì)目的主要是用來建立點(diǎn)對點(diǎn)連接,,進(jìn)行數(shù)據(jù)收發(fā),。PPP協(xié)議中主要任務(wù)有鏈路建立、維護(hù),、拆除,、上層協(xié)議協(xié)商和認(rèn)證等。在GPRS網(wǎng)絡(luò)中一般用到的有LCP(鏈路控制協(xié)議),、PAP(密碼驗(yàn)證協(xié)議),、CHAP(挑戰(zhàn)握手驗(yàn)證協(xié)議)和IPCP協(xié)議(PPP IP控制協(xié)議)。為了建立點(diǎn)到點(diǎn)連接,,PPP連接時(shí)的兩端開始都必須發(fā)送LCP數(shù)據(jù)包來配置和測試數(shù)據(jù)連接,;在連接建立后,對等實(shí)體還有可能需要認(rèn)證,;然后,,PPP必須發(fā)送NCP數(shù)據(jù)包來選擇一種或多種網(wǎng)絡(luò)層協(xié)議來配置。一旦網(wǎng)絡(luò)層協(xié)議被配置好后,,該網(wǎng)絡(luò)層的數(shù)據(jù)包就可以被封裝在ppp 幀中在鏈路上傳送了,。PPP鏈路將保持可配置的狀態(tài),直到有LCP數(shù)據(jù)包和NCP數(shù)據(jù)包終止連接,。在GPRS模塊撥號成功后,,就要進(jìn)行LCP協(xié)商配置。交互過程完成后,,終端將主動進(jìn)行PAP認(rèn)證,,發(fā)出PAP數(shù)據(jù)包,,進(jìn)入認(rèn)證鑒權(quán)階段。
    PAP認(rèn)證主要進(jìn)行用戶名和密碼認(rèn)證,,其數(shù)據(jù)包仍然封裝在PPP6幀內(nèi),,格式和LCP一致。進(jìn)入PAF認(rèn)證階段,,終端主動發(fā)出Authenticate-Request數(shù)據(jù)包,,由于中國移動使用的GPRS可以設(shè)置任意的用戶名和密碼,因此本設(shè)計(jì)中使用的用戶名和密碼都為"lab",。接下來進(jìn)入IPCP設(shè)置階段,。
    在IPCP配置過程中,可以設(shè)置網(wǎng)絡(luò)連接中的網(wǎng)絡(luò)環(huán)境,,主要包括協(xié)商分配IP地址,、IP壓縮協(xié)議和DNS服務(wù)器地址等。由于不需要進(jìn)行域名的解析和IP壓縮,,因而只進(jìn)行IP地址的配置,。
    經(jīng)過上述PPP協(xié)議數(shù)據(jù)交換過程,數(shù)據(jù)鏈路已經(jīng)建立,,但是要進(jìn)行數(shù)據(jù)的傳輸,,還要進(jìn)行IP協(xié)議和TCP/UDP協(xié)議的實(shí)現(xiàn)。由于Linux內(nèi)核已經(jīng)支持TCP/IP協(xié)議,,并且在內(nèi)核配置時(shí)選中支持PPP協(xié)議,,就可以完成上述的協(xié)議支持。為了完成上述的PPP協(xié)議實(shí)現(xiàn)過程,,需要在文件系統(tǒng)的/et c文件夾下添加撥號腳本文件,,并且在/usr/bin文件夾下添加應(yīng)用程序pppd和chat。chat程序定義了計(jì)算機(jī)和modem之間的對話交互,,完成撥號動作,。pppd后臺程序則同內(nèi)核ppp驅(qū)動一起建立并維護(hù)與另一端的ppp連接,并確定連接兩端的IP地址,。
3.4 應(yīng)用層程序
    應(yīng)用層程序中包括紅外監(jiān)測模塊,、圖像采集模塊、GPRS無線傳輸模塊及GSM短信息發(fā)送模塊,。下面主要介紹圖像采集模塊與GPRS無線傳輸模塊的實(shí)現(xiàn),。
3.4.1 圖像采集模塊
    在Linux環(huán)境下,編寫獲取視頻音頻的應(yīng)用程序,,都使用V4L標(biāo)準(zhǔn),,V4L(Video for Linux標(biāo)準(zhǔn)是Linux中通行的音頻視頻流采集標(biāo)準(zhǔn)。它為內(nèi)核,、驅(qū)動和應(yīng)用程序的交流提供了統(tǒng)一的接口,。在應(yīng)用程序中利用V4LAPI獲取視頻圖像按以下幾個(gè)步驟進(jìn)行:打開視頻設(shè)備,、設(shè)置設(shè)備的屬性(圖像的亮度、對比度,、設(shè)定傳輸格式和傳輸方式),、開始傳輸數(shù)據(jù),最后關(guān)閉設(shè)備,。
    首先,,定義與設(shè)備相關(guān)的結(jié)構(gòu)體如下:

    struct vldeo_capabil i ty capabi li ty; //視頻設(shè)備的屬性
    struct video_window captureWindow,; //包含獲取到的圖像的長和寬
    struct video_picture imageProperties; //包含獲取到的圖像屬性
    結(jié)構(gòu)體struct video_capabi lity包含視頻設(shè)備的屬性有:視頻設(shè)備的規(guī)范名稱,、接口類,、所能獲取的最大圖像的寬和長、所能獲取的最小圖像的寬和長,。其次,,要使用ioctl系統(tǒng)調(diào)用,ioctl系統(tǒng)調(diào)用的功能是通過打開的文件描述符對各種文件,,尤其是字符設(shè)備文件進(jìn)行控制,,完成特定的I/O操作。V4L支持的ioctl命令大約有二十多個(gè),,在應(yīng)用中主要用的是下面幾個(gè)命令:
    ioctl(fd,,V IDIOCGCAP,&capability),; //獲取視頻設(shè)備的基本功能信息
    ioctl(fd,,VIDIOCGPICT,&picture),; //設(shè)置和獲取采集圖像的各種屬性
    ioct l(fd,,VIDIOCGMBUF,*mbuf),; //獲取緩沖區(qū)信息
    ioctl(fd,,VIDIOCMCAPTURE,&mmap),; //捕捉圖像,,獲取圖像信息
    ioctl(fd,VIDIOCSYNC,,&frame),; //等待捕獲完成的圖像
    本設(shè)計(jì)中主要設(shè)置的參數(shù)有:捕獲的圖像大小為320×240像素,圖像幀的調(diào)色板palette值為21,,圖像色彩深度為8位,。
    最后,,使用read方法實(shí)現(xiàn)圖像的獲取,read方法則可以直接讀取設(shè)備文件來獲取一幀數(shù)據(jù)保存到緩沖區(qū)中,。通過convertframe()函數(shù)將pFramebuffer中的數(shù)據(jù)轉(zhuǎn)成完整的jpeg格式的數(shù)據(jù)保存到ptframe緩存中去,,再調(diào)用fwrite()函數(shù)將pt-frame緩存中的jpeg式數(shù)據(jù)寫入到指定的文件中去,即得到一幅jpeg格式的圖像,。另外要提到的是本設(shè)計(jì)中為了方便服務(wù)器端讀取上傳的圖片,,將圖像文件重名為系統(tǒng)時(shí)間格式。這時(shí)需要調(diào)用Linux系統(tǒng)函數(shù)time和1ocaltime,。綜上,,圖像采集模塊已經(jīng)實(shí)現(xiàn)。
3.4.2 GPRS無線傳輸模塊
    本設(shè)計(jì)中使用socket(套接字)編程技術(shù)來實(shí)現(xiàn)GPRS網(wǎng)絡(luò)中FTP文件的傳輸,,它是網(wǎng)絡(luò)通信中應(yīng)用進(jìn)程和網(wǎng)絡(luò)協(xié)議之間的接口,。在Linux操作系統(tǒng)中,socket屬于文件系統(tǒng)的一部分,,網(wǎng)絡(luò)通信就像文件讀取一樣方便,。并且socket用IP地址加上端口號來唯一地標(biāo)志一個(gè)進(jìn)程。利用socket實(shí)現(xiàn)通信就像網(wǎng)絡(luò)上大部分通信一樣,,是在客戶機(jī)/服務(wù)器(client/server)模式下進(jìn)行的,。這種模式下,將請求服務(wù)的一方稱為客戶端,,將提供服務(wù)的一方稱為服務(wù)器端,。和大多數(shù)的應(yīng)用程序一樣,客戶端和服務(wù)器端使用傳輸協(xié)議進(jìn)行通信,。應(yīng)用程序通過傳輸協(xié)議進(jìn)行交互時(shí)所用的接口稱為應(yīng)用程序接口(Application Program Interface,,API)。一個(gè)API定義了應(yīng)用程序與協(xié)議軟件進(jìn)行交互時(shí)可以使用的一組操作,。本設(shè)計(jì)中使用了FTP協(xié)議來傳輸圖像數(shù)據(jù)文件,。一次完整的FTP文件傳輸需要建立兩種類型的連接,一種為文件傳輸下命令,,稱為控制連接,,另一種實(shí)現(xiàn)真正的文件傳輸,稱為數(shù)據(jù)連接,。
    本系統(tǒng)中使用socket編程技術(shù)實(shí)現(xiàn)GRPS網(wǎng)絡(luò)中無線FTP傳輸圖像的具體步驟是這樣的,;首先,建立socket客戶端的部分,,用來發(fā)送FTP命令等參數(shù),。調(diào)用socket()創(chuàng)建了套接字,返回了該socket的描述符,。接著,,將服務(wù)端的IP地址,、端口號和網(wǎng)絡(luò)地址類型(本設(shè)計(jì)中是PF INET,表明該socket在Internet域中進(jìn)行通信)填充到該socket結(jié)構(gòu)體中,。然后建立剛創(chuàng)建的套接字的連接,,通過此套接字發(fā)送登錄該FTP服務(wù)器的相關(guān)命令:發(fā)送登錄名和密碼;使用TYPE命令設(shè)置文件的傳輸類型為I,。接著,,建立作為socket服務(wù)器端的部分,用來發(fā)送數(shù)據(jù)文件,。與socket客戶端不同的是需要先創(chuàng)建socket,,然后綁定本地地址(也就是由GPRS系統(tǒng)DHCP分配的IP地址)到該socket上。接著是監(jiān)聽這個(gè)socket,,當(dāng)監(jiān)聽到與socket客戶端(也是FTP服務(wù)器端)連接上時(shí),,開始請求發(fā)送圖像數(shù)據(jù)文件的命令。這部分實(shí)際也充當(dāng)了FTP的客戶端工作,。在監(jiān)聽到連接后,,使用PORT命令監(jiān)聽等待連接的端口,,接著使用STOR命令發(fā)送上傳文件的請求,。
    在收到連接成功的回應(yīng)后,作為socket服務(wù)器端的代碼,,要調(diào)用accept函數(shù),,表示可以接受socket客戶端,即FTP服務(wù)器端的連接請求,,然后開始打開最新的圖像數(shù)據(jù)文件,,通過數(shù)據(jù)鏈路發(fā)送文件。圖像文件傳輸完成后,,需要關(guān)閉文件流,,并關(guān)閉以上創(chuàng)建的socket連接,以免在下次傳輸時(shí)出現(xiàn)錯(cuò)誤,。如此便完成了GPRS無線傳輸模塊的設(shè)計(jì),,GPRS無線傳輸模塊的流程圖如圖4所示。

3.4.3 應(yīng)用層主程序
    在各個(gè)模塊的功能實(shí)現(xiàn)之后,,終端的應(yīng)用層主程序進(jìn)行模塊的集成,,完成系統(tǒng)的功能,如圖5即為終端的應(yīng)用層主程序的流程圖,。
3.5 終端的軟件實(shí)現(xiàn)
    終端的軟件實(shí)現(xiàn)主要包括對引導(dǎo)加載程序和操作系統(tǒng)內(nèi)核的定制和裁減,、文件系統(tǒng)的配置、驅(qū)動程序和應(yīng)用程序的編寫和交叉編譯,。終端的驅(qū)動程序和應(yīng)用程序在Linux宿主機(jī)上以C語言編寫,,以arm-linux-gcc.3.3.2完成交叉編譯后隨文件系統(tǒng)一起燒寫到嵌入式終端的NAND FLASH存儲系統(tǒng)中,,驅(qū)動程序以模塊方式插入系統(tǒng)內(nèi)核,應(yīng)用程序在系統(tǒng)加電后一直運(yùn)行,。經(jīng)過測試,,終端的軟件系統(tǒng)能夠完成紅外監(jiān)測、圖像采集,、GPRS傳輸圖像和GSM短信息報(bào)警的功能,,達(dá)到了實(shí)際應(yīng)用的要求。

4 結(jié)語
    通過上述工作,,完成了基于ARM9和GSM/GPRS網(wǎng)絡(luò)的無線可移動紅外監(jiān)測報(bào)警系統(tǒng)的軟硬件設(shè)計(jì)和實(shí)現(xiàn),。本系統(tǒng)可以使用在無人值守的重要場合,完成對敏感物體的監(jiān)測和報(bào)警,,防止外來入侵障礙物的影響,,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測和報(bào)警的功能。系統(tǒng)有無線可移動和紅外監(jiān)測觸發(fā)傳輸圖像等特點(diǎn),,可以節(jié)省布線成本和使用時(shí)的GPRS網(wǎng)絡(luò)費(fèi)用,,并且處理速度高、性能好,、通用性強(qiáng),、可行性和性價(jià)比高,在實(shí)際應(yīng)用中有一定的價(jià)值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。