《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 基于MMS的低成本汽車安防系統(tǒng)設(shè)計與實現(xiàn)
基于MMS的低成本汽車安防系統(tǒng)設(shè)計與實現(xiàn)
摘要: 結(jié)合了短消息操作簡單,、彩信直觀的特點,,在低成本ARM7平臺實現(xiàn)了基于彩信的安防系統(tǒng),;在系統(tǒng)中使用一種直接PDU構(gòu)造方法實現(xiàn)了一個簡化版的彩信發(fā)送過程,該過程實現(xiàn)簡單,,適合嵌入式系統(tǒng),。
Abstract:
Key words :

  1.引言

  隨著人民生活水平的不斷提高,,個人擁有汽車變得越來越普遍,。但是,,隨之而來的車輛頻繁被盜問題漸受關(guān)注。傳統(tǒng)的汽車安防系統(tǒng)以全球衛(wèi)星定位系統(tǒng)(以下簡稱GPS)為核心,,這種技術(shù)最大的優(yōu)勢是可以定位被盜車輛所處的位置,,可以遠程控制車輛,但是無法獲取圖像聲音信息不能了解車輛所處的環(huán)境,,無法有效追捕犯罪嫌疑人,。還有一些系統(tǒng)使用GPRS實時傳輸圖像數(shù)據(jù),這種方案受網(wǎng)絡(luò)帶寬的限制嚴重,,圖像質(zhì)量差,,對處理器運算能力要求高,,系統(tǒng)使用費用高,。

  針對上述問題,我們提出并設(shè)計了一種基于多媒體信息服務(MultimediaMessageService,,以下簡稱MMS)——也就是人們常說的“彩信”汽車安防系統(tǒng),。該系統(tǒng)利用了中國移動的MMS業(yè)務、短消息業(yè)務,,無線網(wǎng)絡(luò)覆蓋面大,,使用費用低廉,,操控方法簡單。圖1所示為基于MMS的汽車安防系統(tǒng)的應用框圖,,用戶在遠程通過短信控制本系統(tǒng),,系統(tǒng)通過在車輛內(nèi)適當部位安裝的攝像頭、麥克風獲得高質(zhì)量的圖像語音信息,,制作成MMS,,通過我們專門針對低成本嵌入式系統(tǒng)研發(fā)的MMS發(fā)送程序?qū)MS發(fā)送到用戶的終端,從而使用戶能更清晰地掌握車輛內(nèi)外的狀況,。

基于MMS的汽車安防系統(tǒng)的應用框圖

  2.系統(tǒng)結(jié)構(gòu)

  我們使用了如圖2所示的硬件框架,,本系統(tǒng)以S3C44B0處理器為核心:輔以2MNORFlash存儲引導程序、內(nèi)核,、ROM文件系統(tǒng),;16MNANDFlash承載YAFF文件系統(tǒng),以彌補NORFlash空間不足無法容納PPPD,、系統(tǒng)應用程序,、無法保存系統(tǒng)配置信息的缺陷;16MSDRAM運行代碼,、動態(tài)數(shù)據(jù)交換,、RAM文件系統(tǒng);UART0連接CWT2000GPRS模塊,,用于收發(fā)與用戶交互的短信,,發(fā)送MMS到用戶指定的終端;UART1連接C328JPEG攝像頭可以直接獲取JPEG格式的高分辨率圖像數(shù)據(jù),。

硬件框架

  本系統(tǒng)的軟件基于uCLinux操作系統(tǒng)內(nèi)核版本2.4.32,,圖3展示的是本系統(tǒng)的軟件結(jié)構(gòu)框圖。圖3中,,內(nèi)核空間的MTD,、UART驅(qū)動、TCP/IP,、PPP等在編譯內(nèi)核時必須選擇支持,,PPPD/Chat撥號程序用于通過GPRS模塊登陸互連網(wǎng)。上述軟件結(jié)構(gòu)框圖中部分模塊在uCLinux分發(fā)版中包含,,因此本系統(tǒng)需要實現(xiàn)JPEG采集,、MMS制作、MMS發(fā)送,、短信收發(fā)以及系統(tǒng)控制流程模塊,。接下來的章節(jié)將介紹各模塊的實現(xiàn)技術(shù)。

