常用 AT 命令手冊
一、 AT 命令解釋:
1、常用操作
1.1 AT
命令解釋:檢測 Module 與串口是否連通,能否接收 AT 命令; 命令格式:AT《CR》
命令返回:OK (與串口通信正常)
(無返回,與串口通信未連通)
測試結(jié)果:AT OK
1.2 AT+CSQ
命令解釋:檢查網(wǎng)絡信號強度和 SIM 卡情況命令格式:AT+CSQ《CR》
命令返回:+CSQ: **,##
其中**應在 10 到31 之間,數(shù)值越大表明信號質(zhì)量越好,##應為 99。 否則應檢查天線或 SIM 卡是否正確安裝
測試結(jié)果:AT+CSQ《CR》
+CSQ: 31, 99 信號強度值會有少許變化,用手遮住天線,信號強度值會下降(大致在 26 左右)。
1.3 ATZ 命令解釋:恢復原廠設置 命令格式:ATZ《CR》命令返回:OK
1.4 AT+CGMR命令解釋:查詢模塊版本; 命令格式:AT+CGMR《CR》命令返回: 《revision 》
+CMEERROR《err》
測試結(jié)果:AT+CGMR《CR》
R4A021 CXC1122528
OK
解釋:模塊版本號為 R4A021
1.5 AT+IPR
命令解釋:修改串口 1 波特率; 命令格式:AT+IPR=《value 》《CR》命令返回: ERROR
OK
測試結(jié)果:AT+IPR=19200《CR》OK
注意:串口波特率修改為 19200后要把串口調(diào)試工具的波特率設為相應波特率 后模塊才會有返回
1.6 AT&W命令解釋:保存模塊設置; 命令格式:AT&W《CR》 命令返回: OK
ERROR(保存不成功)
測試結(jié)果:AT&W 《CR》 OK
2、通話操作
2.1ATD 命令解釋:撥打電話 命令格式:ATD**********;《CR》(****為電話號碼) 命令返回:OK
NO DIAL TONE(沒有撥號音)
NO CARRIER(無載波) 測試結(jié)果:a. ATD13510090403;《CR》
OK
呼叫成功;
b. ATD13510090403;《CR》 NO DIAL TONE天線未接好,接觸不良;
c. ATD13510090403《CR》NO CARRIER 命令錯誤,缺{;};
2.2RING 命令解釋:有電話呼入 命令格式: 命令返回:無
2.3ATA命令解釋:摘機 命令格式:ATA《CR》命令返回:OK 測試結(jié)果:RING
RING ATA《CR》OK 接通電話;
2.4ATH 命令解釋:掛機 命令格式:ATH《CR》命令返回:OK 測試結(jié)果:ATH《CR》
OK
電話掛斷(通話過程中);
2.5AT+CHUP命令解釋:掛機 命令格式:AT+CHUP《CR》命令返回:OK 測試結(jié)果:RING
ATH《CR》 OK 電話掛斷(尚未接通來電);
2.6AT+VTS命令解釋:撥打分機 命令格式:AT+VTS=“分機號碼”《CR》 命令返回:OK
測試結(jié)果: AT+VTS=“0”《CR》 OK
1.AT命令語法:
所有命令行必須以AT或at作為開頭,以回車(《CR》)作為結(jié)尾。
響應通常緊隨命令之后,它的樣式是“《回車》《新行》《響應內(nèi)容》《回車》《新行》”即:(《CR》《LF》《響應內(nèi)容》《CR》《LF》)
AT命令從語法上可以分為三類:“基礎類”“S參數(shù)類”“擴展類”。
2.GSM模塊可以被稱為如下術語:
1)ME(移動設備)
AT + CMGF 選擇短消息格式
AT + CSCS 選擇TE字符集
AT + CSMP 設置短消息文本模式參數(shù)
AT + CMGS 發(fā)送短消息
/*********************************/
sent_byte(uchar data)
{
while((IFG1 & UTXIFG0)== 0);
U0TXBUF = data;
}
sent_string(uchar *p)
{
uchar *a;
a = p;
do
{
p = a;
while(*p!=‘\0’)
{
sent_byte(*p);
p++;
}
}
while(!((Rbuf[0]==‘O’)&&(Rbuf[1]==‘K’)));
w = 0;
P4OUT = 0x0f;
}
/************************************/
sent_ph(uchar *data)
{
while(*data != ‘\0’)
{
sent_byte(*data);
data++;
}
}
sent_data(uchar *data)
{
while(*data != ‘\0’)
{
sent_byte(*data);
data++;
}
sent_byte(0x1A); //CTRL + Z 發(fā)送數(shù)據(jù)終止符,開始數(shù)據(jù)發(fā)送
}
SIM900_TCPIP_Application
AT + CIPMUX:啟動多IP連接
AT+CIPMUX=《n》 被用來選擇TCPIP連接模式,當n=0時,為單路連接模式;當n=1時,為多路連接模式;
默認配置為單路連接模式。對于單路連接模式,SIM900支持透明傳輸模式和非透明傳輸模式。
AT+CIPMODE=《n》被用來選擇TCPIP應用模式,當n=0時,支持非透明模式(正常模式);當n=1時,
為透明模式。默認配置為非透明模式,在該模式下SIM900有三種工作模式,TCP客戶端,UDP客戶端和TCP服務器。
如何去建立一個TCP客戶端連接:
首先,在任何TCP / UDP的相關操作之前設置模塊應連接到GSM或GPRS網(wǎng)絡。
用戶可以使用命令“AT+ CREG?”和“AT+ CGATT?”查詢GSM網(wǎng)絡注冊狀態(tài)的模塊是否已連接到GPRS服務。
AT+CPIN? //查詢PIN
+CPIN:READY //MT不需要任何密碼
OK
AT+CSQ=? //信號質(zhì)量查詢
+CSQ:20,0 //來自ME的接收信號強度指示和信道誤碼率
OK
AT+CREG? //查詢網(wǎng)絡注冊信息
+CREG:0,1 //關閉顯示網(wǎng)絡注冊未知結(jié)果碼,注冊的,歸屬網(wǎng)絡
OK
AT+CGATT? //查詢附著和分離GPRS業(yè)務
+CGATT:1 //附著狀態(tài)
OK
其次,用戶應該使用命令組AT+ CSTT,AT+ CIICR和AT+ CIFSR啟動任務,激活無線連接。
最后,用戶可以通過AT命令(AT + CIPSTART=“TCP”,“IP服務器的地址”,“服務器的端口號”)建立SIM900和服務器之間的TCP連接。
如果連接成功建立,將會從模塊返回響應“CONNECT OK”。
現(xiàn)在,用戶可以用“AT + CIPSEND”命令將數(shù)據(jù)發(fā)送到服務器。
“AT+ CIPSEND”將返回推進符號“》”,用戶應在“》”然后發(fā)出CTRL+ Z(0x1A的)發(fā)送數(shù)據(jù)寫入。
如果發(fā)送成功,它
會回應“SEND OK”。
如果有數(shù)據(jù)來自服務器,模塊將自動從串行端口接收的數(shù)據(jù)。
用戶可以關閉與“AT+ CIPCLOSE”命令的TCP連接。
下面是TCP連接到遠程服務器的一個例子。
AT+CGATT? //查詢附著和分離GPRS業(yè)務
+CGATT:1 //附著狀態(tài)
OK
AT+CSTT=“CMNET”//啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.78.245.128
AT+CIPSTART=“TCP”,“116.228.221.51”,“8500”//建立TCP連接或注冊UDP端口號
OK //格式正確
CONNECT OK //說明TCP連接已經(jīng)成功建立
AT+CIPSEND //發(fā)送數(shù)據(jù)
》 hello TCP sever//
SEND OK //數(shù)據(jù)發(fā)送成功
hello sim900 //服務器返回數(shù)據(jù)
CLOSED //服務器斷開連接
如何建立一個UDP客戶端連接
AT+CGATT? //查詢附著和分離GPRS業(yè)務
+CGATT:1 //附著狀態(tài)
OK
AT+CSTT=“CMNET”//啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.77.65.18
AT+CIPSTART=“UDP”,“116,228,221.51”,“9600”//建立UDP連接,遠端IP地址,遠端服務端口號
CONNECT OK //UDP連接成功建立
AT+CIPSEND
》 sim900 UDP test
SEND OK //只知道數(shù)據(jù)已經(jīng)從端口發(fā)送出去,但不知道數(shù)據(jù)是否已經(jīng)到達服務器
UDP test
AT+CIPCLOSE
CLOSE OK
如何建立一個TCP連接服務器
在單一連接模式下,當配置為TCP服務器,SIM900只允許一個客戶端連接進來。
用戶應該使用命令“AT+ CIPSERVER=1,”《port》“啟動服務器功能,并設置監(jiān)聽端口。
如果成功的話,將返回響應“SERVER OK”,而現(xiàn)在服務器開始監(jiān)聽TCP端口。
然后,用戶應使用命令“AT+ CIFSR”來獲取本地IP地址,這是服務器的IP地址。
如果客戶端連接到服務器成功,遠程客戶端的IP地址將在服務器這邊被顯示。
并且服務器可以從遠程端接收的TCP數(shù)據(jù)。
用戶還可以使用命令AT + CIPSEND將數(shù)據(jù)發(fā)送到遠程客戶端。
用戶也可以使用“AT+ CIPSERVER=0”關閉監(jiān)聽狀態(tài)。此外,用戶可以使用AT+ CIPCLOSE關閉TCP連接。
AT+CGATT? //查詢附著和分離GPRS業(yè)務
+CGATT:1 //附著狀態(tài)
OK
AT+CIPSERVER=1,1234 //開啟服務器配置,端口號1234
OK
SERVER OK //TCP服務器已經(jīng)成功建立
AT+CIFSR //獲取本地地址
10.78.33.227
AT+CIPSTATUS
OK
STATE:SERVER LISTENING //查詢當前狀態(tài):監(jiān)聽
REMOTE IP:10.78.103.220 //接入遠程客戶端
hello server //接收到遠程客戶端的數(shù)據(jù)
AT+CIPSEND
》hello client //向遠程客戶端發(fā)送數(shù)據(jù)
SEND OK
AT + CIPSERVER = 0 //關閉當前監(jiān)聽狀態(tài)
OK
SERVER CLOSE
hello sim900
AT+CIPCLOSE //關閉TCP或UDP連接
CLOSE OK
UDP擴展模式
在UDP擴展模式下,SIM900能接收到來自UDP數(shù)據(jù)
AT+CGATT? //查詢
附著和分離GPRS業(yè)務
+CGATT:1 //附著狀態(tài)
OK
AT+CSTT //啟動任務并設置接入點APN、用戶名、密碼
OK
AT+CIICR //打開無線連接(GPRS 或者 CSD)
OK
AT+CIFSR //獲取本地IP地址
10.92.17.107
AT+CLPORT=“UDP”,8888 //設置本地UDP端口
OK
AT+CIPSRIP=1 //顯示發(fā)送方的IP地址和端口號
OK
AT+CIPHEAD=1 //設置IP頭,格式“+IDP,data length:”
OK
AT+CIPUDPMODE=1 //設置UDP擴展模式
OK
AT+CIPSTART=“UDP”,“116.228.221.51”,9600 //啟動UDP與遠端服務器的連接
OK
CONNECT OK
AT+CIPUDPMODE?
+CIPUDPMODE:1,“116.228.221.51”,9600
OK
RECV FROM: 116.228.221.51:9600 //接收來自不同IP地址和端口的數(shù)據(jù)
+IPD,5,test1
RECV FROM: 116.228.221.51:1234
+IPD,5,test2
RECV FROM:10.78.103.220:5678
+IPD,5:test3
AT+CIPSEND
》 Hello 9600
SEND OK
AT+CIPUDPMODE=2,“211.136.131.65”,4500
OK
AT+CIPUDPMODE?
+CIPUDPMODE:1,“211.136.131.65”,4500
OK
AT+CIPSEND
》Hello 4500
SEND OK
模塊控制: AT,ATE,+CSQ,+CMEE,+CREG, +CGMR,+CGMI,+CPIN,+CGSN…
電話功能: ATD,ATA,ATH,+CLIP,+CLCC…
短信功能: +CMGF,+CNMI,+CPMS, +CMGR,+CMGL,+CMGD,+CMGS…
電話本: +CPBS,+CPBW,+CPBR,+CPBF…
內(nèi)置協(xié)議棧: +MIPCALL,+MIPOPEN,+MIPSEND, +MIPPUSH,+MIPCLOSE…
DU Meter Stopwatch - #1
Start time 2012-2-15 14:57:42 Stop time 2012-2-15 14:58:08
Elapsed time 25.9 sec
Incoming Outgoing ------------------------------------ ---------------- ----------------
Total of data transferred 3.0 MB 148.8 KB Maximum transfer rate 2.0 Mbps 98.0 kbps Average transfer rate 988.3 kbps 47.1 kbps DU Meter Stopwatch - #2
Start time 2012-2-15 15:36:29 Stop time 2012-2-15 15:36:44 Elapsed time 14.3 sec
Incoming Outgoing ------------------------------------ ---------------- ----------------
Total of data transferred 3.0 MB 58.3 KB Maximum transfer rate 2.0 Mbps 38.9 kbps Average transfer rate 1.7 Mbps 33.3 kbps DU Meter Stopwatch - #3
Start time 2012-2-15 16:17:48 Stop time 2012-2-15 16:18:01 Elapsed time 13.5 sec
Incoming Outgoing ------------------------------------ ---------------- ----------------
Total of data transferred 3.1 MB 60.7 KB Maximum transfer rate 2.0 Mbps 38.6 kbps
Average transfer rate 1.9 Mbps 36.8 kbps
DU Meter Stopwatch - #4
Start time 2012-2-15 17:30:44 Stop time 2012-2-15 17:31:10
Elapsed time 26.7 sec
Incoming Outgoing ------------------------------------ ---------------- ----------------
Total of data transferred 119.9 KB 3.1 MB Maximum transfer rate 51.4 kbps 1.0 Mbps Average transfer rate 36.8 kbps 974.2 kbps
評論
查看更多