0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于77FA8單片機和BENQ23G模塊實現(xiàn)彩信傳送圖像監(jiān)控系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:于捷;王祖林;劉有 ? 2021-05-18 17:24 ? 次閱讀

作者:于捷;王祖林;劉有才

引言

目前,基于GSM/GPRS模塊的無線遠程監(jiān)控系統(tǒng)大多數(shù)采用嵌入式處理器,選用Linux操作系統(tǒng)。本文介紹一種采用Winbond公司的77FA8單片機控制明基的GSM/GPRS模塊BENQ23G發(fā)送MMS彩信的方法。該方法成本低、可靠性高,器件選用工業(yè)產(chǎn)品,能夠在較寬溫度范圍內(nèi)工作,即使在室外較惡劣的環(huán)境下也可以使用。

本系統(tǒng)組成如圖1所示。其中,單片機77E58有2個串口,串口O用于與BENQ23G模塊進行通信,控制BENQ23G發(fā)送彩信;串口1用于與串口攝像頭(如C328-JPEG模塊)進行通信,控制攝像頭捕獲圖像。外部傳感器報警接口用于連接外部報警傳感器,77E58最小系統(tǒng)收到外部傳感器報警觸發(fā)信號后,捕獲照片、封裝MMS彩信,控制BENQ23G模塊向指定的手機或遠程接收設(shè)備發(fā)送彩信;同時還可以撥打指定電話號碼,將現(xiàn)場聲音傳送過去。MIC 及信號放大電路用于采集外部現(xiàn)場聲音并進行放大。

從前面的分析可以看出,本系統(tǒng)充分利用了各個部件的硬件資源,最大限度地降低了硬件成本。本文主要介紹圖1所示的無線遠程監(jiān)控系統(tǒng)通過中國移動夢網(wǎng)發(fā)送彩信時,所使用的傳輸協(xié)議命令格式和傳輸數(shù)據(jù)格式。

1 BENQ23G模塊簡介

BENQ23G是臺灣BenQ公司生產(chǎn)的嵌入TCP/IP協(xié)議的GSM/GPRS模塊,在BENQ23A模塊的基礎(chǔ)上增加了M2M(Machine-to —Maehine)功能,可以通過GPRS承載在BENQ23G模塊和因特網(wǎng)TCP/UDP服務器上實現(xiàn)連接。控制設(shè)備和BENQ23G模塊之間通過 UART串口連接,傳輸命令和數(shù)據(jù)。

控制設(shè)備首先通過UART串口設(shè)置網(wǎng)絡連接參數(shù),然后撥號連接GPRS,BENQ23G模塊建立GPRS連接并和指定的因特網(wǎng)TCP/UDP服務器建立 Socket連接。如果Socket連接成功,則模塊在控制設(shè)備和因特網(wǎng)TCP/UDP服務器之間通過UART串口建立點對點數(shù)據(jù)連接模式,控制設(shè)備可以通過UART串口將數(shù)據(jù)原封不動地上傳至因特網(wǎng)TCP/UDP服務器,同時可以通過UART串口原封不動地下載因特網(wǎng)TCP/UDP服務器上的數(shù)據(jù),而上傳和下載數(shù)據(jù)的TCP/UDP打包和解包工作由BENQ23G模塊實現(xiàn)。

控制設(shè)備在數(shù)據(jù)模式下通過UART串口發(fā)送數(shù)據(jù)時,如果BENQ23G模塊在規(guī)定時間間隔內(nèi)沒有繼續(xù)收到UART串口的數(shù)據(jù),就將前面接收的數(shù)據(jù)進行 TCP/UDP打包并發(fā)送到服務器。

當BENQ23G模塊通過UART串口連續(xù)收到控制模塊發(fā)送的3個“+”符號后,將退出點對點數(shù)據(jù)模式而進入命令模式,可以通過UART串口接收控制設(shè)備發(fā)送的AT指令。但這時BENQ23G模塊和服務器之間的TCP/UDP協(xié)議Socket連接并沒有中斷,控制設(shè)備如果想再次進入數(shù)據(jù)模式上傳數(shù)據(jù)給服務器,可以鍵入ATO命令實現(xiàn)。

控制設(shè)備可以在命令模式下通過鍵入ATH命令來中斷BENQ23G模塊和服務器之間的Socket連接。下面給出一個控制設(shè)備和彩信網(wǎng)關(guān)服務器連接的例子:

該例子說明如何通過BENQ23G模塊實現(xiàn)和遠程服務器的連接,以及上傳和下載數(shù)據(jù)。BENQ23G模塊AT指令的詳細說明見參考文獻。

測試MMS組成及編碼格式分析略,詳細的編碼含義見參考文獻。

2 基于BENQ23G發(fā)送MMS編碼格式分析