軟件結(jié)構(gòu)框圖

  3.軟件設(shè)計

  本節(jié)將重點介紹圖3中的系統(tǒng)控制流程、JPEG采集,、MMS制作以及MMS發(fā)送模塊,。由于短信收發(fā)模塊過于簡單,且在許多資料中都有詳細介紹,,本文不再贅述,。

  3.1系統(tǒng)控制流程

  系統(tǒng)控制流程模塊負責對其它模塊進行調(diào)用,對所有資源進行協(xié)調(diào),,實現(xiàn)系統(tǒng)設(shè)計的工作流程,,滿足良好的交互性、穩(wěn)定性,。

  首先,,系統(tǒng)需要初始化,如獲取用戶終端(手機)號碼,,MMS發(fā)送過程所需的MMS網(wǎng)關(guān),、端口、MMS中心地址,,這些信息都保存在系統(tǒng)配置文件中,,另外還需要初始化一些相關(guān)的數(shù)據(jù)結(jié)構(gòu)。初始化之后系統(tǒng)進入到一個超級循環(huán)當中,,隨時準備接收來自用戶終端的命令短信息,。目前,命令短信息有兩個,,其中最重要的是“Get”命令,,用以獲取MMS信息;還有一個“Set”命令用以設(shè)置用戶終端號碼,,該命令由于流程圖的尺寸問題在圖4中省略了,。收到“Get”命令之后,系統(tǒng)依次調(diào)用JPEG采集模塊,、MMS制作模塊,、GPRS撥號、MMS發(fā)送模塊,。這些模塊的調(diào)用,,除了MMS制作模塊,都遵循一個基本原則,,我們稱之為三次嘗試原則,。如果某模塊調(diào)用不成功,將重復三次,,三次都失敗,,將發(fā)送錯誤報告短信到用戶終端,。比較特殊的是GPRS撥號,,在3次撥號失敗后將對GPRS模塊進行復位,,再嘗試撥號。該原則符合無線通訊自身的特殊性,,可以有效提高程序的效率和穩(wěn)定性,。另外有一點需要注意,在GPRS狀態(tài)下是無法發(fā)送短信的,,因此,,撥號登陸成功之后需要斷開GPRS連接才能發(fā)送短信。這也是為什么無論MMS發(fā)送是否成功,,都必須先斷開GPRS,,再發(fā)送報錯或成功報告短信的原因。

  3.2JPEG圖像采集

  JPEG圖像采集模塊通過串口控制C328JPEG攝像頭直接獲取JPEG圖像,,這種選擇大大降低了處理器的負擔,。關(guān)于該攝像頭的硬件信息見參考文獻[1]。該軟件模塊大部分為順序過程,,后面的過程都建立在前一個過程正確執(zhí)行的基礎(chǔ)上,。總體上可以分為三個步驟:初始化S3C44B0串口,、初始化攝像頭,、獲取圖像,詳細過程如下:

  1.初始化S3C44B0串口,,包括:O_RDWR|O_NOCTTY|O_NDELAY方式打開UART1也就是“/dev/ttS1”[2],,設(shè)置波特率57600,8位數(shù)據(jù)位,,1位停止位,,無奇偶校驗,讀寫超時設(shè)置為1秒,,初始化jpeg_picture結(jié)構(gòu)體:

structjpeg_picture
{
intfd;//串口的文件描述符
unsignedcharresolution;//圖像分辨率代碼
longjpeglength;//圖像長度24位表示
unsignedchar*pjpeg;//圖像存儲地址
};

 

   1JPEG攝像頭,,包括:發(fā)送SYNC命令與攝像頭建立連接,,,發(fā)送Initial命令設(shè)置輸出JPEG格式圖像,、分辨率640X480,發(fā)送SetPackageSize命令設(shè)置數(shù)據(jù)包的大小為512字節(jié),。

  2獲取圖像,,包括:發(fā)送Snapshot命令捕獲圖像快照并壓縮,發(fā)送GetPicture命令獲取Snapshot類型圖像,,接收Data命令確認數(shù)據(jù)類型為Snapshot以及圖像數(shù)據(jù)大小,,并為圖像分配對應空間,之后開始接收數(shù)據(jù)包,每收到一個數(shù)據(jù)包后發(fā)送帶有數(shù)據(jù)包ID的ACK命令給攝像頭,,直到最后一個數(shù)據(jù)包ID為F0F0,,數(shù)據(jù)接收過程結(jié)束。

  通訊協(xié)議采用一種如圖4的應答方式,,ACK代表上一個命令或操作成功,,NACK則說明失敗,確保了通訊穩(wěn)定,。C328定義的命令是統(tǒng)一的6個字節(jié)長度,,起始為固定的0xAA,然后是命令字節(jié),,后4個字節(jié)是與命令相關(guān)的參數(shù)字節(jié),。

應答方式

  3.3MMS制作

  MMS可以包含靜態(tài)圖像、語音,、動態(tài)圖像等多種多媒體信息[34],。圖5左側(cè)為一個通用MMS結(jié)構(gòu),由MMS信息頭,、MMS信息體構(gòu)成,。MMS信息頭包含如何從發(fā)送終端將數(shù)據(jù)發(fā)往接收終端的信息[5]。MMS信息體是MMS的實質(zhì)內(nèi)容,,可以由多個部分多種類型媒體,。本系統(tǒng)中目前僅有JPEG的圖像數(shù)據(jù),不需要支持所有格式的多媒體信息,,因此可以實現(xiàn)針對多幅JPEG圖像的簡化版MMS制作模塊,。我們使用了最簡化的MMS信息頭,包括:消息類型,、事務ID,、版本號、From,、To等,,詳情見表1。

