文章目錄
- 一. AT指令語法
- 二. AT指令集中的幾個重要術語
- 三. 一般命令
- ATI 顯示產品標識信息
- AT+GMI , AT+CGMI 獲取製造商
- AT+GMM , AT+CGMM 申請TA模型識別
- AT+GMR , AT+CGMR 請求軟件版本的TA修訂標識
- AT+GSN , AT+CGSN 獲取模塊IMEI號
- AT&F 將所有當前參數設置爲製造商默認值
- AT&V 顯示當前配置
- AT&W 保存設置
- AT&Z 將所有當前參數設置爲用戶定義的配置文件
- ATQ 設置結果代碼演示模式
- ATV TA響應格式
- ATE 設置命令回顯模式
- A/
- ATS3 設置命令行終止符
- ATS4 設置響應格式字符
- ATS5 設置命令行編輯字符
- AT+CFUN 設置電話功能
- AT+CMEE 錯誤訊息格式
- AT+CSCS 選擇字符集
- 四. 串口控制命令
- 五. 狀態控制命令
- 六. EC20 4G模塊SIM卡相關命令
- 七. 網絡服務命令
一. AT指令語法
基本原理
使用AT指令與串口通信,是一種“禮尚往來”的通信方式,即當控制端輸入一個AT指令後,與之通信的外部設備將會回覆一個結果,就這樣一對一的進行。
以最簡單的AT指令爲例,當串口連接好以後,使用
busybox microcom -s 115200 ttyUSB2
當然,4G模塊接入樹莓派後會模擬出多個模塊,如果選擇的ttyUSB不對可多嘗試記下;進入串口通信模式,當我輸入一個AT後,設備將會回覆一個OK
每輸入一次AT設備都會回覆一個OK,就可以利用不同的指令,結合設備的返回碼來與設備通信。
其實,當我敲下AT 回車後,發送給設備的指令實際是
AT<CR>
也就是 “AT\r”
“\r” 是指回到行首,但不會換到下一行,而當我們收到OK時,實際上是收到了
<CR><LF><OK><CR><LF>
也就是 “\r\nOK\r\n”
" /r/n " 合起來纔是Windows下的Enter,即回到行首並新建一行。從上面的圖中可以看到,OK的確換到了新的一行,當我們在敲AT時,又是在新的一行。
- 基本語法
這些AT命令的格式爲“ AT<x><n> ”或 “AT&<x><n>,其中以"<x>”爲命令,並且“ <n>"是該命令的參數。 例如“ ATE <n>”,它告訴DCE是否應根據“ <n>”的值將收到的字符回顯到DTE。 “ <n>”是可選,如果缺少默認值,將使用默認值。 - S參數語法
這些AT命令的格式爲“ ATS <n> = <m>”,其中“ <n>”是要設置的S寄存器的索引,“ <m>”是要分配給它的值。S參數語法這些AT命令的格式爲“ ATS <n> = <m>”,其中“ <n>”是要設置的S寄存器的索引,“ <m>”是要分配給它的值。
AT指令和響應類型
Test Command | AT+<x>=? | 此命令返回參數和值範圍的列表由相應的寫命令或內部進程設置 |
---|---|---|
Read Command | AT+<x>? | 命令返回參數的當前設置值或參數 |
Write Command | AT+<x>=<…> | 此命令設置用戶可定義的參數值。 |
Execution Command | AT+<x> | 讀取受UE內部流程影響的被變量參數 |
二. AT指令集中的幾個重要術語
TE (Terminal Equipment):
終端設備,比如一臺計算機,一部手機,與DTE等價.它是和信息網絡的一端相接的可提供必要功能的設備,這些功能使得用戶可以通過接入協議接入網絡。發送信息,接收信息。
TA(Terminal Adapter)
終端適配器,提供終端適配功能的物理實體,是一種接口設備,與DCE等價。比如SIM300模塊
DCE(Data Communications Equipment)
數據通信設備,它在DTE和傳輸線路之間提供信號變換和編碼功能,並負責建立、保持和釋放鏈路的連接,如Modem。DCE設備通常是與DTE對接,因此針腳的分配相反。其實對於標準的串行端口,通常從外觀就能判斷是DTE還是DCE,DTE是針頭(俗稱公頭),DCE是孔頭(俗稱母頭),這樣兩種接口才能接在一起。
DTE(Data Terminal Equipment)
數據終端設備,具有一定的數據處理能力和數據收發能力的設備。DTE提供或接收數據,例連接到調制解調器上的計算機就是一種DTE。DTE提供或接收數據,連接到網絡中的用戶端機器,主要是計算機和終端設備。與此相對的,在網絡端的連接設備稱爲 DCE ( Date Circuit - terminating Equipment )。DTE與進行信令處理的DCE相連。 它是用戶—網絡接口的用戶端設備,可作爲數據源、目的地或兩者兼而有之。 DTE通過DCE設備(例如,調制解調器)連接到數據網絡,且一般使用DCE產生的時鐘信號。DTE包括像計算機、協議轉換器和多路複用器這樣的設備。
ME Mobile Equipment : 移動設備,比如手機,就屬於ME
MS Mobile Station : 移動臺,在移動中使用的通信站或者手持臺。
三. 一般命令
ATI 顯示產品標識信息
ATI命令用來返回模塊的產品標識信息:
可以看到,我的模塊式移遠的EC20F.,Revision是修訂標識
最大響應時間:300ms
AT+GMI , AT+CGMI 獲取製造商
最大響應時間:300ms
AT+GMM , AT+CGMM 申請TA模型識別
和查型號差不多
AT+GMR , AT+CGMR 請求軟件版本的TA修訂標識
可以發現,最上面的命令包含了這3個命令。
最大響應時間:300ms
AT+GSN , AT+CGSN 獲取模塊IMEI號
IMEI號,即國際移動設備識別碼(International Mobile Equipment Identity,IMEI),通常所說的手機序列號,移動通信設備都會有一個IMEI號,就像身份證。
最大響應時間:300ms
AT&F 將所有當前參數設置爲製造商默認值
例如
AT&F0
最大響應時間:300ms
AT&V 顯示當前配置
最大響應時間:300ms
AT&W 保存設置
將當前參數存儲到用戶定義的配置文件。
下面不標明最大響應時間的,默認300ms
AT&Z 將所有當前參數設置爲用戶定義的配置文件
該命令以非易失性方式將當前AT命令設置恢復到用戶定義的配置文件內存(如果之前已將它們存儲在AT&W中)。 同一命令行上的任何其他AT命令,可能會被忽略。
ATQ 設置結果代碼演示模式
此參數設置確定TA是否將任何結果代碼發送到TE。 信息文字以響應方式傳輸不受此設置影響.
if \<n>=0:
OK
if\<n>=1:
none
<n> :
0 —— TA發送結果代碼
1 —— 結果代碼被禁止而不發送
ATV TA響應格式
該命令確定與AT命令結果代碼一起發送的標題和尾部的內容和信息回覆。
結果代碼,它們的數字等效形式以及每種用法的簡要說明在列表中列出。
例如:
各響應結果對應的數字:
ATV1 | ATV0 |
---|---|
OK | 0 |
CONNECT | 1 |
RING | 2 |
NO CARRIER | 3 |
ERROR | 4 |
NO DIALTONE | 6 |
BUSY | 7 |
NO ANSWER | 8 |
ATE 設置命令回顯模式
輸入的命令是否能在屏幕打印
例如 ATE0,ATE1
A/
該命令重複上一個AT命令行,“ /”充當行終止符。
ATS3 設置命令行終止符
該命令確定模塊識別的字符以終止傳入的命令行。 它還爲結果代碼和信息文本以及通過ATS4設置的字符值生成。
ATS4 設置響應格式字符
該命令確定模塊爲結果代碼和信息文本生成的字符,以及通過ATS3設置的命令行終止字符。
ATS5 設置命令行編輯字符
該命令確定模塊用來刪除緊靠其前的字符值,AT命令行中的字符(即等於退格鍵)。
AT+CFUN 設置電話功能
- AT+CFUN=?
列出所有功能對應序號 - AT+CFUN?
查詢當前設置的電話功能,返回的是fun的值 - AT+CFUN=<fun>[,<rst>]
設置電話功能
<fun>
0 —— 最低功能
1 —— 完整功能(默認)
4 —— 禁止ME發送和接收RF信號
\rst>
0 —— 將ME設置爲功能級別之前,請勿重置ME。當未給出時,這是默認設置。
1 —— 重置ME。 復位後,該設備可以正常使用。 該值僅用於 = 1
AT+CMEE 錯誤訊息格式
- AT+CMEE=?
列出支持的功能 - AT+CMEE?
查看當前設置 - AT+CMEE=<n>
設置錯誤訊息格式
<n>
0 —— 禁用結果代碼
1 —— 啓用結果代碼並使用數值
2 —— 啓用結果代碼並使用詳細值
這個設置比較有必要,當發生錯誤時如果光知道錯誤號還要去查詢,具體看下圖:
AT+CSCS 選擇字符集
AT指令集支持三種字符集,分別是GSM,IPA與UCS2字符集.
AT+CSCS=<cheset>
四. 串口控制命令
AT&C 設置數據載波檢測模式
1 表示總是開啓數據載波檢測功能
0 表示僅在有數據載體的情況下才打開
AT&D 設置DTR功能模式
該命令確定在數據模式期間,如果DTR線路從低電平更改爲高電平,UE將如何響應。
AT&D[\value>]
<value>
0 —— TA忽略DTR上的狀態
1 —— DTR上的低→高:在保持連接的呼叫的同時切換到命令模式。
2 —— DTR上的低→高:斷開數據調用,然後更改爲命令模式。 當DTR處於高級別時,自動應答功能已禁用。
AT+IFC 設置TE-TA本地數據流控制
- AT+IFC=?
列出支持的設置 - AT+IFC?
查看當前設置 - AT+IFC=<dce_by_dte>,<dte_by_dce>
設置
<dce_by_dte> 指定TE從TA接收數據時將使用的方法
0 —— 無
2 —— RTS流量控制
<dte_by_dce> 指定TA從TE接收數據時將使用的方法
0 —— 無
2 —— CTS流量控制
AT+ICF 設置TE-TA控制字符框
該命令確定TA從TE接收到的串行接口字符成幀格式和奇偶校驗。
- AT+ICF=?
查詢支持的設置 - AT+ICF?
查看當前設置 - AT+ICF=[<format>,[<parity>]]
設置
<format>
3 —— 8 數據 0 奇偶校驗 1 停止
<parity>
0 —— 奇數
1 —— 偶數
AT+IPR 設置波特率
我前面關於串口通信的文章有提到過波特率,具體就不在解釋了
五. 狀態控制命令
AT+CPAS 移動設備活動狀態
- AT+CPAS=?
查看支持的狀態 - AT+CPAS
TA返回ME的活動狀態<pa>
<pa>
0 —— 準備
3 —— 響
4 —— 正在通話或保持通話
AT+CLCC是列出當前呼叫列表
更多狀態控制命令請參考ET20的dataeet,後面會給出下載地址。
六. EC20 4G模塊SIM卡相關命令
AT+CIMI 獲取國際移動用戶識別碼
AT+CPIN 查詢SIM卡狀態
- AT+CPIN?
回覆 +CPIN: <code> - AT+CPIN=<pin>[,<new pin>]
TA存儲密碼,例如(U)SIM PIN,(U)SIM PUK等,在操作之前這是必需的。 如果PIN碼是輸入兩次,TA將自動重複PIN。 如果沒有PIN請求待處理,未執行任何操作且發生了錯誤消息+ CME ERROR返回給TE。
如果所需的PIN是(U)SIM PUK或(U)SIM PUK2,則第二針是必需的。 第二個銷釘用於更換(U)SIM中的舊針腳。
<code>
READY MT —— 不需要任何密碼
SIM PIN MT —— 正在等待提供(U)SIM PIN
SIM PUK MT —— 正在等待(U)SIM PUK
SIM PIN2 MT —— 正在等待提供(U)SIM PIN2
SIM PUK2 MT —— 正在等待(U)SIM PUK2被給予
PH-NET PIN MT —— 正在等待提供網絡個性化密碼
PH-NET PUK MT —— 正在等待提供網絡個性化解鎖密碼
PH-NETSUB PIN MT —— 正在等待提供網絡子集個性化密碼
PH-NETSUB PUK MT —— 正在等待提供網絡子集個性化解鎖密碼
PH-SP PIN MT —— 正在等待提供服務提供商的個性化密碼
PH-SP PUK MT —— 正在等待提供服務提供商個性化解鎖密碼
PH-CORP PIN MT —— 正在等待提供公司個性化密碼
PH-CORP PUK MT —— 正在等待公司個性化解鎖密碼
<pin>
字符串類型。 密碼。 如果請求的密碼是PUK,例如(U)SIM PUK1,
PH-FSIM PUK或其他密碼,然後必須在後跟。
<new pin>
字符串類型。 如果請求的代碼是PUK,則需要新密碼
AT+CLCK 設備鎖
詳細用法見datasheet第61頁。
AT+CPWD 修改密碼
AT+CCID , AT+QCCID 顯示SIM的CCID號
因爲其他命令基本上用不上,所以就不一一列舉
七. 網絡服務命令
AT+COPS 操作員選擇
該命令可用於查看運營商的FDD-LTE網絡,可用於查看SIM的註冊情況
- AT+COPS=?
返回支持的stat,運營商的長名稱,短名稱,FDD-LTE以及Act - AT+COPS?
返回當前SIM卡的相關信息
格式如下:
+COPS: <mode>[,<format>[,<oper>][,<Act>]]
下面來看這些參數都對應了什麼內容:
<stat>
0 —— 未知
1 —— 位操作員可用
2 —— 當前操作員
3 —— 禁止操作員
<oper>
符合<mode>格式的運算符
<mode>
0 —— 自動模式。 <oper>字段被忽略
1 —— 手動操作員選擇。 <oper>字段應存在,並且可選
2 —— 手動從網絡註銷
3 —— 僅設置<format>(對於AT + COPS?Read Command),不要嘗試註冊/取消註冊(<oper>和<Act>字段將被忽略)。 該值在讀取命令的響應中無效。
4 —— 手動/自動選擇。 將顯示|字段。 如果手動選擇失敗,進入自動模式(<mode> = 0)
<format>
0 —— 長格式字母數字<oper>,最長16個字符
1 —— 短格式字母數字<oper>
2 —— 數字<oper>。 GSM位置區域識別號碼
<Act>
選擇了訪問技術。 值3、4、5、6僅在讀取響應中出現
MS處於數據服務狀態且不適用於AT + COPS寫入時的命令
0 —— GSM
2 —— UTRAN
3 —— GSM W/EGPRS
4 —— UTRAN W/HSDPA
5 —— UTRAN W/HSUPA
6 —— UTRAN W/HSDPA and HSUPA
7 —— E-UTRAN
100 ——CDMA
AT+CREG 網絡註冊狀態
該命令返回兩個參數
+CREG: <n>,<stat>
<n>
0禁 —— 用未經請求的網絡註冊結果代碼
1 —— 啓用未經請求的網絡註冊結果代碼+ CREG:<stat>
2 —— 啓用帶有位置信息的網絡註冊未經請求的結果代碼
<stat>
0 —— 未註冊。 我目前不在搜索新的運營商來註冊
1 —— 已註冊,本地網絡
2 —— 未註冊,但ME當前正在搜索新的運營商以註冊
3 —— 註冊被拒絕
4 —— 未知
5 —— 已註冊,漫遊網絡(外地網絡)
stat爲1,5 SIM都可用。
AT+CSQ 查看信號強度
第一個返回值爲信號強度,9 ~ 31 以內越高則信號越強,第二個參數爲通道誤碼率(百分比),99表示位置,如果返回99,99則表示SIM不可用,應該檢查下天線。
插EC20 4G模塊的天線時,要注意天線的位置,一個是main口,一個是div口,main主要負責就收發送,而div口只能接受,應將天線插到main口。
這就是一些AT較爲重要的命令,還有收撥電話與收發短信的指令將在下一篇博客總結。
下載鏈接:https://pan.baidu.com/s/1M6itx4z-Sd8Xjg0WDXmbIQ
提取碼:8gd6