當控制設(shè)備需要發(fā)送彩信時,首先通過UART串口傳送AT指令完成相應的參數(shù)設(shè)置(如前面例子所示),再傳送“ATD*97#”指令進行 GPRS撥號,并等待BENQ23G模塊完成與服務器之間的Socket連接。當收到BENQ23G模塊發(fā)送的響應“Wait Socket Open”時,表明BENQ23G模塊完成了與服務器的連接,并進入數(shù)據(jù)模式,控制設(shè)備可以進行發(fā)送彩信操作。

2.1 首先建立會話連接

控制設(shè)備發(fā)送會話建立連接請求(8字節(jié)):

0001 0A OO OO 12 01 10 OO 00

發(fā)送數(shù)據(jù)序列中前4字節(jié)“0A 00 00 12”是WTP In—voke PDU。WTP Invoke PDU采用了固定長度格式,其結(jié)構(gòu)如表1所列。

其中,CON=0,PDU Type=0001,GTR=0,TTR=1,RID=0,故第1字節(jié)為0A;TID High Byte=00000000,故第2字節(jié)為00;TID Low Byte=00000000,故第3字節(jié)為00;Version=00,TIDnew=0,U/p=1,RES=00,TCL=10,故第4字節(jié)為12。

發(fā)送數(shù)據(jù)序列中的第5到8字節(jié)“01 10 O000”是WSP協(xié)議數(shù)據(jù)單元。其中第5字節(jié)“01”是WSP會話連接Connect的代碼,第6到8字節(jié)是WSP Connect PDU。WSP Connect PDU結(jié)構(gòu)如表2所列。

其中,第6字節(jié)“10”是WSP協(xié)議版本號,高4位是版本號的整數(shù)部分,低4位是版本號的小數(shù)部分,這里為V1.0;第7字節(jié)是能力字段長度,沒有使用能力請求,故長度為00;第8字節(jié)是報頭字段長度,沒有報頭,故長度為00。

服務器返回數(shù)據(jù)如下(30字節(jié)):

0001 12 80 00 02 B5 C5 1 5 00 15 45 6E 63 6F 64 69 6E........Encodin

0017 67 2D 76 65 72 73 69 6F 6E 00 31 2F 32 00 00 00 g—version.1.2..。

返回數(shù)據(jù)中第1~3字節(jié)是WTP Result PDU,其余為WSP協(xié)議數(shù)據(jù)單元。WTP Result PDU采用固定長度格式,其結(jié)構(gòu)如表3所列。

其中,CON=0,PDU Type=0010,GTR=0,TTR=1,RID=O,故第1字節(jié)為12;TID High Byte=10000000,故第2字節(jié)為80;TID Low Byte=00000000,故第3字節(jié)為OO。

返回數(shù)據(jù)中的第4字節(jié)“02”是WSP會話連接確認ConnectReply的代碼;第5~30字節(jié)是WSP ConnectReplyPDU。

WSP ConneetReply PDU結(jié)構(gòu)如表4所列。

第5~8字節(jié)“B5 C5 15”是會話標識;第10字節(jié)“15”是HeadersLen(21字節(jié)),Headers是以00結(jié)束的字符串,即Encoding—version 1.2。

2.2 控制設(shè)備發(fā)送WTP確認完成會話連接

控制設(shè)備發(fā)送WTP確認(WTP Acknowledgement,3字節(jié)):18 00 00。WTP Acknowledgement PDU采用固定長度格式,如表5所列。

其中,CON=0,PDU Type=0011,Tve/Tok=0,RES=0,RID=0,故第1字節(jié)為18;TID High Byte=00000000,故第2字節(jié)為00;TID Low Byte=00000000,故第3字節(jié)為OO。

