《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于串口通信的短信收發(fā)中間件的研究與設(shè)計(jì)
基于串口通信的短信收發(fā)中間件的研究與設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2012年第17期
丁永尚,何旭明,朱 亮,,芮文艷
(蘇州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215104)
摘要: 在對(duì)串口通信,、AT指令和PDU編解碼進(jìn)行研究的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于串口通信的短信收發(fā)中間件,,其具有很強(qiáng)的強(qiáng)內(nèi)聚和低耦合性的特點(diǎn),,可直接應(yīng)用于各種應(yīng)用系統(tǒng),如家校通系統(tǒng),、企業(yè)管理系統(tǒng),、圖書信息查詢系統(tǒng)、教務(wù)信息系統(tǒng)等,,為應(yīng)用系統(tǒng)提供短信息的收發(fā)和管理服務(wù),。
Abstract:
Key words :

摘  要: 在對(duì)串口通信,、AT指令和PDU編解碼進(jìn)行研究的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于串口通信的短信收發(fā)中間件,,其具有很強(qiáng)的強(qiáng)內(nèi)聚和低耦合性的特點(diǎn),,可直接應(yīng)用于各種應(yīng)用系統(tǒng),如家校通系統(tǒng),、企業(yè)管理系統(tǒng),、圖書信息查詢系統(tǒng)、教務(wù)信息系統(tǒng)等,,為應(yīng)用系統(tǒng)提供短信息的收發(fā)和管理服務(wù),。
關(guān)鍵詞: AT指令;串口通信,;短信,;信息化

 隨著移動(dòng)通信和電子技術(shù)的不斷發(fā)展,手機(jī)越來越成為人們?nèi)粘I詈凸ぷ髦斜夭豢缮俚耐ㄐ殴ぞ?。?jù)工業(yè)和信息化部的統(tǒng)計(jì)數(shù)據(jù)顯示,,目前,我國移動(dòng)電話普及率達(dá)到每百人80.2部,,超過固定電話28.1%,,其用戶已躍居世界第一位[1]。
 SMS業(yè)務(wù)將手機(jī)的通話功能和尋呼機(jī)的尋呼功能合二為一,,可以靈活地發(fā)送和接收各種信息,。很多企事業(yè)單位開始根據(jù)自身的需求,以短信息的形式發(fā)送企事業(yè)產(chǎn)品,、服務(wù),、各種促銷活動(dòng)、通知,、公告等信息;利用短信息提供信息互動(dòng)查詢,,實(shí)現(xiàn)企事業(yè)內(nèi)部以及企事業(yè)與客戶之間的有效溝通,,加強(qiáng)企事業(yè)單位內(nèi)部管理和客戶關(guān)系管理[2]。作為高職院校,,根據(jù)高校繳費(fèi)管理工作的需要和發(fā)展趨勢(shì),,加入短信平臺(tái)也將顯得尤為重要。
 基于以上考慮,,本文在對(duì)GSM數(shù)字移動(dòng)通信網(wǎng)絡(luò),、串口通信、AT指令和PDU編解碼進(jìn)行研究的基礎(chǔ)上,,設(shè)計(jì)并實(shí)現(xiàn)基于串口通信的短信收發(fā)中間件,,根據(jù)提供的接口可方便地應(yīng)用于其他軟件中。
1 中間件在應(yīng)用系統(tǒng)中的地位
 為了能夠使得應(yīng)用系統(tǒng)中的短信息收發(fā)模塊具有更強(qiáng)的可擴(kuò)展性和可管理性,更具有模塊強(qiáng)內(nèi)聚性,、低耦合性的特點(diǎn),,本文設(shè)計(jì)的中間件和應(yīng)用系統(tǒng)之間以數(shù)據(jù)庫作為訪問接口,即可把本中間件看作是短信底層接口通信模塊層MC(Message Communication),、應(yīng)用層中可設(shè)計(jì)短信收發(fā)平臺(tái)層MR(Message Receive and send)和短信應(yīng)用層MA(Message Application),,形成獨(dú)立的三層架構(gòu)。
其中MC(中間件)作為短信平臺(tái)框架的基礎(chǔ),,包含了系統(tǒng)的核心技術(shù),,是系統(tǒng)實(shí)現(xiàn)的難點(diǎn),也是本文重點(diǎn)研究的內(nèi)容,。系統(tǒng)總體框架圖如圖1所示,。

 MC作為MR的核心組件是非常重要的,MC能夠把所有與硬件(GSM Modem)交互的細(xì)節(jié)全部封起來,,與其他模塊以數(shù)據(jù)庫表為接口相互協(xié)調(diào)工作,。不論是對(duì)于MR還是MA來說,MC都是透明的,,MC實(shí)際上起到的作用就是將GSM Modem與關(guān)系型數(shù)據(jù)庫緊密地聯(lián)系起來,,第三方應(yīng)用時(shí)只需要對(duì)MC中的數(shù)據(jù)庫進(jìn)行標(biāo)準(zhǔn)操作,就可以正常地對(duì)GSM Modem進(jìn)行控制,,從而獲得對(duì)短信息的操作權(quán),。
