<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM9的無(wú)線(xiàn)可移動(dòng)紅外監測報警系統

基于A(yíng)RM9的無(wú)線(xiàn)可移動(dòng)紅外監測報警系統

作者: 時(shí)間:2009-10-26 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引言

  傳統的圖像監測系統往往布線(xiàn)復雜,通過(guò)遠距離有線(xiàn)傳輸而費用高昂,并且靈活機動(dòng)性小,由于GPRS(通用分組無(wú)線(xiàn)業(yè)務(wù))通信技術(shù)在中低速率無(wú)線(xiàn)數據傳輸方面的突出優(yōu)勢,基于GPRS網(wǎng)絡(luò )的圖像監測系統打破了電纜和光纖傳輸的限制,在圖像監控系統市場(chǎng)中占有很大優(yōu)勢。但是使用GPRS網(wǎng)絡(luò )進(jìn)行實(shí)時(shí)監控的網(wǎng)路費用較大,而在某些場(chǎng)合,比如運送重要物品的貨車(chē)、無(wú)人值守的貴重設備等并不需要實(shí)時(shí)監控,僅當有入侵障礙物時(shí)才需要采集和傳輸現場(chǎng)圖像并發(fā)送報警信號,以達到監測和防盜的目的。

  針對這個(gè)問(wèn)題,本文設計了一種基于和GSM/GPRS網(wǎng)絡(luò )的無(wú)線(xiàn)可移動(dòng)紅外監測報警系統,使用紅外監測模塊對被監測點(diǎn)進(jìn)行監測,當探測到入侵障礙物時(shí)調用圖像采集設備對現場(chǎng)狀況進(jìn)行圖像采集并以JPEG格式保存在終端的存儲系統中,然后使用GPRS模塊將最新的現場(chǎng)圖像通過(guò)GPRS網(wǎng)絡(luò )傳輸到指定的FTP服務(wù)器上,并以短信息的方式向用戶(hù)報警。本系統的紅外監測觸發(fā)傳輸圖像模式可以使系統按流量計費來(lái)節省GPRS網(wǎng)絡(luò )通信費用,它的通用性強,可行性和性?xún)r(jià)比高,在實(shí)際應用中有一定的價(jià)值。

  1 系統的體系結構

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

整體體系結構示意圖

  2 終端的硬件設計

  2.1 終端的硬件結構

  系統中終端使用內核的S3C2410為處理器,以TX-05D紅外線(xiàn)反射開(kāi)關(guān)作為紅外監測模塊,使用包含USB接口和ZC301p芯片的CMOS 圖像傳感器作為圖像采集設備,采用GSM/GPRS模塊WAVECOM Q2403A作為無(wú)線(xiàn)傳輸模塊。圖2為遠程監測終端的硬件結構框圖。

硬件結構框圖

  2.2 終端的硬件實(shí)現

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

  3 終端的軟件設計

  3.1 終端的軟件結構

  終端的軟件包括引導加載程序Bootloader、操作系統內核、設備驅動(dòng)程序和應用層程序,其軟件結構如圖3所示。

