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)或電腦來完全控制 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指令的響應數據包在 中。每個指令執行成功與否都有相應的返回。其他的一些非預期的信息(如有人撥號進來、線路無信號等),模塊將有對應的一些信息提示,接收端可做相應的處理。

GSM模塊,是將GSM射頻芯片、基帶處理芯片、存儲器、功放器件等集成在一塊線路板上,具有獨立的操作系統、GSM射頻處理、基帶處理並提供標準接口的功能模塊。GSM模塊根據其提供的數據傳輸速率又可以分爲GPRS模塊、EDGE模塊和純短信模塊。短信模塊只支持語音和短信服務。GPRS,可說是GSM的延續。它經常被描述成“2.5G”,也就是說這項技術位於第二代(2G)和第三代(3G)移動通訊技術之間。GPRS的傳輸速率從56K到114Kbps不等,理論速度最高達171k。相對於GSM的9.6kbps的訪問速度而言,GPRS擁有更快的訪問數據通信速度,GPRS技術還具有在任何時間、任何地點都能實現連接,永遠在線、按流量計費等特點。EDGE技術進一步提升了數據傳輸的速率到384K-473K,被稱爲”2.75G”,數據傳輸速率更2倍於GPRS。目前,國內的GSM網絡普遍具有GPRS通訊功能,移動和聯通的網絡都支持GPRS,EDGE在部分省市實現了網絡覆蓋。

1、AT命令的優點
命令簡單易懂,並且採用標準串口來收發AT命令,這樣對設備控制大大簡化了,轉換成簡單串口編程了。

AT命令提供了一組 標準的硬件接口——串口,這個簡化的硬件設計,在較新的電信網絡模塊,幾乎都採用串口硬件接口。

AT命令功能較全,可以通過一組命令完成設備的控制,完成呼叫、短信、電話本、數據業務、傳真。

2、AT命令與ppp協議的關係
在數據通訊的應用中,比如說無線撥號上網。除了AT命令,還會常聽到另外一個網絡協議ppp(Point to Point Protocol)。

在應用串口通訊的場合,我們可以從硬件上明確看到分爲兩大塊。

DTE(Data Terminal Equipment)數據終端設備。通常是一個智能設備,如PC機,嵌入式主機等,用於發送AT命令和PPP命令,
還有用於鏈路通訊的DCE(Data Circuit Terminal )數據電路終端。用於與外界建立通訊的鏈路。
DTE與DCE之間用串口相連。比如PC機用串口接入撥號MODEM時,PC機是DTE,撥號MODEM是DCE.

AT和PPP的相同點都是由DTE發送給DCE的協議。不同點是AT只用於DTE來控制DCE。比如初始化設備,用於發送呼叫,發送短消息等,雖然AT有規範,但是大部分DTE產商都擴展了一些AT命令。

而PPP是用於數據通訊,是DTE與遠程的接入服務器(Access Server)進行通訊的協議。是屬於網絡通訊的數據鏈路層協議,DCE本身收到PPP包時,除了將其調製到物理層上發送到遠端服務器外,本身並不處理PPP的內容。

在這裏插入圖片描述
二、AT命令的簡單使用
不同產商的AT命令大同小異,但是還是有所區別,一般要看產品手冊。

AT命令以AT開頭,一回車符結束。一個簡單命令如:AT回車符,模塊對命令的響應爲:回車符、換行符response回車符、換行符。

AT命令大致可以分爲三類:

  • 基本AT命令:AT<><>或者AT&<><>,如:ATE1(打開串口回顯),AT&D1(開啓DTR低電平切換)。
  • S參數AT命令:ATS<>=<>,如:ATS0=1(設置模塊來電一聲自動接起)
  • 擴展型AT命令(四種)
    ①AT+<>=?
    用於查看此命令在模塊中允許設置的參數範圍,如發送命令:AT+CREG=?
    正常時相應:+CREG: (0-2)
    OK
    在這裏插入圖片描述
    ②AT+<>?
    用於查看此命令在模塊中的當前設置值,如發送命令:AT+IPR?
    正常時響應:+IPR:0
    OK

③AT+<>=<>
用於設置當前AT命令x的參數值,如發送命令:AT+CMGF=0
正常時響應:OK

④AT+<>
查看模塊內部的一些狀態值,如發送命令:AT+CSQ
正常時響應:+CSQ:29, 0
OK

一些常見的AT命令簡單介紹:
AT:檢測Module與串口是否連通,能否接收AT命令;
在這裏插入圖片描述

AT+GSN:查詢IMEI,如果不需要,可以不用獲取
在這裏插入圖片描述
AT+CPIN?:查詢SIM卡是否在位;
在這裏插入圖片描述
AT+CSQ:查詢信號強度
在這裏插入圖片描述
AT+CREG?:查詢是否註冊到運營商
在這裏插入圖片描述
AT+COPS?:查詢是哪家運行商

在這裏插入圖片描述
撥打電話的一些常見AT命令:
撥打電話:ATD電話號碼;
來電顯示:AT+CLCC;
接電話:ATA;
掛電話:ATH;
掛電話尚未接通的來電:AT+CHUP

發短信的一些常見AT命令:

短信的編碼方式有兩種:text模式,pdu模式。因此短信的AT指令執行格式也有兩種,分別對應text模式和pdu模式。

1、Text模式
純文本模式,支持不同的字符集,從技術上說也可用於發送中文短消息,但國內手機基本上不支持,主要用於歐美地區。

2、Pdu模式

這個是手機默認的編碼方式,可以使用任何字符集,其包括三種編碼方式:7bit編碼,8bit編碼,UCS2編碼。

7bit編碼:ASCⅡ碼就是7bit編碼。

8bit編碼:ASCⅡ字符可以使用7位二進制表示,但是由於計算機的基本處理單位是字節(1byte=8bit),所以一般在高位補0,用一個字節表示一個ASCⅡ字符。這就是8bit編碼。

UCS2編碼:處理Unicode字符,使用2個字節來表示一個字符,可以表示世界上所有的字符。發送中文就是使用此編碼方式。

發英文短信

設置信息格式: AT+CMGF=1 (格式有TEXT方式和PDU方式。AT+CMGF=1時是TEXT方式,AT+CMGF=0是PDU方式)
發送短信: AT+CMGS=“電話號碼”
data //下一行出現>後面跟的data 爲發送內容(以ctrl+z(0x1A)結束)

設置收到短消息提示: AT+CNMI=1,1,2

設置存儲區域爲SM: AT+CPMS=”SM”

讀取短信: AT+CMGR=index(index爲讀第幾條短信)

發中文短信:
具體的AT命令可以參考此篇博客:https://blog.csdn.net/a_tu_/article/details/47808017

AT命令詳解:https://blog.csdn.net/bytxl/article/details/25614491

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章