《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 家電遠(yuǎn)程監(jiān)控系統(tǒng)中MMS發(fā)送的研究與實(shí)現(xiàn)
家電遠(yuǎn)程監(jiān)控系統(tǒng)中MMS發(fā)送的研究與實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2010年第10期
張 秋,呂 楊
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明650051)
摘要: 通過(guò)GPRS網(wǎng)絡(luò),基于家電遠(yuǎn)程監(jiān)控系統(tǒng)可以將室內(nèi)攝像機(jī)采集的圖片信息發(fā)送到用戶的手機(jī)終端。用戶只需連接GPRS網(wǎng)絡(luò),便可輕松獲取家電的圖像信息。
Abstract:
Key words :

摘  要: 通過(guò)GPRS網(wǎng)絡(luò),基于家電遠(yuǎn)程監(jiān)控系統(tǒng)可以將室內(nèi)攝像機(jī)采集的圖片信息發(fā)送到用戶的手機(jī)終端。用戶只需連接GPRS網(wǎng)絡(luò),便可輕松獲取家電的圖像信息。
關(guān)鍵詞: MMS;GPRS;嵌入式系統(tǒng)

    隨著科技水平的不斷提高和社會(huì)的不斷進(jìn)步,人們對(duì)于家居安全性的要求也與日俱增。因此,智能化的家電監(jiān)控系統(tǒng)就有了廣闊的發(fā)展空間。本文研究了在家電遠(yuǎn)程監(jiān)控系統(tǒng)中應(yīng)用MMS發(fā)送方式實(shí)現(xiàn)監(jiān)控目的的方法。由于家電遠(yuǎn)程監(jiān)控系統(tǒng)基于嵌入式平臺(tái),硬件資源相對(duì)較少,因此在MMS封裝方式和發(fā)送協(xié)議的選擇上需要充分考慮和權(quán)衡。
1 MMS相關(guān)技術(shù)與協(xié)議
    在家電遠(yuǎn)程監(jiān)控系統(tǒng)中,最重要的環(huán)節(jié)是家電監(jiān)控信息的發(fā)送。在硬件資源十分有限的嵌入式平臺(tái)上,封裝與發(fā)送包含圖片信息的MMS,選擇占用資源少、適合嵌入式系統(tǒng)的彩信封裝方式和通信協(xié)議。
    (1)SMIL語(yǔ)言
    同步多媒體集成語(yǔ)言SMIL(Synchronized Multimedia Integration Language)[1]專為流式多媒體設(shè)計(jì),用來(lái)規(guī)定多媒體片斷在什么時(shí)候、在什么地方、以什么樣的方式播放,可通過(guò)時(shí)序排列對(duì)聲音、影像、文字及圖形文件進(jìn)行順序安排。
    (2)MIME封裝
    使用SMIL語(yǔ)言描述的MMS,在通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送的時(shí)候,必須通過(guò)某種方式把SMIL和附屬的內(nèi)容包裝在一起,作為一個(gè)unit發(fā)送出去,同時(shí)還要保證SMIL文件各個(gè)部分內(nèi)容的reference變得有效。因此可以使用MIME(Multipart Internet Mail Extensions)規(guī)范。MIME負(fù)責(zé)把所有的獨(dú)立的圖像、聲音、文本、視頻內(nèi)容以及SMIL文件本身捆綁在一起,這個(gè)規(guī)范稱為MIME Encapsulation Aggregate Documents,用于告訴接收的手持終端,這個(gè)MMS的內(nèi)容是相互關(guān)聯(lián)并且相互參考的[2]。
    (3)WAP協(xié)議與HTTP協(xié)議的比較
    家電遠(yuǎn)程監(jiān)控系統(tǒng)是在嵌入式平臺(tái)上構(gòu)建的,硬件資源相對(duì)較少,所以在網(wǎng)絡(luò)協(xié)議的選擇上需要充分考慮硬件資源是否能夠滿足需要。WAP(Wireless Application Protocol)是一種向移動(dòng)終端提供互聯(lián)網(wǎng)內(nèi)容和先進(jìn)增值服務(wù)的全球統(tǒng)一的開(kāi)放式協(xié)議標(biāo)準(zhǔn), 是簡(jiǎn)化了的無(wú)線Internet 協(xié)議。在嵌入式設(shè)備的小屏幕上很難顯示標(biāo)準(zhǔn)Web發(fā)布的內(nèi)容,同時(shí)屏幕間的切換非常不便。HTTP協(xié)議沒(méi)有針對(duì)無(wú)線網(wǎng)絡(luò)做特殊處理,如長(zhǎng)時(shí)間延時(shí)、非連續(xù)信號(hào)覆蓋以及帶寬有限。在Internet應(yīng)用中,HTTP協(xié)議以低效率的文本格式發(fā)送數(shù)據(jù),而非壓縮的二進(jìn)制方式。所以,在無(wú)線通信服務(wù)中使用普通Internet協(xié)議,會(huì)導(dǎo)致成本高、速度慢且難以大規(guī)模應(yīng)用的問(wèn)題。為了解決此類問(wèn)題,對(duì)WAP協(xié)議進(jìn)行了很好的優(yōu)化處理,如對(duì)無(wú)線網(wǎng)絡(luò)的長(zhǎng)延時(shí)和中低帶寬進(jìn)行優(yōu)化,利用高度壓縮的二進(jìn)制方式傳輸數(shù)據(jù)。在WAP協(xié)議中,會(huì)話功能解決了不連續(xù)覆蓋的問(wèn)題,并且在IP不可用時(shí)自動(dòng)改用其他優(yōu)化協(xié)議傳輸信息[3]。
    綜上所述,在分析了WAP協(xié)議和HTTP協(xié)議之后,本文采用WAP協(xié)議,以便在嵌入式系統(tǒng)硬件資源較少的情況下實(shí)現(xiàn)MMS的發(fā)送。
