AT指令短信貓通訊中起着重要的作用,能夠通過AT指令控制手機的許多行為,包括撥叫號碼、按鍵控制、傳真、GPRS等。(什么是短信貓?)
AT指令基本用法:
1. 測試命令(Test Command)
在AT指令后面加上“=?”即構成測試命令。例如“AT+CSCS=?”會列舉出所有支持的字符集。
2. 讀取命令(Read Command)
在AT指令后面加上“?”即構成讀取命令。例如“AT+CSCS?”會列舉出當前設置。
3. 執行命令(Execute Command)
一般而言在AT指令后加上“=”及命令參數即可。有些命令例如AT+CMGR命令沒有參數,直接就可以執行。
以WAVECOM GSM MODEM為例,其常用的AT指令集及開發參考如下:
指令名稱 | 用法 | 說明 |
---|---|---|
CSMS | 選擇信息服務 0兼容GSM07.05 Phase 2 version 4.7.0 1兼容GSM07.05 Phase 2+ version |
|
T+CSMS=0 +CSMS: 1,1,1 AT+CSMS=1 +CSMS: 1,1,1 |
SMS-MO SMS-MT SMS-CB(小區廣播) 全部支持 |
|
CNMA | 新SMS收到確認 | |
CPMS | 首選的SMS存儲區 SM為SIM卡區,BM為內存區,缺省為SM |
|
AT+CPMS=? +CPMS: (("SM","BM"),("SM")) AT+CPMS="SM" +CPMS: 3,25,3,25 AT+CPMS="BM" +CPMS: 0,20,3,25 |
(1)為讀和刪的信息 (2)為寫和發的信息 已用1,總共1,已用2,總共2 |
|
CMGF | 設置SMS編碼方式(1文本格式,0為PDU格式) | |
CSAS | 存儲CSCA與CSMP的相關信息於E2PROM | |
CRES | 從E2PROM中恢復相關信息 | |
CSDH | 顯示文本格式參數(1為顯示,0為不顯示) | |
AT+CDSH=1 +CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3 AAA AT+CSDH=0 +CMT: "+8613501154105",,"01/09/12,18:04:48+32" AAA |
相關的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL 左邊兩個例子同樣是發送和接收AAA為內容的SMS |
|
CNMI | SMS的輸出方式 | |
AT+CNMI=2,2,0,0,0 +CMT: "+8613501154105",,"01/09/13,11:04:09+32" AAA AT+CNMI=2,1,0,0,0 +CMTI: "SM",4 |
其中第2位決定SMS直接輸出還是保存於"SM"中 左邊兩個例子同樣是發送和接收AAA為內容的SMS,為0則不接收 |
|
CMGR | 讀取存於"SM"中的信息 | |
AT+CMGR=1 +CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32" X000E8 AT+CMGR=4 +CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32" AAA AT+CMGR=2 +CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32" DCS format error at+cmgf=0;+cmgr=2 +CMGR: 1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 |
讀取第1條 來源13501154102 讀取第4條 來源13501154105 讀取第2條時遇到DCS格式錯誤,轉成PDU格式后,讀出數據 來源13501154105 |
|
CMGL | 信息列表,(+CMGL:索引,類型,,長度<內容>= | |
AT+CMGL=4 +CMGL: 1,1,,26 0891683108100005F0040D91683105114501F20000108041016474230658180C56C401 +CMGL: 2,1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 +CMGL: 3,1,,32 0891683108100005F0040D91683105114501F50008108032617492230C003400310032 003100320033 +CMGL: 4,1,,23 0891683108100005F0040D91683105114501F500001090311120602303C16010 |
類型 "REC UNREAD" 0 "REC READ" 1 "STO UNSENT" 2 "STO SENT" 3 "ALL" 4 |
|
CMGS | 發送SMS,可按文本方式或PDU方式 | |
AT+CMGF=1 OK AT+CMGS=13501154105 > AAA<^Z> +CMGS: 204 OK AT+CMGF=0 OK AT+CMGS=18 >0011000D91683105114501F500040103414141<^Z> +CMGS: 205 OK |
按文本方式發送 按PDU方式發送 |
|
CMGW | 寫信息到存儲器 | |
AT+CMGW="+8613501154105" > AAA<^Z> +CMGW: 5 OK AT+CMGW=<lengh><CR><pdu><^Z> |
按文本方式寫入 按PDU方式寫入 |
|
CMSS | 從存儲器中發送信息 | |
AT+CMSS=5 +CMSS: 207 OK +CMT: ,23 0891683108100005F0040D91683105114501F500001090316163932303C16010 AT+CMSS=5,+8613501154102 +CMSS: 210 OK |
發送存儲器中的第5條信息 收到信息 也可將第5條信息發送到指定用戶 |
|
CSMP | 設置文本格式參數,+CSMP:<fo><vp><pid><dcs> | |
AT+CSMP? +CSMP: 1,167,0,0 |
其中為信息有效期, 167默認 0-143:(VP+1)*5分鍾 143-167:12小時+(VP-143)*30分鍾 168-196:(VP-166)*1天 197-255:(VP-192)*1周 |
|
CMGD | 刪除信息,AT+CMGD=<索引> | |
CSCA | 短信息服務中心號碼 | |
at+csca? +CSCA: "+8613800100500",145 OK |
北京短信息服務中心號碼 | |
CSCB | 選擇小區廣播信息類型 | |
WCBM | 小區廣播信息標識符 | |
WMSC | 信息狀態更正 | |
WMGO | 信息重寫 |