<br><A HREF="/editor/uploadfiles/learns01/20057271004797982.jpg" TARGET=_blank><IMG SRC="/editor/uploadfiles/learns01/20057271004797982.jpg" border=0 alt=按此在新窗口瀏覽圖片 onload="javascript:if(this.width>580)this.width=580"></A><BR> 1.相關(guān)的GSM AT指令</P><P> 與SMS有關(guān)的GSM AT指令(from GSM07.05)如表1所示:</P><P> 表1 相關(guān)的GSM AT指令</P><P> AT 指令 功 能 </P><P> AT+CMGC Send an SMS command(發(fā)出一條短消息命令)<BR> <BR> AT+CMGD Delete SMS message(刪除SIM卡內(nèi)存的短消息)<BR> <BR> AT+CMGF Select SMS message formate(選擇短消息信息格式:0-PDU;1-文本) <BR> <BR> AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未讀,1/“REC READ”-已讀,2/“STO UNSENT”-待發(fā),3/“STO SENT”-已發(fā),4/“ALL”-全部的) <BR> AT+CMGR Read SMS message(讀短消息) <BR> AT+CMGS Send SMS message(發(fā)送短消息) <BR> AT+CMGW Write SMS message to memory(向SIM內(nèi)存中寫入待發(fā)的短消息) <BR> AT+CMSS Send SMS message from storage(從SIN|M內(nèi)存中發(fā)送短消息) <BR> AT+CNMI New SMS message indications(顯示新收到的短消息) <BR> AT+CPMS Preferred SMS message storage(選擇短消息內(nèi)存) <BR> AT+CSCA SMS service center address(短消息中心地址) <BR> AT+CSCB Select cell broadcast messages(選擇蜂窩廣播消息) <BR> AT+CSMP Set SMS text mode parameters(設(shè)置短消息文本模式參數(shù)) <BR> AT+CSMS Select Message Service(選擇短消息服務(wù)) </P><P> 對短消息的控制共有三種模式:<BR> <BR> Block Mode </P><P> <BR> 基于AT命令的PDU Mode </P><P> <BR> 基于AT命令的Text Mode </P><P> 使用Block模式需要手機生產(chǎn)廠家提供驅(qū)動支持,目前,PDU Mode 已取代 Block Mode, Text Mode比較簡單,本文重點介紹模式PDU Mode,以西門子公司的產(chǎn)品TC35T為例。 <BR> TC35基本命令<BR> 1.設(shè)置短消息中心<BR> AT+CSCA=“+8613800270500”回車(具體的號碼由當?shù)氐倪\營商決定。)<BR> 2.接收短消息<BR> +CMTI:“SM”,X (X表示接收短消息的SIM卡存儲號碼)<BR> AT+CMGR=X回車 (從X存儲區(qū)讀短消息)<BR> AT+CMGD=X回車 (從X存儲區(qū)刪除短消息)<BR> 3.發(fā)送短消息<BR> AT+CMGF=1回車(采用文本格式發(fā)送,如用PDU格式,則AT+CMGF=0)<BR> AT+CMGS=“+8613xxxxxxxxx”回車<BR> >輸入短消息。Crtl+Z結(jié)束并發(fā)送。<BR> 4.重要的指令<BR> ATZ;E 回車 Echo OFF<BR> ATZ;E1回車 Echo ON<BR> AT+CREG?回車 回答x(X=2脫網(wǎng),X=1注冊,X=0狀態(tài)不明)<BR> AT+COPS?回車 表示SIM卡是否被網(wǎng)絡(luò)接受<BR> AT+COPS=?回車 顯示所有可用的網(wǎng)絡(luò)。<BR> 5.建立語音呼叫<BR> AT+CREG?回車(是否網(wǎng)絡(luò)注冊)<BR> ATD13xxxxxxxxx;回車(語音呼叫和數(shù)據(jù)呼叫建立的區(qū)別在于號碼后所接的分號上)<BR> 6.改變并保存參數(shù)<BR> AT+IPR=2400 回車(改變RS232口的速率至2400bps)<BR> AT&W 回車 (保存已改參數(shù))<BR> 7.輸入PIN碼<BR> AT+CPIN=“xxxx”<BR> <BR> 2.計算機與TC35T的通信<BR> (1)RS232串口連接<BR> 由于TC35T自帶RS232串口線,故只需將其連接到計算機串口即可。打開超級終端,選擇相應(yīng)的串口,將端口參數(shù)設(shè)置為:速率—4800、奇偶校驗位—無、數(shù)據(jù)位—8、停止位—1、流量控制—硬件。<BR> (2)連接測試<BR> 輸入“AT”然后回車,屏幕上返回“OK”表明計算機與TC35T已連接成功,TC35T能夠正常工作。這時就可以測試各類AT命令。<BR> 當測試命令“AT+CMGS=?<CR>”時,如果返回“OK”標明TC35T支持該指令。該指令的完整語法如下:<BR> <BR> 如果此時TC35T處于PDU Mode(即“AT+CMGF?<CR>”返回“0”) </P><P> AT+CMGS=<length><CR>PDU is given<^Z/ESC><BR> 如果短消息發(fā)送成功,則返回“OK”,并顯示信息號:<BR> +CMGS: <mr>[,<ackpdu>]<BR> 如果短消息發(fā)送失敗,則返回如下信息號:<BR> +CMS ERROR: <err><BR> <BR> 如果此時TC35T處于Text Mode(即“AT+CMGF?<CR>”返回“1”) </P><P> AT+CMGS=<da>[,toda]<CR>text is entered<^Z/ESC><BR> 如果短消息發(fā)送成功,則返回“OK”,并顯示信息號:<BR> +CMGS: <mr>[,<scts>]<BR> 如果短消息發(fā)送失敗,則返回如下信息號:<BR> +CMS ERROR: <err><BR> 另外,由于使用的是TC35T,當有新的短消息到來時,需要TC35T產(chǎn)生提示,使用指令“AT+CNMI”。該指令的完整語法如下:<BR> AT+CNMI=[<mode>][,<mt>][,<bm>][,<ds>][,<bfr>]<BR> 如果有新的短消息來到,則TC35T將自動返回下列提示:<BR> +CMTI: “SM”, <index><BR> 此時讀出<index>,然后用“AT+CMGR”指令即可讀出短消息內(nèi)容。<BR> 3.PDU數(shù)據(jù)格式分析:<BR> 例如,我們要將字符“Hi”字符發(fā)送到目的地“13823788935”<BR> PDU字符串為:<BR> 08 91 683108701305F0 11 00 0D 91 3128738839F5 00 00 00 02 C834<BR> ⑴08—短信息中心地址長度。指(91)+(683108701305F0)的長度。<BR> ⑵91—短信息中心號碼類型。91是TON/NPI遵守International/E.164標準,指在號碼前需加‘+’號;此外還有其它數(shù)值,但91最常用。<BR> 91—10010001<BR> BIT No. 7 6 5 4 3 2 1 0 <BR> Name 1 數(shù)值類型 號碼鑒別 </P><P> 數(shù)值類型(Type of Number):000—未知,001—國際,010—國內(nèi),111—留作擴展;<BR> 號碼鑒別(Numbering plan identification):0000—未知,0001—ISDN/電話號碼(E.164/E.163),1111—留作擴展;<BR> ⑶683108701305F0—短信息中心號碼。由于位置上略有處理,實際號碼應(yīng)為:8613800731500(字母F是指長度減1)。這需要根據(jù)不同的地域作相應(yīng)的修改。<BR> ⑴、⑵、⑶通稱短消息中心地址(Address of the SMSC)。<BR> ⑷11—文件頭字節(jié)。<BR> 11&h=00010001&b<BR> BIT No. 7 6 5 4 3 2 1 0 <BR> Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI <BR> value 0 0 0 1 0 0 0 1 </P><P> 應(yīng)答路徑—TP-RP(TP-Reply-Path):0—不設(shè)置; 1—設(shè)置<BR> 用戶數(shù)據(jù)頭標識—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何頭信息; 1—含頭信息<BR> 狀態(tài)報告要求—TP-SPR(TP-Status-Report-Request):0—需要報告; 1—不需要報告<BR> 有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(標準);01—預(yù)留; 11—提供8位字節(jié)的一半(Semi-Octet Represented)<BR> 拒絕復(fù)制—TP-RD(TP-Reject-Duplicates):0—接受復(fù)制; 1—拒絕復(fù)制<BR> 信息類型提示—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver); 01—提交(Submit)<BR> ⑸00—信息類型(TP-Message-Reference)<BR> ⑹0B—被叫號碼長度。<BR> ⑺91—被叫號碼類型(同⑵)。<BR> ⑻3128738839F5—被叫號碼,經(jīng)過了位移處理,實際號碼為“13823788935”。<BR> ⑹、⑺、⑻通稱目的地址(TP-Destination-Address)。<BR> ⑼00—協(xié)議標識TP-PID(TP-Protocol-Identifier)<BR> BIT No. 7 6 5 4 3 2 1 0 </P><P> Bit No.7與Bit No.6: 00—如下面定義的分配Bit No.0—Bit No.5;01—參見GSM03.40協(xié)議標識完全定義;10—預(yù)留;11—為服務(wù)中心(SC)特殊用途分配Bit No.0—Bit No.5。<BR> 一般將這兩位置為00。<BR> Bit No.5:0—不使用遠程網(wǎng)絡(luò),只是短消息設(shè)備之間的協(xié)議;1—使用遠程網(wǎng)絡(luò)。<BR> Bit No.0—Bits No.4:00000—隱含;00001—電傳;00010—group 3 telefax;00100—語音;00101—歐洲無線信息系統(tǒng)(ERMES);00110—國內(nèi)系統(tǒng);10001—任何基于X.400的公用信息處理系統(tǒng);10010—Email。<BR> ⑽00—數(shù)據(jù)編碼方案TP-DCS(TP-Data-Coding-Scheme)<BR> BIT No. 7 6 5 4 3 2 1 0 </P><P> Bit No.7與Bit No.6 :一般設(shè)置為00;Bit No.5:0—文本未壓縮,1—文本用GSM標準壓縮算法壓縮;Bit No.4:0—表示Bit No.1、Bit No.0為保留位,不含信息類型信息,1—表示Bit No.1、Bit No.0含有信息類型信息;Bit No.3與Bit No.2:00—默認的字母表,01—8bit,10—USC2(16bit),11—預(yù)留;Bit No.1與Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。<BR> ⑾00—有效期TP-VP(TP-Valid-Period) <BR> VP value(&h) 相應(yīng)的有效期 <BR> 00 to 8F (VP+1)*5 分鐘 <BR> 90 to A7 12小時+(VP-143)*30分鐘 <BR> A8 to C4 (VP-166)*1天 <BR> C5 to FF (VP-192)*1 周 </P><P> ⑿02—用戶數(shù)據(jù)長度TP-UDL(TP-User-Data-Length)<BR> ⒀C834—用戶數(shù)據(jù)TP-UD(TP-User-Data)“Hi”<BR> 4.短消息編碼<BR> 設(shè)需要發(fā)送的短消息內(nèi)容為“Hi”,使用的GSM字符集為7位編碼。首先將字符轉(zhuǎn)換為7位的二進制,然后,將后面字符的位調(diào)用到前面,補齊前面的差別。例如:H翻譯成1001000,i翻譯成1101001,顯然H的二進制編碼不足八位,那么就將i的最后一位補足到H的前面。那么就成了11001000(C8),i剩下六位110100,前面再補兩個0,變成00110100(34),于是“Hi”就變成了兩個八進制數(shù) C8 34。<BR> 5.短消息的發(fā)送與接收案例<BR> 鑒于TC35(T)支持TEXT格式,我們在試驗中主要測試該格式。<BR> (1)設(shè)置短消息中心<BR> AT+CSCA="+8613800731500"(短消息中心); <BR> (2)設(shè)置短消息發(fā)送格式<BR> AT+CMGF=1 (1-TEXT; 0-PDU); <BR> (3)發(fā)送短消息(短消息內(nèi)容為“test”)<BR> AT+CMGS="13823788935"(目的地址) <cr><BR> > test ^z ; <BR> (4)設(shè)置短消息到達自動提示: 設(shè)置短消息到達提示當短消息被接收,將獲取指令: +CMTI:"SM",INDEX(信息存儲位置)<BR> AT+CNMI=1,1,0,0,1();<BR> (5)獲取短消息內(nèi)容(Once more),假設(shè)INDEX=8。<BR> AT+CMGR=8<BR> 返回信息如下:<BR> +CMGR: "REC UNREAD","+8613823788935",,"01/07/16,15:37:28+32",Once more<BR> 6.注意事項<BR> (1)短消息中心一般不會改動,如果短消息中心號碼改動,在使用“AT+CSCA”語句時,記住TC35要重新啟動,否則TC35不能正常工作(TC35T不存在此問題)。<BR> (2)某些SIM卡帶有密碼,啟動時需要輸入密碼。</P><P>
|