2 MMS發(fā)送的研究與實(shí)現(xiàn)
2.1 手機(jī)模塊撥號(hào)上GPRS網(wǎng)

    連接無(wú)線網(wǎng)絡(luò)的基本步驟是:手機(jī)模塊通過(guò)串口向無(wú)線模塊發(fā)送AT命令,無(wú)線模塊進(jìn)行撥號(hào)連接到中國(guó)移動(dòng)GPRS的WAP網(wǎng)關(guān),獲得臨時(shí)分配的IP地址、DNS地址和臨時(shí)端口號(hào)。連接成功后,手機(jī)模塊從GPRS的WAP網(wǎng)關(guān)上獲得一個(gè)動(dòng)態(tài)IP地址,該IP地址一般是10.188.xxx.xxx。然后,無(wú)線模塊傳輸TCP/IP數(shù)據(jù)包,訪問(wèn)GPRS網(wǎng)內(nèi)的主機(jī),發(fā)送封裝好的MMS信息。
    (1)AT+CGDCONT=l,“IP”,“CMWAP”
    此命令用于設(shè)置GPRS接入網(wǎng)關(guān)。其中第二部分表示PDP(Packet Data Protocol)類型為IP;第三部分表示接入網(wǎng)關(guān)為移動(dòng)夢(mèng)網(wǎng),APN是CMWAP,表示中國(guó)移動(dòng)網(wǎng)應(yīng)用接口。APN也可以設(shè)置為CMNET,CMNET主要應(yīng)用于PC、筆記本電腦、PDA等[4]。
    (2)ATD *99***1#
    ATD用于設(shè)置撥號(hào)方式,同時(shí)完成撥號(hào),使手機(jī)模塊進(jìn)入在線狀態(tài)。ATD指令采用如下兩種格式:
    格式一:ATD*99[*[<called address>][*[<L2P>][*[<cid>]]]]#
其中99是服務(wù)碼,也可用98,國(guó)內(nèi)一般用99。<called address>是w.x.y.z格式的IPv4地址;<L2P>是用于TE和ME連接的Layer2協(xié)議或用于PPP協(xié)議的Layer2協(xié)議;<cid>是表明PDP上下文的一個(gè)數(shù)字編號(hào),用AT+CGDCONT命令創(chuàng)建,一般為1或20。
    格式二:ATD*98[*<cid>]#
    具體含義與格式一相同。
    國(guó)內(nèi)最常用的是:ATD *99***1#,本設(shè)計(jì)中就是采用了此種格式。用ATD指令,若成功連線則返回“CONNECT”,否則返回“NO CARRIER”。當(dāng)手機(jī)模塊返回“CONNECT”,說(shuō)明手機(jī)模塊已經(jīng)連上了移動(dòng)GPRS的WAP網(wǎng)關(guān),之后即為通過(guò)三階段協(xié)商建立PPP鏈路的過(guò)程[5]。
