基于GPRS網(wǎng)絡(luò)MMS發(fā)送的研究與實現(xiàn)
出處:張 秋,呂 楊 發(fā)布于:2011-07-16 15:34:14
摘 要: 通過GPRS網(wǎng)絡(luò),基于家電遠(yuǎn)程監(jiān)控系統(tǒng)可以將室內(nèi)攝像機采集的圖片信息發(fā)送到用戶的手機終端。用戶只需連接GPRS網(wǎng)絡(luò),便可輕松獲取家電的圖像信息。
隨著科技水平的不斷提高和社會的不斷進(jìn)步,人們對于家居安全性的要求也與日俱增。因此,智能化的家電監(jiān)控系統(tǒng)就有了廣闊的發(fā)展空間。本文研究了在家電遠(yuǎn)程監(jiān)控系統(tǒng)中應(yīng)用MMS發(fā)送方式實現(xiàn)監(jiān)控目的的方法。由于家電遠(yuǎn)程監(jiān)控系統(tǒng)基于嵌入式平臺,硬件資源相對較少,因此在MMS封裝方式和發(fā)送協(xié)議的選擇上需要充分考慮和權(quán)衡。
1 MMS相關(guān)技術(shù)與協(xié)議
MMS終端通過MMS用戶代理提供多媒體消息服務(wù)。MMS用戶代理是多媒體消息終端上的一個應(yīng)用,提供用戶瀏覽、編輯、處理多媒體消息等功能以及發(fā)送、接收、刪除等操作。MMS用戶代理支持MIME,通過MIME中不同子類型的定義,多媒體消息可包含文本、圖像、聲音等數(shù)據(jù)。
MMSC是整個多媒體消息系統(tǒng)的,對多媒體消息進(jìn)行存儲和處理,包括消息的輸入輸出、地址解析、通知、等。同時,負(fù)責(zé)多媒體消息在不同MMSC之間的傳遞等操作。MMSC還產(chǎn)生CDR話單用于計費。另外,MMSC需要很多到其他網(wǎng)絡(luò)的連接:并開展各種增值服務(wù)。MMS中繼正是系統(tǒng)的IP接口。系統(tǒng)通過它與各種網(wǎng)絡(luò)相連,支持多種協(xié)議。
?。?)SMIL語言
同步多媒體集成語言SMIL(Synchronized Multimedia Integration Language)[1]專為流式多媒體設(shè)計,用來規(guī)定多媒體片斷在什么時候、在什么地方、以什么樣的方式播放,可通過時序排列對聲音、影像、文字及圖形文件進(jìn)行順序安排。
?。?)MIME封裝
使用SMIL語言描述的MMS,在通過無線網(wǎng)絡(luò)發(fā)送的時候,必須通過某種方式把SMIL和附屬的內(nèi)容包裝在一起,作為一個unit發(fā)送出去,同時還要保證SMIL文件各個部分內(nèi)容的reference變得有效。MIME負(fù)責(zé)把所有的獨立的圖像、聲音、文本、視頻內(nèi)容以及SMIL文件本身捆綁在一起,這個規(guī)范稱為MIME Encapsulation Aggregate Documents,用于告訴接收的手持終端。
MIME能夠支持非ASCII字符、二進(jìn)制格式附件等多種格式的郵件消息。這個標(biāo)準(zhǔn)被定義在; RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。 由RFC 822轉(zhuǎn)變而來的RFC 2822,規(guī)定電子郵件標(biāo)準(zhǔn)并不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英語字符消息和二進(jìn)制文件,圖像,聲音等非文字消息都不能在電子郵件中傳輸。MIME規(guī)定了用于表示各種各樣的數(shù)據(jù)類型的符號化方法。
(3)WAP協(xié)議與HTTP協(xié)議的比較
家電遠(yuǎn)程監(jiān)控系統(tǒng)是在嵌入式平臺上構(gòu)建的,硬件資源相對較少,所以在網(wǎng)絡(luò)協(xié)議的選擇上需要充分考慮硬件資源是否能夠滿足需要。WAP(Wireless Application Protocol)是一種向移動終端提供互聯(lián)網(wǎng)內(nèi)容和先進(jìn)增值服務(wù)的統(tǒng)一的開放式協(xié)議標(biāo)準(zhǔn), 是簡化了的無線Internet 協(xié)議。在WAP協(xié)議中,會話功能解決了不連續(xù)覆蓋的問題,并且在IP不可用時自動改用其他優(yōu)化協(xié)議傳輸信息。
綜上所述,在分析了WAP協(xié)議和HTTP協(xié)議之后,本文采用WAP協(xié)議,以便在嵌入式系統(tǒng)硬件資源較少的情況下實現(xiàn)MMS的發(fā)送。
2 MMS發(fā)送的研究與實現(xiàn)
2.1 手機模塊撥號上GPRS網(wǎng)
連接無線網(wǎng)絡(luò)的基本步驟是:手機模塊通過串口向無線模塊發(fā)送AT命令,無線模塊進(jìn)行撥號連接到中國移動GPRS的WAP網(wǎng)關(guān),獲得臨時分配的IP地址、DNS地址和臨時端口號。然后,無線模塊傳輸TCP/IP數(shù)據(jù)包,訪問GPRS網(wǎng)內(nèi)的主機,發(fā)送封裝好的MMS信息。
(1)AT+CGDCONT=l,“IP”,“CMWAP”
此命令用于設(shè)置GPRS接入網(wǎng)關(guān)。其中第二部分表示PDP(Packet Data Protocol)類型為IP;第三部分表示接入網(wǎng)關(guān)為移動夢網(wǎng),APN是CMWAP,表示中國移動網(wǎng)應(yīng)用接口。APN也可以設(shè)置為CMNET,CMNET主要應(yīng)用于PC、筆記本電腦、PDA等[4]。
?。?)ATD *99***1#
ATD用于設(shè)置撥號方式,同時完成撥號,使手機模塊進(jìn)入在線狀態(tài)。ATD指令采用如下兩種格式:
格式一:ATD*99[*[<called address>][*[<L2P>][*[<cid>]]]]#
其中99是服務(wù)碼,也可用98,國內(nèi)一般用99。<called address>是w.x.y.z格式的IPv4地址;<L2P>是用于TE和ME連接的Layer2協(xié)議或用于PPP協(xié)議的Layer2協(xié)議;<cid>是表明PDP上下文的一個數(shù)字編號,用AT+CGDCONT命令創(chuàng)建,一般為1或20。
格式二:ATD*98[*<cid>]#
具體含義與格式一相同。
國內(nèi)常用的是:ATD *99***1#,本設(shè)計中就是采用了此種格式。用ATD指令,若成功連線則返回“CONNECT”,否則返回“NO CARRIER”。當(dāng)手機模塊返回“CONNECT”,說明手機模塊已經(jīng)連上了移動GPRS的WAP網(wǎng)關(guān),之后即為通過三階段協(xié)商建立PPP鏈路的過程[5]。
2.2 用QT實現(xiàn)UDP Soket數(shù)據(jù)收發(fā)
在WAP協(xié)議發(fā)送MMS的過程中,使用UDP協(xié)議發(fā)送數(shù)據(jù)與WAP網(wǎng)關(guān)進(jìn)行交互。在QT 4中,QUdpSoket類可以用來發(fā)送和接收UDP數(shù)據(jù)報。具體的實現(xiàn)方法如下:
(1)創(chuàng)建QUdpSocket對象
QUdpSocket *udpSocket;
udpSocket=new QUdpSocket;
?。?)綁定WAP網(wǎng)關(guān)地址參數(shù)
udpSocket->bind(WAPHostIP,9201);
WAPHostIP是一個QT自定義的QhostAddress類,表示IP地址。WAP網(wǎng)關(guān)的IP為10.0.0.172,端口是9201。
(3)發(fā)送、接收數(shù)據(jù)
udpSocket->writeDatagram(qPrintable(str),4096,
WAPHostIP,9201);//發(fā)送數(shù)據(jù)
char buffer[4096];
udpSocker->readDatagram(buffer,4096,0,0);//接收數(shù)據(jù)在此之前要進(jìn)行信號和槽的連接:
connect(sendButton,SIGNAL(clicked()),this,SLOT
(send_slot()));
connect(udpSocket,SIGNAL(readyRead()),this,SLOT
?。╮ecv_slot()));
2.3 實現(xiàn)過程
當(dāng)GPRS模塊成功連接服務(wù)器并且進(jìn)入在線模式,就可以控制手機模塊發(fā)送彩信。數(shù)據(jù)的收發(fā)程序用UDP Socket實現(xiàn),在此過程中, WAP網(wǎng)關(guān)的IP為10.0.0.172,端口是9201。
(1)手機模塊向WAP網(wǎng)關(guān)發(fā)起Connect請求
數(shù)據(jù)包由兩部分組成:WTP PDU和WSP PDU
例如:
0001 0A OO OO 12 01 10 OO 00
其中,發(fā)送數(shù)據(jù)序列中前4字節(jié)“0A 00 00 12”是WTP Invoke PDU;第5字節(jié)“01”是WSP會話Connect代碼,第6~8字節(jié)是WSP Connect PDU。
?。?)服務(wù)器確認(rèn)連接
服務(wù)器返回數(shù)據(jù)如下(30字節(jié)):
0001 12 80 00 02 B5 C5 15 00 15 45 6E 63 6F 64 69 6E…Encodin
00 17 67 2D 76 65 72 73 69 6F 6E 00 31 2F 32 00…g-version.1.2.
返回數(shù)據(jù)中第1~3字節(jié)是WTP Result PDU,其余為WSP協(xié)議數(shù)據(jù)單元;第4字節(jié)“02”是WSP會話連接確認(rèn)(ConnectReply)的代碼;第5~30字節(jié)是WSP ConnectReply PDU。
(3)控制設(shè)備發(fā)送WTP確認(rèn)完成會話連接
控制設(shè)備發(fā)送WTP確認(rèn)(WTP Acknowledgement,3字節(jié))為:18 00 00。
?。?)控制設(shè)備發(fā)送WTP、WSP和MMS包
控制設(shè)備首先發(fā)送WTP和WSP(49字節(jié)):
0001 0E 00 01 1 2 60 1A 10 68 74 74 70 3A 2F 2F 6D 6D…h(huán)ttp://mm
0017 73 63 2E 6D 6F 6E 74 6 5 72 6E 65 74 2E 63 6F 6D SC.monternet.com
0033 2F BE 80 BE C7 80 A1 09 80 77 61 70 00 77 61 70/…wap.wap
0049 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…
發(fā)送數(shù)據(jù)序列中,前4個字節(jié)“0E 00 01 12”是WTP Invoke PDU,后45個字節(jié)是WSP協(xié)議數(shù)據(jù)單元。
?。?)網(wǎng)關(guān)返回事務(wù)操作結(jié)果,控制設(shè)備發(fā)送WTP確認(rèn)完成會話
當(dāng)網(wǎng)關(guān)返回事務(wù)操作結(jié)果后,然后控制手機模塊發(fā)送WTP確認(rèn):
家電遠(yuǎn)程監(jiān)控系統(tǒng)的硬件資源十分有限,經(jīng)過對各種封裝方式和傳輸協(xié)議的研究分析,在此系統(tǒng)中采用MIME封裝和WAP協(xié)議完成彩信的封裝和發(fā)送。經(jīng)過實驗,本文所闡述的方法成功地在家電遠(yuǎn)程監(jiān)控系統(tǒng)中實現(xiàn)了MMS的發(fā)送。
參考文獻(xiàn):
[1]. GPRS datasheet http://www.hbjingang.com/datasheet/GPRS_1594650.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