MMS信息頭

  MMS編碼必須遵循無線會話協(xié)議(WirelessSessionProtocol,,以下簡稱WSP),。WSP使用一種與HTTP/1.1相同的語法描述數(shù)據(jù)的組織結(jié)構(gòu),具體可參考RFC[2068],。HTTP/1.1使用ASCII字符編碼來傳輸數(shù)據(jù),,而WSP為降低傳輸帶寬,將HTTP/1.1中的一些著名域?qū)淖址x為一個字節(jié),,并在對這些緊湊格式編碼時加上0x80,,使著名域的編碼大于127(擴展ASCII字符),,從而將它們與普通ASCII字符區(qū)別開。因此MMS信息頭的基本編碼格式為:“域編碼”+“內(nèi)容”,,詳情請參考表1,。編碼順序如下:消息類型、事務ID,、版本號必須依次排在最前面,而MMS信息體內(nèi)容類型則應該排在MMS信息頭的最后,。

 ?、儆米址硎疽粋€隨機數(shù)。②國內(nèi)格式為:長度+“+86”+“11位手機號”+“/TYPE=PLMN.”

MMS信息體

  緊跟在MMS信息頭之后的就是MMS信息體,,圖5中所示這部分有:成員數(shù)量,、成員(圖像、文本,、聲音等),。成員數(shù)量是一個變長整形數(shù)。MMS信息體的成員由:成員信息頭,、成員數(shù)據(jù)構(gòu)成,。我們的系統(tǒng)中僅有JPEG圖像,所以成員信息頭可以編碼為:0x01,,YYYY(JPEG圖像大小,,變長整數(shù)),0x9E,。最后將JPEG圖像附在成員信息頭之后即可完成MMS制作,。注意,由于圖像的存儲空間為動態(tài)分配,,之后要將所占內(nèi)存釋放,。

  3.4MMS發(fā)送

  最后,系統(tǒng)使用了項目組針對嵌入式系統(tǒng)開發(fā)的MMS發(fā)送簡化過程來發(fā)送彩信,。該簡化過程分為三個步驟:建立連接,、發(fā)送數(shù)據(jù)、斷開連接[6],,如圖6所示為發(fā)送數(shù)據(jù)簡化過程的時序圖,。建立連接和斷開連接的時序圖與此類似,不在這里給出,。在該簡化過程的實現(xiàn)中,,使用了一種直接構(gòu)造PDU進行發(fā)送的實現(xiàn)方法。協(xié)議數(shù)據(jù)單元(ProtocolDataUnit,,以下簡稱PDU)為MMS發(fā)送時各層所要增加的數(shù)據(jù)頭,,而這些數(shù)據(jù)頭很多部分都固定,。因此,通過直接發(fā)送PDU的方法,,可以避免構(gòu)造完整無線應用協(xié)議棧(WAP),,擺脫對多線程的依賴,以及無關(guān)操作所需的存儲消耗,,實現(xiàn)單線程,、高效、高速,、穩(wěn)定的MMS發(fā)送,。

發(fā)送數(shù)據(jù)簡化過程的時序圖

  MMS發(fā)送的網(wǎng)絡(luò)協(xié)議棧關(guān)系的簡化過程僅僅需要嵌入式系統(tǒng)提供UDP支持,能連接到GPRS網(wǎng)絡(luò),,即可發(fā)送MMS到終端,。

  4.結(jié)論與展望

  本系統(tǒng)目前已經(jīng)通過了長沙、深圳,、北京,、上海等地的測試。項目充分利用了GPRS網(wǎng)絡(luò)覆蓋廣泛,,通訊質(zhì)量穩(wěn)定的特點,,提出了一個簡單方便的、穩(wěn)定的,、易于擴展的基于MMS的安防系統(tǒng)框架,,為提取犯罪嫌疑人的犯罪證據(jù)提供了一種新手段。該框架有較廣泛的應用范圍,,可以為相關(guān)行業(yè)提供參考,。

  本文作者創(chuàng)新點:結(jié)合了短消息操作簡單、彩信直觀的特點,,在低成本ARM7平臺實現(xiàn)了基于彩信的安防系統(tǒng),;在系統(tǒng)中使用一種直接PDU構(gòu)造方法實現(xiàn)了一個簡化版的彩信發(fā)送過程,該過程實現(xiàn)簡單,,適合嵌入式系統(tǒng),。

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