撥號at指令
㈠ 什麼是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)或電腦來完全控制
㈡ AT指令的用法
AT指令是以AT作首, 字元結束的字元串,AT指令的響應數據包在 中。每個指令執行成功與否都有相應的返回。其他的一些非預期的信息(如有人撥號進來、線路無信號等),模塊將有對應的一些信息提示,接收端可做相應的處理。
示例:CDMA modem DTE
AT< CR>
< LF> OK < LF>
ATTEST< CR>
< CR> ERROR < LF>
如果AT指令執行成功,「OK」字元串返回;
如果AT 指令語法錯誤或AT 指令執行失敗,
「ERROR」字元串返回。 與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為例。 (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」指令即可讀出短消息內容。 例如,我們要將字元「Hi」字元發送到目的地「13678099」
PDU字元串為:
⑵91—簡訊息中心號碼類型。91是TON/NPI遵守International/E.164標准,指在號碼前需加『+』號;此外還有其它數值,但91最常用。
91—10010001
BIT No.
7
6
5
4
3
2
1
0
Name
1
數值類型
號碼鑒別
數值類型(Type of Number):000—未知,001—國際,010—國內,111—留作擴展;
號碼鑒別(Numbering plan identification):0000—未知,0001—ISDN/電話號碼(E.164/E.163),1111—留作擴展;
⑶683108701305F0—簡訊息中心號碼。由於位置上略有處理,實際號碼應為:字母F是指長度減1)。這需要根據不同的地域作相應的修改。
⑴、⑵、⑶通稱短消息中心地址(Address of the SMSC)。
⑷11—文件頭位元組。
11&h=00010001&b
BIT No.
7
6
5
4
3
2
1
0
Name
TP-RP
TP-UDHI
TP-SPR
TP-VFP
TP-RD
TP-MTI
value
0
0
0
1
0
0
0
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—被叫號碼,經過了位移處理,實際號碼為「1368099」。
⑹、⑺、⑻通稱目的地址(TP-Destination-Address)。
⑼00—協議標識TP-PID(TP-Protocol-Identifier)
BIT No.
7
6
5
4
3
2
1
0
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
0
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」 鑒於TC35(T)支持TEXT格式,我們在試驗中主要測試該格式。
(1)設置短消息中心
(2)設置短消息發送格式
AT+CMGF=1 (1-TEXT; 0-PDU);
(3)發送短消息(短消息內容為「test」)
> test ^z ;
(4)設置短消息到達自動提示: 設置短消息到達提示當短消息被接收,將獲取指令: +CMTI:SM,INDEX(信息存儲位置)
AT+CNMI=1,1,0,0,1();
(5)獲取短消息內容(Once more),假設INDEX=8。
AT+CMGR=8
返回信息如下:
+CMGR: REC UNREAD,+86135085560,,01/07/16,15:37:28+32,Once more (1)短消息中心一般不會改動,如果短消息中心號碼改動,在使用「AT+CSCA」語句時,記住TC35要重新啟動,否則TC35不能正常工作(TC35T不存在此問題)。
(2)某些SIM卡帶有密碼,啟動時需要輸入密碼。
㈢ 詳細介紹下at命令怎麼用
AT命令集的描述
符號 * 表明該命令的設置可用AT&Wn命令存於兩個用戶方案中的一個
A/ 重執行命令
重執行前一AT命令行,主要用於連接時占線,無應答或號碼錯誤。這一命令必須單獨構成一命令行並由"/"字元結束,(<Enter> 不能用於結束命令)。
+++ 退出字元 預設:+
切換數據機從在線狀態到命令狀態,而不會中斷數據連接。可以通過改變S寄存器S2的值來改變這一字元。
AT=x 寫入被選的S寄存器
這一命令將數值x寫入當前被選的S寄存器,一個S寄存器可由ATSn命令選擇,若 x 是一個數字,所有S 寄存器將返回 OK 響應。
AT? 讀被選的S寄存器
這一命令讀並且顯示被選的S寄存器的內容。一個S寄存器可由ATSn命令選擇。
ATA 應答
它必須是命令行中的最後一條指令。數據機在應答方式下繼續執行連接程序。在與遠端數據機交換載波後進入連接狀態,如果在由寄存器S7規定的時間內(預設值=50秒)沒有檢測到載波, 數據機將掛機。在連接過程中,通過DTE輸入的任何一個字母都將中斷這一命令。
ATBn* 選擇ITU-T或Bell模式 預設=0
ATB0 選擇在1200和300bps速率下通訊的ITU-T V.22和V.21協議
ATB1 選擇在1200和300bps速率下通訊的Bell 212A和103協議
ATCn 載波控制預設=1
包含這一命令只是為了保證兼容性,執行號只是返回一結果碼而沒有其它作用。
ATC1 正常傳輸載波切換
ATDn 撥號
它必須是命令行中的最後一條指令, ATD命令使數據機摘機後, 根據輸入的參數撥號,以建立連接。
如果不帶參數,數據機摘機後,不撥號進入發起方式。
使用標點可使命令更易讀懂。圓括弧,連字元和空格符會被忽略。拔號命令行中如果出現了非法字元,則該字元及其後的內容將被忽略。數據機允許的撥號命令長度為36個字元。
參數:0-9 A B C D * # L P T R ! @ W , ; ^ S=n
0-9 DTMF 符號0到9
A-D DTMF 符號A,B,C和D。在一些國家中不使用這些符號
* "星"號(僅用於音頻撥號)
# "#"號(僅用於音頻撥號)
J 為本次呼叫執行在可提供的最高速率下的MNP10鏈路協商(可選)
K 使本次呼叫MNP10鏈路協商期間電源電平可調(可選)
L 重撥上一次撥過的號碼
P 脈沖撥號
T 雙音頻撥號
R 逆叫方式。允許數據機使用應答方式呼叫只能作為發起使用的調制解調 器, 必須作為命令行中的最後一個字元輸入。
! 使數據機按照S29中規定的值掛機一段時間再摘機。
@ 使數據機等待5秒鍾的無聲回答
w 按照寄存器S7中規定的時間,在撥號前等待撥號音。
, 在撥號過程中,按照寄存器S8中規定的時間,暫停
; 撥號後返回命令狀態
^ 打開呼叫音
() 被忽視,用於格式化號碼串
- 被忽視,用於格式化號碼串
<space> 被忽視,用於格式化號碼串
S=n 用AT&Zn 命令存在地址n處的號碼撥號
ATE* 命令回應 預設:1
ATE0 關閉命令回應
ATE1 打開 命令回應
ATHn 摘掛機控制 預設:0
ATH0 使數據機掛機
ATH1 當數據機處於掛機狀態,使數據機摘機,返回響 OK,等待進一步的命令。
ATIn 識別
I0 報告產品代碼
I1 報告ROM中預先計算的校驗和
I2 計算校驗和並與ROM中的校驗和比較,返回"OK"或"ERROR"結果碼
I3 報告固件修正
I4 報告OEM定義的識別串
I5 報告國家代碼參數
I6 報告固件修正
I7 報告數據機數據泵類型
ATLn* 揚聲器音量 預設:2
ATL0 揚聲器低音量
ATL1 揚聲器低音量
ATL2 揚聲器中音量
ATL3 揚聲器高音量
ATMn* 揚聲器控制 預設:1
ATM0 關閉揚聲器
ATM1 揚聲器在呼叫建立握手階段打開至檢測到來自於遠端數據機的載波後關閉
ATM2 揚聲器持續開
ATM3 揚聲器在應答期間打開。當檢測到來自於遠端的數據機的載波和撥號時關閉
ATNn* 調制握手 預設:1
ATN0 要求數據機S37選擇連接速率,若S37=0,則連接速率必須與發出的上一條AT命令的速率相匹配。如果所選擇的速率可用不止一個通訊標准實現(如Bell212A或ITU-T V.22 速率在 1200bps)數據機同時參考ATB 命令選擇。
ATN1 允許時使用雙方數據機都支持的任一速率握手,使能夠自動檢測。在這一方式下,ATB命令被忽視,數據機只用ITU-T方式連接。
ATOn 進入數據在現狀態 預設:0
ATO0 使數據機從命令在現狀態直接返回數據在線狀態,不經過自動均衡。
ATO1 使數據機從命令在現狀態返回數據在狀態,經過自動均衡。
ATP* 設脈沖撥號為預設
ATQn* 結果碼顯示 預設:0
ATQ0 數據機向DTE發送結果碼
ATQ1 禁止數據機向DTE發送結果碼
參閱數據機結果碼一節的詳細說明
ATSn 設S寄存器n為預設寄存器
ATSn? 讀S寄存器
讀S寄存器中的內容,所有的S寄存器都可以讀
ATSn=x 寫入S寄存器
將 x值寫入指定的S寄存器n
ATT* 設音頻拔號為預設
ATVn* 結束碼類型 (消息控制) 預設:1
ATV0 發送短型 (數字型) 結果碼
ATV1 發送長型 (字元型) 結果碼
ATWn* 協商進程報告 預設:0
ATW0 不報告糾錯呼叫進程
ATW1 報告糾錯呼叫進程
ATW2 不報告糾錯呼叫進程,CONNECT xxxx指示DCE速率。
ATXn* 擴展結果碼 預設:4
ATX0 數據機忽視撥號音和忙音。當由盲撥建立連接時,發送CONNECT信息。
ATX1 數據機忽視撥號音和忙音。當由盲撥建立連接時,CONNECT XXXX 反映的是比特速率
ATX2 數據機忽視忙音,但在撥號前等待撥號音,如果5秒鍾內檢測不到撥號音,則發送NO DIAL TONE 信息,連接建立後 發送 CONNECT xxxx反映比特速率。
ATX3 數據機忽視撥號音,若檢測到忙音,發送BUSY信息,當由盲撥建立起連接時, CONNECT XXXX 反映的是比特速率。
ATX4 如果5秒鍾內檢測不到撥號音,發送NO DIAL TONE 訊息,檢測到忙音, 發送BUSY信息。連接建立後發送CONNECT XXXX 反映比特速率。
㈣ GPRS-ppp撥號上網比AT指令有何優勢
問題。建議你採用Windows自帶的 撥號 程序,不向你說的那樣問題很多,我覺得很好用。自己做 ppp 協議很麻煩的,lcp,pap,ipcp等。你要深入研究 ppp 協議,這個誰也幫不了你,包模塊的技術支持。 你可以通過建立一個windows貓來測試網路的穩定性。 我...
㈤ 關於利用AT指令控制modem撥號程序的思路
VB教程里有
不是ATD,而是ATDT xxxx ,你可以參考AT指令機.
被叫側的進程要是NTService
㈥ linux下通過串口操作AT指令怎麼撥打電話
ATD電話號碼
參考AT指令手冊。
㈦ 如何用AT命令撥號,接電話,掛機
作者:帝國老手 關鍵字:撥號AT命令 如果沒有撥號音,NO DIALTONE; 如果線路忙,BUSY; 如果連接無法被建立,NO CARRIER; 如果連接成功,OK+撥通的手機號碼。 ATH掛機命令。 如果初始是ON狀態,成功掛機後返回OK. ATA接電話。 如果連接成功,OK; 如果無連接,NO CARRIER。 用「ATD10086;+回車換行」命令來實現呼叫。 ATD號碼後面加;表示這是一個語音呼叫,而不加分號表示是一個數據呼叫。 掛機ATH\r您可能還會關注的相關技術資料:暫無
㈧ 誰知道AT的撥號命令ATD與ATDT的區別
是這樣的,標准命令是ATD,「ATDn;」為撥出電話號碼n(語音撥號),「ATDn」為回撥出電話號碼n(數答據撥號),兩者區別在於前者有一個分號。至於ATDT,作用是和ATD一樣的,因為,(逗號)、T、 P、!、W、@、D這幾個字元是被忽略的。
㈨ 哪位高手給個AT命令例子,GPRS modem撥號上網
撥號上網可以在操作系統裡面添加數據機,然後建立一個基於數據機的網路連接,控制這個網路連接撥號上網就可以
㈩ AT命令的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)或電腦來完全控制。由Hayes公司發明,已成為事實上的標准並被所有數據機製造商採用的一個數據機命令語言。每條命令以字母AT開頭,因而得名。AT後跟字母和數字表明具體的功能。 SMS。之後,主要的行動電話生產廠商諾基亞、愛立信、摩托羅拉和HP共同為GSM研製了一整套AT指令,其中就包括對SMS的控制。AT指令在此基礎上演化並被加入GSM07.05標准以及的GSM07.07標准,完全標准化和比較健全的標准。如:對SMS的控制共有3種實現途徑:最初的BlockMode;基於AT指令的TextMode;基於AT指令的PDUMode。到PDUMode已經取代BlockMode,後者逐漸淡出。GSM模塊與計算機之間的通信協議是一些AT指令集,AT指令是以AT作首,字元結束的字元串,AT指令的響應數據包在中。每個指令執行成功與否都有相應的返回。其他的一些非預期的信息(如有人撥號進來、線路無信號等),模塊將有對應的一些信息提示,接收端可做相應的處理。 互聯網剛出現時,人們都是用modem來進行連接。modem通常是在電話線兩端,由一個modem開始連接並結束操作。無論modem是「發起」還是「應答」模式,數據傳輸的兩套頻率之間的手動切換,一般由發出呼叫的用戶將其modem切換為「發起」,然後手動撥打號碼。當遠程modem應答時,應已經設置為「應答」模式,電話聽筒被關閉,通信一直持續到呼叫方手動斷開。
當需要自動化時,通常只需要在應答方 - 例如,一家銀行可能需要從支行號碼呼入以結束日常處理。為了填補這一角色,某些modem包含了當其在應答模式時的自動摘機功能,其他用戶手動斷開時的清線功能。需要進行自動呼出撥號的情況相當少,並且是通過一個單獨的外圍設備—一個「撥號器」來處理的。這通常插是在電腦上的一個單獨的輸入/輸出埠(通常是一個RS-232埠)並需要modem本身單獨編程。
這種操作方法在20世紀60年代和70年代初工作的很好,當時modem通常被用來連接終端設備如電腦(撥出)或智能電腦主機(應答)。然而,20世紀70年代的微型計算機革命導致了低成本modem的引入並使這個半專用的點對點連接的想法已不在適用。成千上萬的潛在用戶可能要撥打任意的其他數千名用戶,並且在當時唯一的解決辦法就是讓用戶手動撥號。
計算機行業需要一種方式來告訴modem通過軟體來撥什麼號。較早的單獨撥號器有這個功能,但它只能使用一個單獨的埠,而微型計算機可能沒有。另一種解決辦法是使用一個單獨的一套「命令引腳」專門用於發送和接收命令,另一套可以使用一個信號引腳指示modem應該將收到的數據解釋為命令。這些都在RS-232標准有硬體支持。然而,微機的RS-232埠的許多實現都是非常基本的,並且為了節約成本而消除了很多引腳。 賀氏通訊在1981年推出了其通過沒有修改而重新使用現有的數據引腳的Smartmodem解決方案。 而且,modem本身可以在兩種模式之間進行切換:
1,modem發送數據到遠程modem時的數據模式。(在數據模式中,modem把它從計算機接收的任何東西作為數據通過電話線發送出去)。
2,數據被解釋為命令而給本地modem的命令模式(本地modem應執行的命令)。
從數據模式切換到命令模式,會話發出3個加號的轉義序列字元串(「+++」)並跟隨一秒鍾的暫停。轉義序列結束後的暫停是必須的,以減少入站信號所造成的問題:如果三個加號接收後的1秒內接收到任何其他數據,它就不是轉義序列並將作為數據發送。要切換回去,他們發送聯機命令,O。在實際使用中許多命令在完成後自動切換到在線模式,而對於用戶來說很少使用在線命令。
為了避免賀氏的專利授權,一些廠商實施的轉義序列沒有時間間隔保護(TIES)。這里有一個主要的影響是拒絕服務安全,它會導致計算機嘗試在數據模式中發送位元組序列「+++ATH0」時使modem掛斷連接。對於通過這種modem連接到Internet的任何計算機,這可以很容易地被通過發送包含「+++ATH0」有效載荷序列的死亡請求ping所利用。計算機操作系統會自動嘗試用相同的有效載荷回復發件人,modem會將ICMP數據包的有效載荷數據解釋作為賀氏命令而立即將自身從互聯網斷開。同樣的錯誤也可能會觸發,如,計算機用戶試圖發送包含上述字元串的電子郵件。 賀氏命令集包括各種電話線操作命令,如撥號和掛斷。它還包括用來modem設置的各種控制,包括一組寄存器指令集,允許用戶在原來的賀氏modem上直接設置各種內存位置。該指令集的其中相當一部分在很大程度上幾乎被所有早期300波特modem製造商一字不差的進行了復制,包括寄存器的含義。
1200和2400波特的擴展需要一套小的新命令集,它們中一部分用(「&」)前綴來表示支持新的功能。賀氏自身被迫在它們的1200後不久迅速推出一個2400波特模型,而作為一個省時的辦法,該命令集跟1200是相同的。基本上是偶然的,這使得現有的1200波特率modem用戶使用新的賀氏2400模型時無需改變他們的軟體,這強化了賀氏版本命令的使用。數年後,TIA/EIA將2400波特率命令集成為一個正式的標准,標題為:數據傳輸系統和設備-串列非同步自動撥號和控制,TIA / EIA-602。
然而賀氏移動通信在高速應用或壓縮的使用上進展緩慢,而其它三家公司則開始領先 - Microcom,U.S. Robotics 和 Telebit。這三個公司使用自己的擴展命令集,而不是等待賀氏。到了90年代初期,共有四個主要命令集在使用,以及基於其中之一的一些版本。20世紀90年代初,隨著14.4和28.8 kbit/s的的廣泛引入事情再次變得簡單。慢慢地,基於原賀氏命令集使用「&」擴展的命令集開始流行,然後變得普遍。只有另外一個命令集一直流行:US Robotics modem命令集。 以下文字列出了部分賀氏命令集(也叫AT命令:AT 意思是注意)。
賀氏命令可分為四組:
1.基本命令集—一個大寫字母緊跟一個數字。如:M1。
2.擴展命令集—一個「&」(and符號)和大寫字母緊跟一個數字。它是基本命令集的擴展。如:&M1。注意:M1和&M1是不同的。
3.專有命令集—通常使用一個反斜杠(「」)或者是百分號(「%」)開頭;這些命令在各modem廠商間差異很大。
4.寄存器命令—Sr=n。這里r是要改變的寄存器編號,n是要賦予的新值。
寄存器代表內存中的指定位置。Modem在主板上有一些少量的內存。第四組命令的目的是為了輸入值到一個特定的寄存器(內存位置)。該寄存器將存儲一個modem和通信軟體可以利用的特定變數(字母數字信息)。例如,S7 = 60指示計算機「設置寄存器#7的值為60」。
雖然指令集語法的大多數命令由字母數字組合(L0,L1等)定義,零則是可選使用的。本例中,「L0」等同於普通的「L」。閱讀下表時要記住這一點。
數據模式下,轉義序列可將modem返回到命令模式。正常的轉義序列是三個加號(「+++」),並為將它跟可能的真實數據消除歧義:它的前面必須有一個停頓,加號之間沒有任何停頓,並緊跟一個暫停;默認情況下,「暫停」是一秒鍾,「不停頓」則是更少。 以下語法定義: <CR>回車符,是在命令行和結果代碼終止符,其值是0到255之間的十進制ASCII碼,在參數S3中指定。默認值為13。 <LF>換行字元,是公認的換行符的字元。它的值介於十進制ASCII碼的0到255之間,在參數S4中指定。默認值為10。除非使用詳細結果代碼(使用V1選項)否則換行符在回車符之後輸出,如果使用了數字格式結果代碼(使用V0選項),它不會出現在結果代碼中。 <...>尖括弧內名稱是語法元素。尖括弧不會出現在命令行中。 [...]方括弧內是命令的可選子參數或AT信息響應的可選部分。括弧本身不會出現在命令行中。當讀取AT命令時沒有給出子參數,新值是其先前的值。在AT命令中不存儲任何子參數的值,所以沒有讀命令,也即所謂的輸入動作命令,輸入應在子參數建議的默認設置的基礎上進行。 modem初始化
其他用法,見向量初始化。
一個字元串可以包含放在一起的許多賀氏命令,從而使modem以最佳方式准備撥號或接聽,如AT&F&D2&C1S0 = 0X4。這就是所謂的初始化字元串。V.250規范要求所有的DCE接受至少40個字元的級聯命令主體(在「AT」之後)。 以前的賀氏命令集在基於modem的通信中所代表了巨大的飛躍,隨著時間的推移,許多問題開始出現,但幾乎沒有是因為貨氏本身引起的: 由於缺乏書面的標准,其他的modem製造商抄襲了外部可見的命令和(大致的)基本命令。這導致了modem在如何改變狀態時的各種各樣的微妙的差別,以及他們如何處理錯誤條件,掛起和超時。 每個製造商傾向於增加新的命令來處理新出現的需求,經常與其他modem不兼容。
例如,設置硬體或軟體握手往往需要為不同的modem設置許多不同命令。這破壞了基本「AT」命令集的普遍方便性。 許多「賀氏兼容」modem具有它們不兼容的嚴重怪癖。例如,許多modem接收到「AT Z」重置命令後需要幾秒鍾的暫停。一些modem需要命令之間有空格,有的則不需要。有些會因為自己的「意志」改變波特率而幫倒忙,這將使得電腦不知道如何處理傳入位。 由於這些結果,最終許多通信方案不得不放棄了任何能跟所有的「賀氏兼容」modem交談的想法,而不得不嘗試使用程序從響應來確定modem的類型,或提供給用戶一些辦法,使他們能夠輸入隨便什麼特殊命令以強迫他們的特殊modem正確行事。 下面的命令是幾乎所有的modem支持的AT命令集,無論是舊新。 命令 描述 備注 A0 or A 回應呼入呼叫 A/ 重復最後命令 不要使用AT前綴,不要跟回車符。回車符通常表示中止。 D 撥號 撥後面的號碼並握手
P—脈沖撥號
T—撥號音撥號
W—等待下一個撥號音。
R—撥號後的反響回應模式。
@—為二次撥號等待30秒。
,—在S8寄存器暫停指定時間(通常2秒)。
;—撥號後保持命令模式。
!- 閃光燈開關掛機(掛斷了半秒,再轉接電話。)
L—撥最後一次號碼 E0 或 E 無回顯 不會回顯命令到計算機。 E1 回顯 回顯命令道計算機(這樣一個人可以看到另一個人的輸入)。 H0 掛鉤狀態 掛鉤中掛斷電話,結束過程中的任何呼叫。 H1 掛鉤狀態 掛鉤結束摘起電話線(通常會聽到撥號音)。 I0 toI9 調查、信息或訊問 該命令返回有關模型的信息,比如它的固件或品牌名稱。每一個數字(0〜9,有時是10或以上)返回一行modem的具體信息,或如果沒有定義返回「ERROR」。今天,Windows使用即插即用檢測專用modem的類型。 L0 orLn (n=1 to 3) 揚聲器音量。只被某些modem支持,通常擴展支持。modem很少有揚聲器,或者有物理音量控制,或者聲音輸出是通過音效卡的不支持此命令。 關閉或降低音量 M0 or M 喇叭關閉,撥號時無聲 M3也很常見,但很多品牌不同 M1 遠程載波檢測揚聲器(即直到被其他modem聽到) M2 揚聲器始終打開(連接後聽到數據聲音) O 返回在線 由「+++」轉義代碼被中斷後返回modem到正常連接狀態。 Q0 or Q 安靜模式 關閉 - 顯示結果碼,用戶會看到命令響應(如OK) Q1 安靜模式 打開 - 結果代碼被抑制,用戶不會看到響應。 Sn 選擇當前寄存器
需要注意的是Sn,?和=r實際上是三個單獨的命令,並且可以在單獨的AT命令中給予。 選擇寄存器n作為當前寄存器 Sn? 選擇寄存器n作為當前寄存器,並查詢它的值。使用?對自己查詢而不管最近選擇了那個寄存器。 Sn=r 選擇寄存器n作為當前寄存器,並在其中存儲r。使用=?對自己存儲而不管最近選擇了那個寄存器。 V0 or V 數字結果代碼 V1 詳細 英文結果代碼(例如CONNECT BUSY,NO CARRIER等) X0 or X 賀氏Smartmodem 300兼容的結果代碼 X1 Smartmodem 通常增加連接速度到基本結果代碼(如CONNECT 1200) X2 通常添加了撥號音檢測(防止盲目撥號,有時防止ATO) X3 通常增加忙音檢測。 X4 通常添加忙音和撥號音檢測 Z0 or Z 復位modem存儲的配置。對於多個配置文件使用Z0,Z1etc。這是跟沒有NVRAM的modem(非易失性存儲器)一樣的出場配置&F。 重置 註:一個命令字元串由一個CR(
)字元決定 寄存器 描述 范圍 預設值 S0 自動應答前的振鈴次數 0-0從不 0 S1 振鈴計數器 0-255振鈴次數 0 S2 轉義字元 0–255, 十進制ASCII碼 43 (+) S3 負載返回字元 0-127, 十進制ASCII碼 13 (負載返回) S4 換行符 0-127, 十進制ASCII碼 10 (換行) S5 退格符 0-32, 十進制ASCII碼 8(退格) S6 盲撥前的等待時間 2–255秒 2 S7 撥號後等待負載 1–255秒 50 S8 停頓時間(撥號等待) 0–255秒 2 S9 負載檢測回應時間 1–255個十分之一秒 6(0.6秒) S10 負載丟失和掛斷之間的延遲 1–255個十分之一秒 14(1.4秒) S11 DTMF撥號持續 50–255毫秒 95毫秒 S12 取消代碼守衛時間 0–255 個五十分之一秒 50(1秒) S18 測試定時器 0–255秒 0秒 S25 DTR延遲 0–255(同步模式時為秒,其他模式是百分之一秒) 5 S26 RTS到CTS延遲間隔 0–255個百分之一秒 1個百分之一秒 S30 不活動連接定時器 0–255個十分之一秒 0(禁止) S37 所需的電信線路速度 0–10
命令選項:
· 0嘗試自動連接模式
· 1嘗試使用300bit/s的連接速度
· 2嘗試使用300bit/s的連接速度
· 3嘗試使用300bit/s的連接速度
· 5嘗試使用1200bit/s的連接速度
· 6嘗試使用2400bit/s的連接速度
· 7嘗試使用V.23 75/1200模式
· 8嘗試使用9600bit/s的連接速度
· 9嘗試使用12000bit/s的連接速度
· 10嘗試使用14400bit/s的連接速度 S38 強制斷開連接前的延遲 0–255秒 20秒 ETSI GSM 07.07(3GPP TS 27.007)規定的AT命令式控制GSM手機或modem。ETSI GSM 07.05(3GPP TS 27.005)規定的AT命令式管理GSM的SMS簡訊功能。
GSM的命令示例: 命令 描述 AT+CPIN=1234 輸入PIN 碼 AT+CPWD=SC,old,new 將「舊的」PIN碼「新的」 AT+CLCK=SC,0,1234 刪除PIN碼 AT&V 狀態 ATI 狀態(製造商,型號,版本,IMEI功能) AT+COPS=? 列出可用的網路0-Unknown/2-Current/3-Forbidden,LONGNAME,SHORTNAME,數值-ID,「ACT」 AT+CSQ 得到的信號強度。應答+CSQ:<rssi(more=better)>,<ber, less=better> ATD*99# 撥號接入點 AT+CGDCONT=1,IP,access.point.name 定義PDP上下文 GSM/3G medom通常支持ETSI GSM 07.07/3GPP TS 27.007 AT指令集擴展,盡管有很多命令執行有所不同。
大多數USB modem廠商,如華為,Sierra Wireless,Option,還定義了專有無線模式選擇擴展(GSM/3G偏好)或類似擴展。因為性能的原因,某些最新的高速modem提供了一個虛擬乙太網介面而不是使用PPP連接,(PPP連接只在計算機和modem之間而不通過網路使用)。該設置需要供應商的AT命令擴展。有時候這些特定擴展規范是公開,而其他時候供應商則要求有一個NDA才能訪問它們。