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

摘  要: 在對串口通信AT指令和PDU編解碼進行研究的基礎上,設計并實現了基于串口通信的短信收發中間件,其具有很強的強內聚和低耦合性的特點,可直接應用于各種應用系統,如家校通系統、企業管理系統、圖書信息查詢系統、教務信息系統等,為應用系統提供短信息的收發和管理服務。
關鍵詞: AT指令;串口通信;短信;信息化

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

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

3 底層通信類庫框架設計
 ATPort類庫設計的目的是把底層調用AT指令進行串行通信的細節分裝,然后以方法的形式提供外部調用接口,使整個短信平臺有一個很好的擴展性、穩定性和低耦合性;而且編譯封裝之后可以以二次開發包的身份供其他程序員或項目使用。ATPort類庫的內部結構如圖3所示。

3.1 類庫接口
 其他模塊只需要訪問ATPort類的7個公共方法即可很方便地實現短消息平臺系統。7個接口方法的功能和參數描述如下:
 (1)int Sms_Connection(int Com_Port,int Com_BaudRate, string Mobile_Type)
 Sms_Connection方法說明如下:
 功能描述:用于初始化終端與串口的連接。
 Com_Port:串口號(0為紅外接口,1,2,3,…為串口)。
 Com_BaudRate:波特率。
 Mobile_Type:返回終端型號。
 Sms_Connection:返回值(0:連接終端失敗;1:連接終端成功)。
(2)int Sms_Send(string Sms_TelNum, string Sms_Text)
 Sms_Send方法說明如下:
 功能描述:發送短信。
 Sms_TelNum:發送的終端號碼。
 Sms_Text:發送的短信內容。
 Sms_Send:返回值(0:發送短信失敗;1:發送短信成功)。
 (3)int Sms_Receive(string Sms_Type,string Sms_Text)
 Sms_Receive方法說明如下:
 功能描述:接收指定類型的短信。
 Sms_Type:短信類型(0:未讀短信;1:已讀短信;2:待發短信;3:已發短信;4:全部短信)。
 Sms_Text:返回指定類型的短信內容字符串(短信內容字符串說明:短信與短信之前用"|"符號作為分隔符,每條短信中間的各字段用"#"符號作為分隔符)。
 (4)int Sms_Delete(string Sms_Index)
 Sms_Delete方法說明如下:
 功能描述:刪除指定的短信。
 Sms_Index:短信的索引號。
 (5)int Sms_AutoFlag()
 Sms_AutoFlag方法說明如下:
 功能描述:檢測連接的終端是否支持自動收發短信功能。
 Sms_AutoFlag:返回值(0:不支持;1:支持)。
 (6)int Sms_NewFlag()
 Sms_NewFlag方法說明如下:
 功能描述:查詢是否收到新的短信息。
 Sms_AutoFlag:返回值(0:未收到;1:收到)。
 (7)int Sms_Disconnection()
 Sms_Disconnection方法說明如下:
 功能描述:斷開終端與串口的連接。
3.2 類庫處理事務流程
 調用此類庫進行AT串口編程時,首先要調用Sms_Connection方法對GSM Modem進行硬件初始化,包括串口號、串口速率等參數設置;之后打開相應串口,檢驗GSM Modem的初始化是否成功。成功之后,即可以進行調用Sms_Send方法發送短信、調用Sms_Receive接收短信、調用Sms_Delete方法刪除短信等事務處理。處理完之后調用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為串口號,為紅外接口;,2,3,...為串口
            {
             State_Show.Text=TypeStr;
//WAVECOM MODEM
                ap.Sms_Send(TelNum_Text.Text,
SendSms_Text.Text);
            }
            else
                return;

 


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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成人综合网在线观看 | 成人欧美精品久久久久影院 | 精品久久久久久影院免费 | 一区视频在线 | 亚洲狠狠狠一区二区三区 | 欧美人成在线视频 | 久久久在线视频精品免费观看 | 欧美日韩综合精品一区二区三区 | 国产情侣无套精品视频 | 久久久99精品免费观看精品 | 欧美极品欧美精品欧美视频 | 国产成人久久精品推最新 | 国产无套视频在线观看香蕉 | 久久综合精品国产一区二区三区无 | 午夜毛片免费观看视频 | 成人香蕉xxxxxxx | 色偷偷亚洲男人天堂 | 2019天天操天天干天天透 | 日韩一级精品久久久久 | 午夜免费69性视频爽爽爽 | 日韩a毛片| 久久草在线观看 | 日韩免费三级 | 国产成人免费全部网站 | 大毛片a大毛片 | 老司机黄色影院 | 精品9e精品视频在线观看 | 欧美一区二区三区免费播放 | 欧美成人免费高清网站 | 亚洲aⅴ在线| 米奇精品一区二区三区在线观看 | 在线中文字幕精品第5页 | a毛片在线还看免费网站 | 亚洲一区天堂 | 美女张开腿让男生桶出水 | 欧美高清亚洲欧美一区h | 国产禁女女网站免费看 | 免费看一级做a爰片久久 | 天天看a | 一级毛片视屏 | 综合欧美日韩一区二区三区 |