2.2 用QT實(shí)現(xiàn)UDP Soket數(shù)據(jù)收發(fā)
    在WAP協(xié)議發(fā)送MMS的過(guò)程中,使用UDP協(xié)議發(fā)送數(shù)據(jù)與WAP網(wǎng)關(guān)進(jìn)行交互。在QT 4中,QUdpSoket類可以用來(lái)發(fā)送和接收UDP數(shù)據(jù)報(bào)。具體的實(shí)現(xiàn)方法如下:
    (1)創(chuàng)建QUdpSocket對(duì)象
        QUdpSocket *udpSocket;
        udpSocket=new QUdpSocket;
    (2)綁定WAP網(wǎng)關(guān)地址參數(shù)
        udpSocket->bind(WAPHostIP,9201);
    WAPHostIP是一個(gè)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)行信號(hào)和槽的連接:
        connect(sendButton,SIGNAL(clicked()),this,SLOT
(send_slot()));
        connect(udpSocket,SIGNAL(readyRead()),this,SLOT
(recv_slot()));
2.3 實(shí)現(xiàn)過(guò)程
    當(dāng)GPRS模塊成功連接服務(wù)器并且進(jìn)入在線模式,就可以控制手機(jī)模塊發(fā)送彩信。數(shù)據(jù)的收發(fā)程序用UDP Socket實(shí)現(xiàn),在此過(guò)程中, WAP網(wǎng)關(guān)的IP為10.0.0.172,端口是9201。
    (1)手機(jī)模塊向WAP網(wǎng)關(guān)發(fā)起Connect請(qǐng)求
    數(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會(huì)話Connect代碼,第6~8字節(jié)是WSP Connect PDU。
    (2)服務(wù)器確認(rèn)連接
    服務(wù)器返回?cái)?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.
    返回?cái)?shù)據(jù)中第1~3字節(jié)是WTP Result PDU,其余為WSP協(xié)議數(shù)據(jù)單元;第4字節(jié)“02”是WSP會(huì)話連接確認(rèn)(ConnectReply)的代碼;第5~30字節(jié)是WSP ConnectReply PDU。
    (3)控制設(shè)備發(fā)送WTP確認(rèn)完成會(huì)話連接
    控制設(shè)備發(fā)送WTP確認(rèn)(WTP Acknowledgement,3字節(jié))為:18 00 00。
    (4)控制設(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...http://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個(gè)字節(jié)“0E 00 01 12”是WTP Invoke PDU,后45個(gè)字節(jié)是WSP協(xié)議數(shù)據(jù)單元。
    (5)網(wǎng)關(guān)返回事務(wù)操作結(jié)果,控制設(shè)備發(fā)送WTP確認(rèn)完成會(huì)話
    當(dāng)網(wǎng)關(guān)返回事務(wù)操作結(jié)果后,然后控制手機(jī)模塊發(fā)送WTP確認(rèn)(WTP AcknowledgementPDU):
    1C 00 01。
    家電遠(yuǎn)程監(jiān)控系統(tǒng)的硬件資源十分有限,經(jīng)過(guò)對(duì)各種封裝方式和傳輸協(xié)議的研究分析,在此系統(tǒng)中采用MIME封裝和WAP協(xié)議完成彩信的封裝和發(fā)送。經(jīng)過(guò)實(shí)驗(yàn),本文所闡述的方法成功地在家電遠(yuǎn)程監(jiān)控系統(tǒng)中實(shí)現(xiàn)了MMS的發(fā)送。
參考文獻(xiàn)
[1] SMIL[OL].[2009-12].http://baike.baidu.com/view/147922.htm?fr=ala0.
[2] TCP/IP和WAP協(xié)議結(jié)構(gòu)的比較[OL].[2000-5].http://www.lhtelecom.com/accept/intel/168/tcpwap.htm.
[3] CMWAP和CMNET的區(qū)別[OL].[2007-12].http://www.51nb.com/forum/thread-295540-1-1.html.
[4] 余琴,趙振華.基于GPRS的SOCKET通信的應(yīng)用研究[J]. 單片機(jī)及嵌入式系統(tǒng)應(yīng)用,2005(11):52-53,57.

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