2 中間件(MC)功能設(shè)計(jì)
 MC作為硬件(GSM Modem)和數(shù)據(jù)庫的樞紐,設(shè)計(jì)應(yīng)該具備以下功能:
?。?)被動(dòng)處理:將GSM Modem接入到計(jì)算機(jī)標(biāo)準(zhǔn)COM口上,,當(dāng)GSM Modem接收到信息并且通過COM反饋到MC后,MC可以把收到的的短信數(shù)據(jù)存放到數(shù)據(jù)庫中,。
?。?)主動(dòng)處理:當(dāng)數(shù)據(jù)庫中的信息發(fā)送表中有新的數(shù)據(jù)時(shí),MC每隔1 min進(jìn)行掃描,,并在作出反應(yīng)后,,MC把相關(guān)數(shù)據(jù)通過COM口發(fā)送給GSM Modem。
MC功能示意圖如圖2所示,。

3 底層通信類庫框架設(shè)計(jì)
 ATPort類庫設(shè)計(jì)的目的是把底層調(diào)用AT指令進(jìn)行串行通信的細(xì)節(jié)分裝,,然后以方法的形式提供外部調(diào)用接口,使整個(gè)短信平臺(tái)有一個(gè)很好的擴(kuò)展性,、穩(wěn)定性和低耦合性,;而且編譯封裝之后可以以二次開發(fā)包的身份供其他程序員或項(xiàng)目使用。ATPort類庫的內(nèi)部結(jié)構(gòu)如圖3所示,。

3.1 類庫接口
 其他模塊只需要訪問ATPort類的7個(gè)公共方法即可很方便地實(shí)現(xiàn)短消息平臺(tái)系統(tǒng),。7個(gè)接口方法的功能和參數(shù)描述如下:
?。?)int Sms_Connection(int Com_Port,int Com_BaudRate,, string Mobile_Type)
 Sms_Connection方法說明如下:
 功能描述:用于初始化終端與串口的連接,。
 Com_Port:串口號(hào)(0為紅外接口,1,,2,,3,…為串口),。
 Com_BaudRate:波特率,。
 Mobile_Type:返回終端型號(hào)。
 Sms_Connection:返回值(0:連接終端失??;1:連接終端成功)。
(2)int Sms_Send(string Sms_TelNum,, string Sms_Text)
 Sms_Send方法說明如下:
 功能描述:發(fā)送短信,。
 Sms_TelNum:發(fā)送的終端號(hào)碼。
 Sms_Text:發(fā)送的短信內(nèi)容,。
 Sms_Send:返回值(0:發(fā)送短信失?。?:發(fā)送短信成功),。
?。?)int Sms_Receive(string Sms_Type,string Sms_Text)
 Sms_Receive方法說明如下:
 功能描述:接收指定類型的短信,。
 Sms_Type:短信類型(0:未讀短信,;1:已讀短信;2:待發(fā)短信,;3:已發(fā)短信,;4:全部短信)。
 Sms_Text:返回指定類型的短信內(nèi)容字符串(短信內(nèi)容字符串說明:短信與短信之前用"|"符號(hào)作為分隔符,,每條短信中間的各字段用"#"符號(hào)作為分隔符),。
 (4)int Sms_Delete(string Sms_Index)
 Sms_Delete方法說明如下:
 功能描述:刪除指定的短信,。
 Sms_Index:短信的索引號(hào)。
?。?)int Sms_AutoFlag()
 Sms_AutoFlag方法說明如下:
 功能描述:檢測(cè)連接的終端是否支持自動(dòng)收發(fā)短信功能,。
 Sms_AutoFlag:返回值(0:不支持;1:支持),。
?。?)int Sms_NewFlag()
 Sms_NewFlag方法說明如下:
 功能描述:查詢是否收到新的短信息,。
 Sms_AutoFlag:返回值(0:未收到;1:收到),。
?。?)int Sms_Disconnection()
 Sms_Disconnection方法說明如下:
 功能描述:斷開終端與串口的連接。
3.2 類庫處理事務(wù)流程
 調(diào)用此類庫進(jìn)行AT串口編程時(shí),,首先要調(diào)用Sms_Connection方法對(duì)GSM Modem進(jìn)行硬件初始化,,包括串口號(hào)、串口速率等參數(shù)設(shè)置,;之后打開相應(yīng)串口,,檢驗(yàn)GSM Modem的初始化是否成功。成功之后,,即可以進(jìn)行調(diào)用Sms_Send方法發(fā)送短信,、調(diào)用Sms_Receive接收短信、調(diào)用Sms_Delete方法刪除短信等事務(wù)處理,。處理完之后調(diào)用Sms_Disconnection方法斷開終端與串口的連接,。具體的流程如圖4所示。

