《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于串口通信的短信收發中間件的研究與設計
基于串口通信的短信收發中間件的研究與設計
來源:微型機與應用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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 天天噜噜日日噜噜久久综合网 | 视频精品一区 | 美女视频永久黄网站免费观看国产 | 波多野结衣在线观看一区二区 | 国产日本欧美高清免费区 | 欧美精品4kvideofree| 亚洲国产高清一区二区三区 | 免费伦理片网站 | 亚洲第一影院 | 亚洲精品高清久久 | 九九久久国产精品 | 成人欧美一区二区三区视频 | 久久婷婷是五月综合色狠狠 | eee在线播放成人免费 | 国产黄色片在线播放 | 99精品在线| 天天夜夜人人 | 成人福利软件免费 | 成人a网站 | 精品久久久久久亚洲 | 国产亚洲精品国产福利在线观看 | 波多野结衣在线观看一区 | 日韩成人毛片高清视频免费看 | 久久综合精品视频 | 欧美一级专区免费大片 | 2018精品国产一区二区 | www三级| 日韩手机在线观看 | 伊人久久大香焦 | 成人无遮挡肉动漫视频免费 | 日韩在线观看一区二区不卡视频 | 能在线观看的一区二区三区 | 久久99精品国产麻豆不卡 | h片在线观看网站 | 成人伊人| 天天干天天操天天爽 | 视频二区国产 | 人人爽视频 | 精品国产一区二区三区不卡在线 | www.妞干网.com | 国产一级视频久久 |