2.3 控制設(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個字節(jié)“0E 00 01 12”是WTPInvoke PDU,后45個字節(jié)是WSP協(xié)議數(shù)據(jù)單元。

WTP Invoke PDU同樣采用了固定結(jié)構(gòu)格式(如表1所列)。其中,CON=0,PDU Type=0001,GTR=1,TTR=1,RID=0,故第1字節(jié)為0E;TID High Byte=00000000,故第2字節(jié)為00;TID Low Byte=00000001,故第3字節(jié)為01;Version=00,TIDnew=0,U/P=1,RES=00,TCL=10,故第4字節(jié)為12。

發(fā)送數(shù)據(jù)序列中第5字節(jié)“60”是WSP方法Post的代碼,第6~49字節(jié)是WSP Post PDU。WSP Post PDU結(jié)構(gòu)如表6所列。

第6字節(jié)“1A”是UriLen(26字節(jié));第7字節(jié)“10”是HeadersLen(16字節(jié));第8~33字節(jié)是Uri字段,URI=http:/mmsc.monternet.com/(中國移動夢網(wǎng));第34字節(jié)“BE”是ContentType的內(nèi)容類型(著名域值 applica—tion/vnd.wap.mms—message的代碼),即Content Type=application/vnd.wap.mms—message;第35~49字節(jié)是由3個Header組成的Headers字段,第35、 36字節(jié)是第1個Header,第37、38字節(jié)是第2個Header,第39~49字節(jié)是第3個Header。

Headerl:80 BE(Accept:application/vnd.wap.mms—message)。

Header2:C7 80(Cashe Control:None)。

Header3:A1是域Proxy authorization的代碼,第40字節(jié)“09”是域長度(9字節(jié)),第41字節(jié)“80”是Basic的代碼,第42~44字節(jié)是User— id=wap,第46~48字節(jié)是Password=wap。

數(shù)據(jù)字段就是緊接著發(fā)送的MMS包。

服務器返回數(shù)據(jù)序列如下:

返回數(shù)據(jù)中,第1~3字節(jié)是WTP Result PDU,其余為WSP協(xié)議數(shù)據(jù)單元。WTP Result PDU格式與前面相同,只是TID=8001,與WTP Invoke PDU中的TID=0001相對應。

返回數(shù)據(jù)中第4字節(jié)“04”是WSP會話響應Reply的代碼,第5~173字節(jié)是WSP Reply PDU。WSP ReplyPDU結(jié)構(gòu)如表7所列。

第5字節(jié)“20”是Status編碼,表示成功;第6、7字節(jié)“81 26”是Headers的長度(解碼后為A6,即166個字節(jié),從第8字節(jié)“61”到173字節(jié)“B1”);第8~38字節(jié)是Cont—entType的域值,ContentType=application/vnd.wap.

mms—message;第40~173字節(jié)是由6個Header組成的Headers字段,第40~52字節(jié)是第1個Header,第53~78字節(jié)是第2個Header,第79~111字節(jié)是第3個Header,第 112~143字節(jié)是第4個Header,第144~167字節(jié)是第5個Header,第168~173字節(jié)是第6個Header。

Header6:Date=48 29 41 EB,以秒計算的日期,起始日期為1970—01-01。

返回數(shù)據(jù)中,第174~209字節(jié)是Data字段,其內(nèi)容與MMS頭內(nèi)容相對應,解碼后含義:

2.4 控制設(shè)備發(fā)送WTP確認完成會話

控制設(shè)備發(fā)送WTP確認(WTP AcknowledgementPDU,3字節(jié)):1C 00 01。

WTP Acknowledgement PDU格式同表5。其中,CON=0,PDU Type=0011,Tve/Tok=1,RES=0,RID=0,故第l字節(jié)為1C;TID High Byte=00000000,故第2字節(jié)為00;TID Low Byte=00000001,故第3字節(jié)為01。

2.5 斷開服務器連接

如果要退出數(shù)據(jù)模式,控制設(shè)備可通過UART串口傳送符號+++,BENQ23G返回命令模式,但與服務器的Socket連接并沒有斷開。如果要斷開 BENQ23G與服務器的Socket連接,則控制設(shè)備需通過UART串口發(fā)送ATH命令給BENQ23G模塊。

3 結(jié)論

本文介紹了一種通過彩信傳送圖像的低成本遠程監(jiān)控系統(tǒng)。該系統(tǒng)采用Winbond公司的77E58單片機作為控制器,由外部報警傳感器觸發(fā),控制串口攝像頭捕獲現(xiàn)場圖像,封裝MMS彩信,并通過控制BenQ公司的GSM/GPRS模塊BENQ23G發(fā)送,同時還可以通過撥打預設(shè)號碼將現(xiàn)場聲音傳送出去。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18926

    瀏覽量

    227215
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628331
  • 監(jiān)控系統(tǒng)

    關(guān)注

    21

    文章

    3769

    瀏覽量

    172312
收藏 人收藏

    評論

    相關(guān)推薦

    基于GPRS和單片機彩信報警系統(tǒng)設(shè)計方案

    設(shè)計一種基于GPRS 和51 單片機彩信報警系統(tǒng)。利用單片機技術(shù)、帶彩信協(xié)議GPRS 無線通信模塊
    發(fā)表于 03-15 10:40 ?4420次閱讀
    基于GPRS和<b class='flag-5'>單片機</b>的<b class='flag-5'>彩信</b>報警<b class='flag-5'>系統(tǒng)</b>設(shè)計方案

    單片機典型案例開發(fā)(一)

    設(shè)計一種基于GPRS 和51 單片機彩信報警系統(tǒng)。利用單片機技術(shù)、帶彩信協(xié)議GPRS 無線通信模塊
    發(fā)表于 04-05 15:45 ?1.4w次閱讀

    [推薦]愛特生3G彩信監(jiān)控系統(tǒng)

    愛特生彩信監(jiān)控是一套嵌入式彩信實時監(jiān)控系統(tǒng)。只要增加一部能收發(fā)
    發(fā)表于 02-09 09:22

    [推薦]愛特生彩信監(jiān)控

    彩信軟件-愛特生彩信監(jiān)控產(chǎn)品介紹 愛特生彩信監(jiān)控
    發(fā)表于 07-22 09:41

    單片機控制下的家居溫度監(jiān)控系統(tǒng)設(shè)計

    利用單片機及無線傳輸模塊實現(xiàn)無線溫度監(jiān)測系統(tǒng),實現(xiàn)溫控范圍調(diào)節(jié)及其超溫范圍報警?! ? 技術(shù)要點  由于本
    發(fā)表于 07-28 08:46

    基于單片機圖像采集,通過GPRS模塊發(fā)送圖片

    各位前輩們,我在做一個基于單片機圖像采集,通過帶有彩信功能的GPRS模塊發(fā)送圖片到目標手機,達到防盜的功能。但是我對單片機
    發(fā)表于 03-20 11:07

    如何實現(xiàn)單片機糧倉溫度遠程采集傳送系統(tǒng)設(shè)計?

    如何實現(xiàn)單片機糧倉溫度遠程采集傳送系統(tǒng)設(shè)計?
    發(fā)表于 01-27 07:44

    利用單片機實現(xiàn)的樓宇監(jiān)控系統(tǒng)

    介紹一種利用單片機實現(xiàn)的樓宇監(jiān)控系統(tǒng)的硬件線路及軟件設(shè)計方法,并說明了該系統(tǒng)的功能、特點。關(guān)鍵詞:單片機
    發(fā)表于 08-06 11:51 ?29次下載

    一種彩信報警系統(tǒng)方案

    設(shè)計一種基于GPRS 和51 單片機彩信報警系統(tǒng)。利用單片機技術(shù)、帶彩信協(xié)議GPRS 無線通信模塊
    發(fā)表于 02-23 15:18 ?47次下載
    一種<b class='flag-5'>彩信</b>報警<b class='flag-5'>系統(tǒng)</b>方案

    單片機控制SIM900模塊來發(fā)送彩信的程序代碼

    這是我用單片機控制SIM900模塊來發(fā)送彩信的程序代碼 ,可用這個程序中的函數(shù)來發(fā)送指定的一幅圖片。
    發(fā)表于 11-20 16:06 ?18次下載

    51單片機編碼控制315無線模塊傳送指令

    51單片機編碼控制315無線模塊傳送指令
    發(fā)表于 11-23 14:54 ?39次下載

    基于51單片機與GPRS的彩信報警系統(tǒng)的設(shè)計與實現(xiàn)

    設(shè)計一種基于 GPRS 和51 單片機彩信報警系統(tǒng)。利用單片機技術(shù)、帶彩信協(xié)議GPRS 無線通信模塊
    發(fā)表于 12-06 09:34 ?13次下載
    基于51<b class='flag-5'>單片機</b>與GPRS的<b class='flag-5'>彩信</b>報警<b class='flag-5'>系統(tǒng)</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    ?一款基于gprs和單片機彩信報警系統(tǒng)方案

    基于GPRS和單片機彩信報警系統(tǒng)設(shè)計方案 摘要:設(shè)計一種基于GPRS 和51 單片機彩信報警系統(tǒng)
    的頭像 發(fā)表于 12-07 13:51 ?6254次閱讀
    ?一款基于gprs和<b class='flag-5'>單片機</b>的<b class='flag-5'>彩信</b>報警<b class='flag-5'>系統(tǒng)</b>方案

    基于W77E58單片機和EPM7128芯片實現(xiàn)雷達網(wǎng)絡測控系統(tǒng)的設(shè)計

    系統(tǒng)單片機模塊采用Winbond公司的高性能51兼容內(nèi)核單片機W77E58實現(xiàn)
    的頭像 發(fā)表于 05-11 07:35 ?1764次閱讀
    基于W<b class='flag-5'>77</b>E58<b class='flag-5'>單片機</b>和EPM7128芯片<b class='flag-5'>實現(xiàn)</b>雷達網(wǎng)絡測控<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    基于W77E58單片機和Neuron 3150實現(xiàn)圖像采集系統(tǒng)的設(shè)計

    作者采用神經(jīng)元芯片Neuron 3150并配合W77E58單片機系列開發(fā)了低成本的圖像采集節(jié)點,并能通過上位向用戶發(fā)送手機短信,有效地彌補了現(xiàn)在的智能住宅的不足。
    的頭像 發(fā)表于 03-19 10:37 ?2708次閱讀
    基于W<b class='flag-5'>77</b>E58<b class='flag-5'>單片機</b>和Neuron 3150<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>圖像</b>采集<b class='flag-5'>系統(tǒng)</b>的設(shè)計