AT 指令 AT 即Attention,AT指令集是從終端裝置(Terminal Equipment,TE)或資料終端裝置(Data Terminal Equipment,DTE)向終端擴充卡(Terminal Adapter, TA)或資料電路終端裝置(Data Circuit Terminal Equipment,DCE)發送的。通過TA,TE發送AT指令來控制移動台(Mobile Station,MS)的功能,與GSM 網絡業務進行互動。使用者可以通過AT指令進行呼叫、短信、電話本、資料業務、傳真等方面的控制。90年代初,AT指令僅被用于Modem操作。沒有控制行動電話文本消息的先例,隻開發了一種叫SMS BlockMode的協定,通過終端裝置(TE)或電腦來完全控制 SMS。幾年後,主要的行動電話生産廠商諾基亞、愛立信、摩托羅拉和HP共同為GSM 研制了一整套AT指令,其中就包括對SMS的控制。AT指令在此基礎上演化并被加入GSM 07.05标準以及現在的GSM07.07标準,完全标準化和比較健全的标準。如:對SMS的控制共有3種實作途徑:最初的Block Mode;基于AT指令的Text Mode;基于AT指令的PDU Mode。到現在PDU Mode已經取代BlockMode,後者逐漸淡出。GSM 子產品與計算機之間的通信協定是一些AT指令 集,AT指令是以AT作首, 字元結束的字元串,AT指令的響應資料包在 中。每個指令執行成功與否都有相應的傳回。其他的一些非預期的資訊(如有人撥号進來、線路無信号等),子產品将有對應的一些資訊提示,接收端可做相應的處理。 示例:CDMA modem DTE AT< CR> < LF> OK < LF> ATTEST< CR> < CR> ERROR < LF> 如果AT指令執行成功,“OK”字元串傳回; 如果AT 指令文法錯誤或AT 指令執行失敗, “ERROR”字元串傳回。 1.相關的GSM AT指令 與SMS有關的GSM AT指令(from GSM07.05)如表1所示: 表1 相關的GSM AT指令 AT 指令 功 能 AT+CMGC Send an SMS command(發出一條短消息指令) AT+CMGD Delete SMS message(删除SIM卡記憶體的短消息) AT+CMGF Select SMS message formate(選擇短消息資訊格式:0-PDU;1-文本) AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未讀,1/“REC READ”-已讀,2/“STO UNSENT”-待發,3/“STO SENT”-已發,4/“ALL”-全部的) AT+CMGR Read SMS message(讀短消息) AT+CMGS Send SMS message(發送短消息) AT+CMGW Write SMS message to memory(向SIM記憶體中寫入待發的短消息) AT+CMSS Send SMS message from storage(從SIN|M記憶體中發送短消息) AT+CNMI New SMS message indications(顯示新收到的短消息) AT+CPMS Preferred SMS message storage(選擇短消息記憶體) AT+CSCA SMS service center address(短消息中心位址) AT+CSCB Select cell broadcast messages(選擇蜂窩廣播消息) AT+CSMP Set SMS text mode parameters(設定短消息文本模式參數) AT+CSMS Select Message Service(選擇短消息服務) 對短消息的控制共有三種模式: Block Mode 基于AT指令的PDU Mode 基于AT指令的Text Mode 使用Block模式需要手機生産廠家提供驅動支援,目前,PDU Mode 已取代 Block Mode, Text Mode比較簡單,本文重點介紹模式PDU Mode,以西門子公司的産品TC35T為例。 2.計算機與TC35T的通信 (1)RS232序列槽連接配接 由于TC35T自帶RS232序列槽線,故隻需将其連接配接到計算機序列槽即可。打開超級終端,選擇相應的序列槽,将端口參數設定為:速率—4800、奇偶校驗位—無、資料位—8、停止位—1、流量控制—硬體。 (2)連接配接測試 輸入“AT”然後回車,螢幕上傳回“OK”表明計算機與TC35T已連接配接成功,TC35T能夠正常工作。這時就可以測試各類AT指令。 當測試指令“AT+CMGS=?”時,如果傳回“OK”标明TC35T支援該指令。該指令的完整文法如下: 如果此時TC35T處于PDU Mode(即“AT+CMGF?”傳回“0”) AT+CMGS=PDU is given<^Z/ESC> 如果短消息發送成功,則傳回“OK”,并顯示資訊号: +CMGS: [,] 如果短消息發送失敗,則傳回如下資訊号: +CMS ERROR: 如果此時TC35T處于Text Mode(即“AT+CMGF?”傳回“1”) AT+CMGS=[,toda]text is entered<^Z/ESC> 如果短消息發送成功,則傳回“OK”,并顯示資訊号: +CMGS: [,] 如果短消息發送失敗,則傳回如下資訊号: +CMS ERROR: 另外,由于使用的是TC35T,當有新的短消息到來時,需要TC35T産生提示,使用指令“AT+CNMI”。該指令的完整文法如下: AT+CNMI=[][,][,][,][,] 如果有新的短消息來到,則TC35T将自動傳回下列提示: +CMTI: “SM”, 此時讀出,然後用“AT+CMGR”指令即可讀出短消息内容。 3.PDU資料格式分析: 例如,我們要将字元“Hi”字元發送到目的地“13677328099” PDU字元串為: 08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 ⑴08—短資訊中心位址長度。指(91)+(683108701305F0)的長度。 ⑵91—短資訊中心号碼類型。91是TON/NPI遵守International/E.164标準,指在号碼前需加‘+’号;此外還有其它數值,但91最常用。 91—10010001 BIT No. 7 6 5 4 3 2 1 Name 1 數值類型 号碼鑒别 數值類型(Type of Number):000—未知,001—國際,010—國内,111—留作擴充; 号碼鑒别(Numbering plan identification):0000—未知,0001—ISDN/電話号碼(E.164/E.163),1111—留作擴充; ⑶683108701305F0—短資訊中心号碼。由于位置上略有處理,實際号碼應為:8613800731500(字母F是指長度減1)。這需要根據不同的地域作相應的修改。 ⑴、⑵、⑶通稱短消息中心位址(Address of the SMSC)。 ⑷11—檔案頭位元組。 11&h=00010001&b BIT No. 7 6 5 4 3 2 1 Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI value 1 1 應答路徑—TP-RP(TP-Reply-Path):0—不設定; 1—設定 使用者資料頭辨別—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何頭資訊; 1—含頭資訊 狀态報告要求—TP-SPR(TP-Status-Report-Request):0—需要報告; 1—不需要報告 有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标準);01—預留; 11—提供8位位元組的一半(Semi-Octet Represented) 拒絕複制—TP-RD(TP-Reject-Duplicates):0—接受複制; 1—拒絕複制 資訊類型提示—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver); 01—送出(Submit) ⑸00—資訊類型(TP-Message-Reference) ⑹0B—被叫号碼長度。 ⑺91—被叫号碼類型(同⑵)。 ⑻3176378290F9—被叫号碼,經過了位移處理,實際号碼為“13677328099”。 ⑹、⑺、⑻通稱目的位址(TP-Destination-Address)。 ⑼00—協定辨別TP-PID(TP-Protocol-Identifier) BIT No. 7 6 5 4 3 2 1 Bit No.7與Bit No.6: 00—如下面定義的配置設定Bit No.0—Bit No.5;01—參見GSM03.40協定辨別完全定義;10—預留;11—為服務中心(SC)特殊用途配置設定Bit No.0—Bit No.5。 一般将這兩位置為00。 Bit No.5:0—不使用遠端網絡,隻是短消息裝置之間的協定;1—使用遠端網絡。 Bit No.0—Bits No.4:00000—隐含;00001—電傳;00010—group 3 telefax;00100—語音;00101—歐洲無線資訊系統(ERMES);00110—國内系統;10001—任何基于X.400的公用資訊處理系統;10010—Email。 ⑽00—資料編碼方案TP-DCS(TP-Data-Coding-Scheme) BIT No. 7 6 5 4 3 2 1 Bit No.7與Bit No.6 :一般設定為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—預留;Bit No.1與Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定資訊),11—Class 3。 ⑾00—有效期TP-VP(TP-Valid-Period) VP value(&h) 相應的有效期 00 to 8F (VP+1)*5 分鐘 90 to A7 12小時+(VP-143)*30分鐘 A8 to C4 (VP-166)*1天 C5 to FF (VP-192)*1 周 ⑿02—使用者資料長度TP-UDL(TP-User-Data-Length) ⒀C834—使用者資料TP-UD(TP-User-Data)“Hi” 4.短消息編碼 設需要發送的短消息内容為“Hi”,使用的GSM字元集為7位編碼。首先将字元轉換為7位的二進制,然後,将後面字元的位調用到前面,補齊前面的差别。例如:H翻譯成1001000,i翻譯成1101001,顯然H的二進制編碼不足八位,那麼就将i的最後一位補足到H的前面。那麼就成了11001000(C8),i剩下六位110100,前面再補兩個0,變成00110100(34),于是“Hi”就變成了兩個八進制數 C8 34。 5.短消息的發送與接收案例 鑒于TC35(T)支援TEXT格式,我們在試驗中主要測試該格式。 (1)設定短消息中心 AT+CSCA="+8613800731500"(短消息中心); (2)設定短消息發送格式 AT+CMGF=1 (1-TEXT; 0-PDU); (3)發送短消息(短消息内容為“test”) AT+CMGS="13508485560"(目的位址) > test ^z ; (4)設定短消息到達自動提示: 設定短消息到達提示當短消息被接收,将擷取指令: +CMTI:"SM",INDEX(資訊存儲位置) AT+CNMI=1,1,0,0,1(); (5)擷取短消息内容(Once more),假設INDEX=8。 AT+CMGR=8 傳回資訊如下: +CMGR: "REC UNREAD","+8613508485560",,"01/07/16,15:37:28+32",Once more 6.注意事項 (1)短消息中心一般不會改動,如果短消息中心号碼改動,在使用“AT+CSCA”語句時,記住TC35要重新啟動,否則TC35不能正常工作(TC35T不存在此問題)。 (2)某些SIM卡帶有密碼,啟動時需要輸入密碼。 AT指令速查表 一、一般指令 AT+CGMI 給出子產品廠商的辨別。 AT+CGMM 獲得子產品辨別。這個指令用來得到支援的頻帶(GSM900,DCS1800或PCS1900)。當子產品有多頻帶時,回應可能是不同頻帶的結合。 AT+CGMR 獲得改訂的軟體版本。 AT+CGSN 獲得GSM子產品的IMEI(國際移動裝置辨別)序列号。 AT+CSCS 選擇TE特征設定。這個指令報告TE用的是哪個狀态設定上的ME。ME于是可以轉換每一個輸入的或顯示的字母。這個是用來發送、讀取或者撰寫短信。 AT+WPCS 設定電話簿狀态。這個特殊的指令報告通過TE電話簿所用的狀态的ME。ME于是可以轉換每一個輸入的或者顯示的字元串字母。這個用來讀或者寫電話簿的入口。 AT+CIMI 獲得IMSI。這指令用來讀取或者識别SIM卡的IMSI(國際移動簽署者辨別)。在讀取IMSI之前應該先輸入PIN(如果需要PIN的話)。 AT+CCID 獲得SIM卡的辨別。這個指令使子產品讀取SIM卡上的EF-CCID檔案。 AT+GCAP 獲得能力表。(支援的功能) A/ 重複上次指令。隻有A/指令不能重複。這指令重複前一個執行的指令。 AT+CPOF 關機。這個特殊的指令停止GSM軟體堆棧和硬體層。指令AT+CFUN=0的功能與+CPOF相同。 AT+CFUN 設定電話機能。這個指令選擇移動站點的機能水準。 AT+CPAS 傳回移動裝置的活動狀态。 AT+CMEE 報告移動裝置的錯誤。這個指令決定允許或不允許用結果碼“+CMEERROR:”或者“+CMSERROR:”代替簡單的“ERROR”。 AT+CKPD 小鍵盤控制。仿真ME小鍵盤執行指令。 AT+CCLK 時鐘管理。這個指令用來設定或者獲得ME真實時鐘的目前日期和時間。 AT+CALA 警報管理。這個指令用來設定在ME中的警報日期/時間。(鬧鈴) AT+CRMP 鈴聲旋律播放。這個指令在子產品的蜂鳴器上播放一段旋律。有兩種旋律可用:到來語音、資料或傳真呼叫旋律和到來短信聲音。 AT+CRSL 設定或獲得到來的電話鈴聲的聲音級别。 二、呼叫控制指令 ATD 撥号指令。這個指令用來設定通話、資料或傳真呼叫。 ATH 挂機指令。 ATA 接電話。 AT+CEER 擴充錯誤報告。這個指令給出當上一次通話設定失敗後中斷通話的原因。 AT+VTD 給使用者提供應用GSM網絡發送DTMF(雙音多頻)雙音頻。這個指令用來定義雙音頻的長度(預設值是300毫秒)。 AT+VTS 給使用者提供應用GSM網絡發送DTMF雙音頻。這個指令允許傳送雙音頻。 ATDL 重撥上次電話号碼。 AT%Dn 資料終端就緒(DTR)時自動撥号。 ATS0 自動應答。 AT+CICB 來電信差。 AT+CSNS 單一編号方案。 AT+VGR AT+VGT 增益控制。這個指令應用于調節喇叭的接收增益和麥克風的傳輸增益。 AT+CMUT 麥克風靜音控制。 AT+SPEAKER 喇叭/麥克風選擇。這個特殊指令用來選擇喇叭和麥克風。 AT+ECHO 回音取消。 AT+SIDET 側音修正。 AT+VIP 初始化聲音參數。 AT+DUI 用附加的使用者資訊撥号。 AT+HUI 用附加的使用者資訊挂機。 AT+RUI 接收附加使用者資訊。 三、網絡服務指令 AT+CSQ 信号品質。 AT+COPS 服務商選擇。 AT+CREG 網絡注冊。獲得手機的注冊狀态。 AT+WOPN 讀取操作員名字。 AT+CPOL 優先操作員清單。 四、安全指令 AT+CPIN 輸入PIN。 AT+CPIN2 輸入PIN2。 AT+CPINC PIN的剩餘的嘗試号碼。 AT+CLCK 裝置鎖。 AT+CPWD 改變密碼。 五、電話簿指令 AT+CPBS 選擇電話簿記憶存儲。 AT+CPBR 讀取電話簿表目。 AT+CPBF 查找電話簿表目。 AT+CPBW 寫電話簿表目。 AT+CPBP 電話簿電話查詢。 AT+CPBN 電話簿移動動作。這個特殊指令使電話簿中的條目前移或後移(按字母順序) AT+CNUM 簽署者号碼。 AT+WAIP 防止在下一次重起時初始化所有的電話簿。 AT+WDCP 删除呼叫電話号碼。 AT+CSVM 設定語音郵件号碼。 六、短消息指令 AT+CSMS 選擇消息服務。支援的服務有GSM-MO、SMS-MT、SMS-CB。 AT+CNMA 新資訊确認應答。 AT+CPMS 優先資訊存儲。這個指令定義用來讀寫資訊的存儲區域。 AT+CMGF 優先資訊格式。執行格式有TEXT方式和PDU方式。 AT+CSAS 儲存設定。儲存+CSAS和+CSMP的參數。 AT+CRES 恢複設定。 AT+CSDH 顯示文本方式的參數。 AT+CNMI 新資訊訓示。這個指令選擇如何從網絡上接收短資訊。 AT+CMGR 讀短信。資訊從+CPMS指令設定的存儲器讀取。 AT+CMGL 列出存儲的資訊。 AT+CMGS 發送資訊。 AT+CMGW 寫短資訊并存儲。 AT+CMSS 從存儲器中發送資訊。 AT+CSMP 設定文本模式的參數。 AT+CMGD 删除短資訊。删除一個或多個短資訊。 AT+CSCA 短信服務中心位址。 AT+CSCB 選擇單元廣播資訊類型。 AT+WCBM 單元廣播資訊辨別。 AT+WMSC 資訊狀态(是否讀過、是否發送等等)修正。 AT+WMGO 資訊覆寫寫入。 AT+WUSS 不改變SMS狀态。在執行+CMGR或+CMGL後仍保持UNREAD。 七、追加服務指令 AT+CCFC 呼叫繼續。 AT+CLCK 呼叫禁止。 AT+CPWD 改變追加服務密碼。 AT+CCWA 呼叫等待。 AT+CLIR 呼叫線确認限制。 AT+CLIP 呼叫線确認陳述。 AT+COLP 聯絡線确認陳述。 AT+CAOC 費用報告。 AT+CACM 累計呼叫計量。 AT+CAMM 累計呼叫計量最大值。 AT+CPUC 單價和貨币表。 AT+CHLD 呼叫相關的追加服務。 AT+CLCC 列出目前的呼叫。 AT+CSSN 追加服務通知。 AT+CUSD 無組織的追加服務資料。 AT+CCUG 關閉的使用者組。 |