<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è) > 汽車(chē)電子 > 設計應用 > 一種基于MMS的低成本汽車(chē)安防系統設計與實(shí)現

一種基于MMS的低成本汽車(chē)安防系統設計與實(shí)現

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

3.軟件設計
本節將重點(diǎn)介紹圖3中的系統控制流程、 JPEG采集、 制作以及 發(fā)送模塊。由于短信收發(fā)模塊過(guò)于簡(jiǎn)單,且在許多資料中都有詳細介紹,本文不再贅述。
3.1 系統控制流程系統控制流程模塊負責對其它模塊進(jìn)行調用,對所有資源進(jìn)行協(xié)調,實(shí)現的工作流程,滿(mǎn)足良好的交互性、穩定性。

本文引用地址:http://dyxdggzs.com/article/197767.htm

首先,系統需要初始化,如獲取用戶(hù)終端(手機)號碼, 發(fā)送過(guò)程所需的MMS網(wǎng)關(guān)、端口、MMS中心地址,這些信息都保存在系統配置文件中,另外還需要初始化一些相關(guān)的數據結構。初始化之后系統進(jìn)入到一個(gè)超級循環(huán)當中,隨時(shí)準備接收來(lái)自用戶(hù)終端的命令短信息。目前,命令短信息有兩個(gè),其中最重要的是“Get”命令,用以獲取 MMS信息;還有一個(gè)“Set”命令用以設置用戶(hù)終端號碼,該命令由于流程圖的尺寸問(wèn)題在圖 4中省略了。收到“Get”命令之后,系統依次調用JPEG采集模塊、 MMS制作模塊、GPRS撥號、MMS發(fā)送模塊。這些模塊的調用,除了MMS制作模塊,都遵循一個(gè)基本原則,我們稱(chēng)之為三次嘗試原則。如果某模塊調用不成功,將重復三次,三次都失敗,將發(fā)送錯誤報告短信到用戶(hù)終端。比較特殊的是GPRS撥號,在3次撥號失敗后將對GPRS模塊進(jìn)行復位,再?lài)L試撥號。該原則符合無(wú)線(xiàn)通訊自身的特殊性,可以有效提高程序的效率和穩定性。另外有一點(diǎn)需要注意,在 GPRS狀態(tài)下是無(wú)法發(fā)送短信的,因此,撥號登陸成功之后需要斷開(kāi) GPRS連接才能發(fā)送短信。這也是為什么無(wú)論 MMS發(fā)送是否成功,都必須先斷開(kāi) GPRS,再發(fā)送報錯或成功報告短信的原因。
3.2 JPEG圖像采集
JPEG圖像采集模塊通過(guò)串口控制 C328 JPEG攝像頭直接獲取 JPEG圖像,這種選擇大大降低了處理器的負擔。關(guān)于該攝像頭的硬件信息見(jiàn)參考文獻 [1]。該軟件模塊大部分為順序過(guò)程,后面的過(guò)程都建立在前一個(gè)過(guò)程正確執行的基礎上??傮w上可以分為三個(gè)步驟:初始化 S3C44B0串口、初始化攝像頭、獲取圖像,詳細過(guò)程如下:
1.初始化 S3C44B0串口,包括: O_RDWR | O_NOCTTY | O_NDELAY方式打開(kāi) UART1也就是“/dev/ttS1”[2],設置波特率 57600,8位數據位,1位停止位,無(wú)奇偶校驗,讀寫(xiě)超時(shí)設置為 1秒,初始化 jpeg_picture結構體:
struct jpeg_picture
{
int fd; //串口的文件描述符
unsigned char resolution; // 圖像分辨率代碼
long jpeglength; //圖像長(cháng)度24位表示
unsigned char *pjpeg; // 圖像存儲地址
};
1 JPEG攝像頭,包括:發(fā)送 SYNC命令與攝像頭建立連接,,發(fā)送 Initial命令設置輸出 JPEG格式圖像、分辨率 640X480,發(fā)送 Set Package Size命令設置數據包的大小為 512字節。
2 獲取圖像,包括:發(fā)送 Snapshot命令捕獲圖像快照并壓縮,發(fā)送 Get Picture命令獲取 Snapshot類(lèi)型圖像,接收 Data命令確認數據類(lèi)型為 Snapshot以及圖像數據大小,并為圖像分配對應空間,之后開(kāi)始接收數據包,每收到一個(gè)數據包后發(fā)送帶有數據包 ID的 ACK命令給攝像頭,直到最后一個(gè)數據包 ID為 F0F0,數據接收過(guò)程結束。

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

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



關(guān)鍵詞: MMS 汽車(chē)安防 系統設計

評論


相關(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>