流程代碼如下:
ATPort ap,;
String TypeStr="",;  ///建立與GSM MODEM的連接
    String CopyRightToCOM="";
String CopyRightStr = "",;
if(ap.Sms_Connection(CopyRightStr,,uint.Parse(MobPort.Text.Trim()),
9600,,out TypeStr,,out CopyRightToCOM) = = 1)
 ///5為串口號(hào),為紅外接口,;,,2,3,,...為串口
            {
             State_Show.Text=TypeStr,;
//WAVECOM MODEM
                ap.Sms_Send(TelNum_Text.Text,
SendSms_Text.Text),;
            }
            else
                return,;

 


4 中間件與應(yīng)用層之間接口數(shù)據(jù)庫的設(shè)計(jì)
 模塊高內(nèi)聚、低耦合性是軟件開發(fā)必須重點(diǎn)考慮的問題,,所以系統(tǒng)設(shè)計(jì)應(yīng)用層(MR)與中間件(MC)之間的接口以數(shù)據(jù)庫的形式設(shè)計(jì),。根據(jù)系統(tǒng)實(shí)際需求應(yīng)該有7個(gè)表,即待發(fā)短信表,、正在發(fā)送表,、發(fā)送成功表,、發(fā)送失敗表、過期未發(fā)送表,、收到新短信表,、收到短信已讀表等7個(gè)數(shù)據(jù)表,而且7個(gè)數(shù)據(jù)表在結(jié)構(gòu)上是一致的,。其數(shù)據(jù)結(jié)構(gòu)如表1所示,。
至此,本文就完成了整個(gè)中間件的設(shè)計(jì)與實(shí)現(xiàn),。應(yīng)用系統(tǒng)如典型的信息管理系統(tǒng),,對(duì)中間件來說只是一個(gè)提供數(shù)據(jù)的對(duì)象,此數(shù)據(jù)以數(shù)據(jù)庫的方式提供,?;谶@樣一種架構(gòu),不僅使得系統(tǒng)結(jié)構(gòu)更清晰,,而且更易于管理,、維護(hù)和擴(kuò)充。
 本文設(shè)計(jì)并實(shí)現(xiàn)了基于串口通信的短信收發(fā)中間件系統(tǒng),,由于其具有很強(qiáng)的高內(nèi)聚和低耦合性,,可直接應(yīng)用于各種應(yīng)用系統(tǒng),如家校通系統(tǒng),、企業(yè)管理系統(tǒng),、圖書信息查詢系統(tǒng)、教務(wù)信息系統(tǒng)等,。但本中間件還有改進(jìn)之處,,例如對(duì)于彩信(MMS)格式的支持。隨著3G的逐步發(fā)展,,彩信的使用已經(jīng)逐漸滲入到普通百姓的生活當(dāng)中,,多媒體信息的表現(xiàn)形式將在不久的將來占據(jù)越來越多的市場(chǎng)的份額??朔礼SM Modem的自身瓶頸(如發(fā)送穩(wěn)定性和發(fā)送吞吐量),,可以考慮采用“GSM Modem池”的方式來構(gòu)架短信平臺(tái)。
參考文獻(xiàn)
[1] 肖明華.Wap業(yè)務(wù)發(fā)展淺析[J].科技和產(chǎn)業(yè),,2005(2).
[2] 王子禎,,孫亞夫.移動(dòng)定位業(yè)務(wù)的開發(fā)[J].微計(jì)算機(jī)應(yīng)用,2006(1):23-25.
[3] 郭梯云,,鄔國揚(yáng),,李建東.移動(dòng)通信[M].西安:西安電子科技大學(xué)出版社,1995.
[4] 張?jiān)?基于GSM的短消息業(yè)務(wù)協(xié)議分析[J].無線電工程,2001(4).
[5] 劉濤.基于手機(jī)模塊TC35的單片機(jī)短消息收發(fā)系統(tǒng)[J].電子技術(shù),,2003(3).
[6] Dino Esposito.構(gòu)建Web解決方案[M].北京:清華大學(xué)出版社,2002.
[7] 劉德山,,楊春志.基于C/S和B/S混合結(jié)構(gòu)的高校教務(wù)管理信息系統(tǒng)[J].遼寧師范大學(xué)學(xué)報(bào),,2002(12).
[8] 歐洲電信標(biāo)準(zhǔn)協(xié)會(huì).AT command set for GSM mobile equipment.1999.
[9] SIEMENS. SIEMENS mobile. AT command set.2002.

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