軟件結構

  終端的文件系統采用了雙文件系統,即以cramfs不可寫(xiě)文件系統存儲系統文件,以jffs2可讀寫(xiě)文件系統存儲數據文件,從而既可以使系統文件得到可靠保護,又可以方便前期調試工作和圖像數據文件的讀寫(xiě)。這也是本設計的一個(gè)特點(diǎn)。

  3.2 設備驅動(dòng)程序

  設備驅動(dòng)程序可以被看作操作系統的一部分,對于某個(gè)特定的硬件設備來(lái)說(shuō),其對應的設備驅動(dòng)程序是不同的。操作系統本身是沒(méi)有各種設備驅動(dòng)的,但是它留下了擴展設備驅動(dòng)的接口。本終端系統中的設備驅動(dòng)程序主要包括GPIO驅動(dòng)、USB接口驅動(dòng)、視頻設備驅動(dòng)和GSM/GPRS串口驅動(dòng)。

  GPIO驅動(dòng)是針對GPIO輸入/輸出端口進(jìn)行的驅動(dòng)程序開(kāi)發(fā),主要的部分是GPIO端口的初始化和配置,經(jīng)過(guò)測試終端采用GPIO總線(xiàn)中的GPG6口以輸入模式來(lái)接收紅外監測模塊傳入的高電平信號。USB接口驅動(dòng)由三部分組成:主機控制器驅動(dòng)程序(HCD)、USB驅動(dòng)(USBD)、設備端驅動(dòng)程序 (Slave Device Driver),它主要是為支持USB接口的圖像采集設備的使用。GSM/GPRS串口驅動(dòng)是字符設備驅動(dòng),系統中選用的串口2對應的設備文件為/dev/tts/1,初始化串口2的波特率為115200 B/s,8位數據位,無(wú)奇偶校驗,1位停止位,實(shí)現了GSM/GPRS模塊的連接。

  本系統中使用的視頻設備驅動(dòng)為SPCA5XX,它是面向該ZC301p芯片的,其實(shí)現是按照標準的USB VIDEO設備的驅動(dòng)框架編寫(xiě)的,整個(gè)源程序由三個(gè)主體部分組成:設備的初始化模塊和卸載模塊、上層軟件接口模塊、數據傳輸模塊。此視頻設備驅動(dòng)程序的設計,能夠取到應用程序所需要的jpeg流。在此不能不提到ioct1的作用。為了補充設備讀寫(xiě)操作的功能,例如控制硬件等,最常用的通過(guò)設備驅動(dòng)程序完成控制動(dòng)作的方法就是實(shí)現ioct1方法。ioct1系統調用為驅動(dòng)程序執行"命令"提供了一個(gè)設備相關(guān)的入口點(diǎn)。與read和其他方法不同,ioct1是設備相關(guān)的,它允許應用程序訪(fǎng)問(wèn)被驅動(dòng)硬件的特殊功能一配置設備以及進(jìn)入或退出操作模式。在本設計中用到的,是通過(guò)ioct1截取jpeg流和配置圖像采集設備的參數。

  3.3 PPP撥號腳本

  本設計中,對于處理器而言,GPRS模塊就相當于一個(gè)調制解調器,處理器通過(guò)串口發(fā)送AT命令控制GPRS模塊工作情況和得到GPRS模塊相關(guān)信息。中國移動(dòng)在GPRS網(wǎng)中建立了相當于ISP的GGSN,以連接GPRS網(wǎng)與外部的Internet網(wǎng)絡(luò )。要使用GPRS功能首先要登錄GPRS網(wǎng)絡(luò )中的 GGSN,這個(gè)工作可以通過(guò)相關(guān)AT命令完成。同時(shí),為了能夠進(jìn)行IP數據包的傳輸,就必須首先實(shí)現數據鏈路層PPP協(xié)議。

  PPP是簡(jiǎn)單鏈路設計的鏈路層協(xié)議。設計目的主要是用來(lái)建立點(diǎn)對點(diǎn)連接,進(jìn)行數據收發(fā)。PPP協(xié)議中主要任務(wù)有鏈路建立、維護、拆除、上層協(xié)議協(xié)商和認證等。在GPRS網(wǎng)絡(luò )中一般用到的有LCP(鏈路控制協(xié)議)、PAP(密碼驗證協(xié)議)、CHAP(挑戰握手驗證協(xié)議)和IPCP協(xié)議(PPP IP控制協(xié)議)。為了建立點(diǎn)到點(diǎn)連接,PPP連接時(shí)的兩端開(kāi)始都必須發(fā)送LCP數據包來(lái)配置和測試數據連接;在連接建立后,對等實(shí)體還有可能需要認證;然后,PPP必須發(fā)送NCP數據包來(lái)選擇一種或多種網(wǎng)絡(luò )層協(xié)議來(lái)配置。一旦網(wǎng)絡(luò )層協(xié)議被配置好后,該網(wǎng)絡(luò )層的數據包就可以被封裝在ppp 幀中在鏈路上傳送了。PPP鏈路將保持可配置的狀態(tài),直到有LCP數據包和NCP數據包終止連接。在GPRS模塊撥號成功后,就要進(jìn)行LCP協(xié)商配置。交互過(guò)程完成后,終端將主動(dòng)進(jìn)行PAP認證,發(fā)出PAP數據包,進(jìn)入認證鑒權階段。

  PAP認證主要進(jìn)行用戶(hù)名和密碼認證,其數據包仍然封裝在PPP6幀內,格式和LCP一致。進(jìn)入PAF認證階段,終端主動(dòng)發(fā)出Authenticate- Request數據包,由于中國移動(dòng)使用的GPRS可以設置任意的用戶(hù)名和密碼,因此本設計中使用的用戶(hù)名和密碼都為"lab"。接下來(lái)進(jìn)入IPCP設置階段。

  在IPCP配置過(guò)程中,可以設置網(wǎng)絡(luò )連接中的網(wǎng)絡(luò )環(huán)境,主要包括協(xié)商分配IP地址、IP壓縮協(xié)議和DNS服務(wù)器地址等。由于不需要進(jìn)行域名的解析和IP壓縮,因而只進(jìn)行IP地址的配置。

  經(jīng)過(guò)上述PPP協(xié)議數據交換過(guò)程,數據鏈路已經(jīng)建立,但是要進(jìn)行數據的傳輸,還要進(jìn)行IP協(xié)議和TCP/UDP協(xié)議的實(shí)現。由于Linux內核已經(jīng)支持 TCP/IP協(xié)議,并且在內核配置時(shí)選中支持PPP協(xié)議,就可以完成上述的協(xié)議支持。為了完成上述的PPP協(xié)議實(shí)現過(guò)程,需要在文件系統的/et c文件夾下添加撥號腳本文件,并且在/usr/bin文件夾下添加應用程序pppd和chat。chat程序定義了計算機和modem之間的對話(huà)交互,完成撥號動(dòng)作。pppd后臺程序則同內核ppp驅動(dòng)一起建立并維護與另一端的ppp連接,并確定連接兩端的IP地址。

  3.4 應用層程序

  應用層程序中包括紅外監測模塊、圖像采集模塊、GPRS無(wú)線(xiàn)傳輸模塊及GSM短信息發(fā)送模塊。下面主要介紹圖像采集模塊與GPRS無(wú)線(xiàn)傳輸模塊的實(shí)現。

  3.4.1 圖像采集模塊

  在Linux環(huán)境下,編寫(xiě)獲取視頻音頻的應用程序,都使用V4L標準,V4L(Video for Linux標準是Linux中通行的音頻視頻流采集標準。它為內核、驅動(dòng)和應用程序的交流提供了統一的接口。在應用程序中利用V4LAPI獲取視頻圖像按以下幾個(gè)步驟進(jìn)行:打開(kāi)視頻設備、設置設備的屬性(圖像的亮度、對比度、設定傳輸格式和傳輸方式)、開(kāi)始傳輸數據,最后關(guān)閉設備。
首先,定義與設備相關(guān)的結構體如下:

struct vldeo_capabil i ty capabi li ty; //視頻設備的屬性
struct video_window captureWindow; //包含獲取到的圖像的長(cháng)和寬
struct video_picture imageProperties; //包含獲取到的圖像屬性

  結構體struct video_capabi lity包含視頻設備的屬性有:視頻設備的規范名稱(chēng)、接口類(lèi)、所能獲取的最大圖像的寬和長(cháng)、所能獲取的最小圖像的寬和長(cháng)。其次,要使用ioctl系統調用,ioctl系統調用的功能是通過(guò)打開(kāi)的文件描述符對各種文件,尤其是字符設備文件進(jìn)行控制,完成特定的I/O操作。V4L支持的ioctl命令大約有二十多個(gè),在應用中主要用的是下面幾個(gè)命令:

ioctl(fd,V IDIOCGCAP,&capability); //獲取視頻設備的基本功能信息
ioctl(fd,VIDIOCGPICT,&picture); //設置和獲取采集圖像的各種屬性
ioct l(fd,VIDIOCGMBUF,*mbuf); //獲取緩沖區信息
ioctl(fd,VIDIOCMCAPTURE,mmap); //捕捉圖像,獲取圖像信息
ioctl(fd,VIDIOCSYNC,&frame); //等待捕獲完成的圖像

  本設計中主要設置的參數有:捕獲的圖像大小為320×240像素,圖像幀的調色板palette值為21,圖像色彩深度為8位。

  最后,使用read方法實(shí)現圖像的獲取,read方法則可以直接讀取設備文件來(lái)獲取一幀數據保存到緩沖區中。通過(guò)convertframe()函數將 pFramebuffer中的數據轉成完整的jpeg格式的數據保存到ptframe緩存中去,再調用fwrite()函數將pt-frame緩存中的 jpeg式數據寫(xiě)入到指定的文件中去,即得到一幅jpeg格式的圖像。另外要提到的是本設計中為了方便服務(wù)器端讀取上傳的圖片,將圖像文件重名為系統時(shí)間格式。這時(shí)需要調用Linux系統函數time和1ocaltime。綜上,圖像采集模塊已經(jīng)實(shí)現。

  3.4.2 GPRS無(wú)線(xiàn)傳輸模塊

  本設計中使用socket(套接字)編程技術(shù)來(lái)實(shí)現GPRS網(wǎng)絡(luò )中FTP文件的傳輸,它是網(wǎng)絡(luò )通信中應用進(jìn)程和網(wǎng)絡(luò )協(xié)議之間的接口。在Linux操作系統中,socket屬于文件系統的一部分,網(wǎng)絡(luò )通信就像文件讀取一樣方便。并且socket用IP地址加上端口號來(lái)唯一地標志一個(gè)進(jìn)程。利用socket實(shí)現通信就像網(wǎng)絡(luò )上大部分通信一樣,是在客戶(hù)機/服務(wù)器(client/server)模式下進(jìn)行的。這種模式下,將請求服務(wù)的一方稱(chēng)為客戶(hù)端,將提供服務(wù)的一方稱(chēng)為服務(wù)器端。和大多數的應用程序一樣,客戶(hù)端和服務(wù)器端使用傳輸協(xié)議進(jìn)行通信。應用程序通過(guò)傳輸協(xié)議進(jìn)行交互時(shí)所用的接口稱(chēng)為應用程序接口 (Application Program InteRFace,API)。一個(gè)API定義了應用程序與協(xié)議軟件進(jìn)行交互時(shí)可以使用的一組操作。本設計中使用了FTP協(xié)議來(lái)傳輸圖像數據文件。一次完整的FTP文件傳輸需要建立兩種類(lèi)型的連接,一種為文件傳輸下命令,稱(chēng)為控制連接,另一種實(shí)現真正的文件傳輸,稱(chēng)為數據連接。

  本系統中使用socket編程技術(shù)實(shí)現GRPS網(wǎng)絡(luò )中無(wú)線(xiàn)FTP傳輸圖像的具體步驟是這樣的;首先,建立socket客戶(hù)端的部分,用來(lái)發(fā)送FTP命令等參數。調用socket()創(chuàng )建了套接字,返回了該socket的描述符。接著(zhù),將服務(wù)端的IP地址、端口號和網(wǎng)絡(luò )地址類(lèi)型(本設計中是PF INET,表明該socket在Internet域中進(jìn)行通信)填充到該socket結構體中。然后建立剛創(chuàng )建的套接字的連接,通過(guò)此套接字發(fā)送登錄該 FTP服務(wù)器的相關(guān)命令:發(fā)送登錄名和密碼;使用TYPE命令設置文件的傳輸類(lèi)型為I。接著(zhù),建立作為socket服務(wù)器端的部分,用來(lái)發(fā)送數據文件。與 socket客戶(hù)端不同的是需要先創(chuàng )建socket,然后綁定本地地址(也就是由GPRS系統DHCP分配的IP地址)到該socket上。接著(zhù)是監聽(tīng)這個(gè)socket,當監聽(tīng)到與socket客戶(hù)端(也是FTP服務(wù)器端)連接上時(shí),開(kāi)始請求發(fā)送圖像數據文件的命令。這部分實(shí)際也充當了FTP的客戶(hù)端工作。在監聽(tīng)到連接后,使用PORT命令監聽(tīng)等待連接的端口,接著(zhù)使用STOR命令發(fā)送上傳文件的請求。

  在收到連接成功的回應后,作為socket服務(wù)器端的代碼,要調用accept函數,表示可以接受socket客戶(hù)端,即FTP服務(wù)器端的連接請求,然后開(kāi)始打開(kāi)最新的圖像數據文件,通過(guò)數據鏈路發(fā)送文件。圖像文件傳輸完成后,需要關(guān)閉文件流,并關(guān)閉以上創(chuàng )建的socket連接,以免在下次傳輸時(shí)出現錯誤。如此便完成了GPRS無(wú)線(xiàn)傳輸模塊的設計,GPRS無(wú)線(xiàn)傳輸模塊的流程圖如圖4所示。

流程圖

  3.4.3 應用層主程序

  在各個(gè)模塊的功能實(shí)現之后,終端的應用層主程序進(jìn)行模塊的集成,完成系統的功能,如圖5即為終端的應用層主程序的流程圖。

流程圖

  3.5 終端的軟件實(shí)現

  終端的軟件實(shí)現主要包括對引導加載程序和操作系統內核的定制和裁減、文件系統的配置、驅動(dòng)程序和應用程序的編寫(xiě)和交叉編譯。終端的驅動(dòng)程序和應用程序在 Linux宿主機上以C語(yǔ)言編寫(xiě),以arm-linux-gcc.3.3.2完成交叉編譯后隨文件系統一起燒寫(xiě)到嵌入式終端的NAND FLASH存儲系統中,驅動(dòng)程序以模塊方式插入系統內核,應用程序在系統加電后一直運行。經(jīng)過(guò)測試,終端的軟件系統能夠完成紅外監測、圖像采集、GPRS 傳輸圖像和GSM短信息報警的功能,達到了實(shí)際應用的要求。

  4 結語(yǔ)

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

tcp/ip相關(guān)文章:tcp/ip是什么




關(guān)鍵詞: ARM9 GSM/GPRS 紅外檢測

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>