許峰 宋凡峰
【摘 要】本文設(shè)計開發(fā)了一種通用性很強(qiáng)的短信應(yīng)用平臺,文中對短信模塊的硬件應(yīng)用進(jìn)行介紹,解釋了AT命令的使用方法,最后給出了上位機(jī)監(jiān)控軟件與短信模塊的通訊設(shè)計。該系統(tǒng)具有設(shè)計簡單、通用性強(qiáng)、易擴(kuò)展、運(yùn)行穩(wěn)定等特點(diǎn)。
【關(guān)鍵詞】AT命令 PDU RS485通訊
近幾年,短消息業(yè)務(wù)以各種各樣的應(yīng)用滲入到公眾的日常生活中,已經(jīng)由日常應(yīng)用向企業(yè)/行業(yè)應(yīng)用擴(kuò)展,越來越多的企業(yè)開始開展各種短信業(yè)務(wù)。在此需求下,本文設(shè)計了一個通用性很強(qiáng)的短信平臺系統(tǒng),該系統(tǒng)短信收發(fā)成功率高,運(yùn)行穩(wěn)定,同時界面設(shè)計生動形象,清晰簡單,易學(xué)易用。本系統(tǒng)可以獨(dú)立使用,也可以在此基礎(chǔ)上進(jìn)行二次開發(fā),最大程度的滿足個性化應(yīng)用。
1系統(tǒng)設(shè)計
本系統(tǒng)將PC軟件與短信模塊集成在一起,構(gòu)成一個通用性較強(qiáng)的短信平臺,可以在此平臺上實(shí)現(xiàn)二次開發(fā),將許多應(yīng)用很輕松地與短信功能結(jié)合在一起。本設(shè)計采用了西門子的短信模塊TC35i。
1.1 短信模塊TC35i的硬件介紹
TC35i模塊有40個引腳,通過一個ZIF(Zero Insertion Force,零阻力插座)連接器引出。這40個引腳可以劃分為5類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。
TC35i的第1~5引腳是正電源輸入腳,通常推薦值4.2V;第6~10引腳是電源地。11、12為充電引腳,可以外接鋰電池。15腳是啟動腳IGT,系統(tǒng)加電后為使TC35i進(jìn)入工作狀態(tài)。
TC35i模塊的數(shù)據(jù)輸入/輸出接口實(shí)際上是一個串行異步收發(fā)器。它有固定的參數(shù):8位數(shù)據(jù)位和1位停止位,無校驗(yàn)位,波特率在300bps-115kbps之間可選,默認(rèn)9600。硬件握手信號用RTS0/CTS0,軟件流量控制用XON/XOFF,CMOS電平,支持標(biāo)準(zhǔn)的AT命令集。
1.2 TC35i的短信控制模式
TC35i對短消息的控制共有兩種模式:
基于AT命令的PDU模式;基于AT命令的Text 模式。
本設(shè)計采用基于AT命令的PDU模式收發(fā)短信。
AT標(biāo)準(zhǔn)是一個行向?qū)钫Z言,每條命令由3部分組成分別為前綴、主體和終止字符
前綴由字符AT構(gòu)成,來源于單詞attention的頭字母。主體由命令,參數(shù)和可用到的數(shù)值組成。
1.3 PDU模式短消息的接收與發(fā)送
1.3.1 短消息的接收:
根據(jù)設(shè)置不同,TC35i將收到的短消息保存在緩存單元或存入SIM卡,從TC35i中接收短消息實(shí)質(zhì)上就是從SIM或緩存中讀出信息。這主要利用AT+CMGR和AT+CMGL兩條指令來完成。
接收短信息時要先建立聯(lián)接,傳送一些初始化指令,然后傳送以下指令:
AT+CMGF=0 置為PDU模式
AT+CMGR=1讀取接收的一條短信息
在PDU模式下,GSM通信模塊的回答格式為:
+CMGR:
其中: stat表示該條短信息的狀態(tài),通常為0(未讀過,新的短信息)或1(已讀過);
Length為十進(jìn)制數(shù),表示pdu數(shù)據(jù)長度減去短信息服務(wù)中心地址長度,單位為字節(jié);
然后,要分析PDU數(shù)據(jù)包,根據(jù)PDU的數(shù)據(jù)格式將收到的中文信息和其它相關(guān)信息解析出來。
1.3.2 短消息的發(fā)送:
與接收短信息一樣,發(fā)送時也要先建立聯(lián)接,傳送一些初始化指令,然后發(fā)送短消息內(nèi)容。
AT+CMGF=0 {選擇PDU模式}
OK
AT+CMGS=33{發(fā)送短信息,33 octets(不包括最初9個短信息元字節(jié))}
手機(jī)回答:>{允許上傳數(shù)據(jù),ASCII碼是($20H,$2EH)}
發(fā)送:
0891683108200005F011000D91683117293955F9000800124E2D56FD75355B506280672F4FE1606F7F51
不計最初9個短消息信元字節(jié),本短信息有28字節(jié)(48個字符)。AT+CMGS僅說明了SMSC信息內(nèi)容的長度,在收到modem回答的>符號手才發(fā)送PDU數(shù)據(jù)串,并以(CTRL^Z)結(jié)束。
以上是對TC35i模塊軟硬件資料的介紹,本設(shè)計中直接采用了市場上基于TC35i的GSM模塊,所以在應(yīng)用中主要是上位機(jī)通過串口通訊來控制模塊收發(fā)短信,接下來介紹上位機(jī)軟件的設(shè)計。
1.4上位機(jī)軟件編程及調(diào)試
上位機(jī)軟件是本系統(tǒng)的重要實(shí)現(xiàn)平臺,本設(shè)計采用DELPHI編程環(huán)境實(shí)現(xiàn)上位機(jī)軟件的編寫、調(diào)試。上位機(jī)軟件從架構(gòu)上采用C/S形式,分為3大部分:
監(jiān)控軟件、客戶端軟件和數(shù)據(jù)庫軟件。
與硬件的串口通訊部分是重點(diǎn),這里給出PDU數(shù)據(jù)格式,這是收發(fā)短信的難點(diǎn):
PDU相當(dāng)于一個數(shù)據(jù)包,它由構(gòu)成消息(SMS)的信息組成。作為一種數(shù)據(jù)單元,它必須包含源/目的地址、保護(hù)(有效)時間、數(shù)據(jù)格式、協(xié)議類型和正文,正文長度可達(dá)140字節(jié),它們都以十六進(jìn)制表示。PDU結(jié)構(gòu)根據(jù)短消息是發(fā)送還是接收而不同。
例如,我們要將字符“Hi”字符發(fā)送到目的地“13677328099”
PDU字符串為:
08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834
2結(jié)束語
本文設(shè)計的短信應(yīng)用系統(tǒng),可以基于當(dāng)前的數(shù)據(jù)庫進(jìn)行二次開發(fā),而不需要更改短信監(jiān)控系統(tǒng),使得本系統(tǒng)的擴(kuò)展應(yīng)用非常方便,有利于本系統(tǒng)的推廣。
參考文獻(xiàn):
[1]劉于寶,王廣誼.基于短信平臺的信息化管理模式 《放射學(xué)實(shí)踐》 2013年6期
[2]許高陽,索寒生.化工銷售物流短信系統(tǒng)設(shè)計與應(yīng)用 《計算機(jī)與應(yīng)用化學(xué)》 2012年12期
[3]唐明董,張俊波.基于GSM模塊的短信平臺服務(wù)器設(shè)計與實(shí)現(xiàn) 《微計算機(jī)應(yīng)用》.2007年2期.
作者簡介:
許峰,男(1977.10—),漢族,研究生,研究方向:自動控制、電子信息。