1.AT指令的概念
AT(Attention)指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的指令。即是应用于终端设备与PC应用之间的连接与通信的指令。
其对所传输的数据包大小有定义:即对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
每个AT命令行中只能包含一条AT指令;对于由终端设备主动向PC端报告的URC指示或者response响应,也要求一行最多有一个,不允许上报的一行中有多条指示或者响应。AT指令以回车作为结尾,响应或上报以回车换行为结尾。
1.1AT命令的优点
命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。
AT命令提供了一组标准的硬件接口–串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。
AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真.
2.AT的命令格式
AT指令格式:AT指令都以”AT”开头,以(即\r,回车符)结束,模块运行后,串口默认的设置为:8位数据位、1位停止位、无奇偶校验位、硬件流控制(CTS/RTS).
注意为了发送AT命令,最后还要加上 (即\n,换行符)这是串口终端要求
有一些命令后面可以加额外信息来.如电话号码
在AT指令发出后,通常DCE(数据电路终端)都给状态值,用于判断命令执行的结果.AT返回状态包括三种情况 OK,ERROR,和命令相关的错误原因字符串.返回状态前后都有一个字符.
- OK 表示AT命令执行成功.
- ERROR 表示AT命令执行失败
- NO DIAL TONE 只出现在ATD命令返回状态中,表示没有拨号音,这类返回状态要查命令手册
还有一些命令本身是要向DCE查询数据,数据返回时,一般是+打头命令.返回格式
+命令:命令结果
如:AT+CMGR=8 (获取第8条信息)
返回 +CMGR: “REC UNREAD”,"+8613508485560",“01/07/16,15:37:28+32”,Once more
3.常用的AT命令
3.1基本指令
-
AT
命令解释:检测Module与串口是否连通,能否接收AT命令;
命令格式:AT
命令返回:OK (与串口通信正常)(无返回,与串口通信未连通)
-
AT+CSQ
命令解释:检查网络信号强度和SIM卡情况
命令格式:AT+CSQ
命令返回:+CSQ: **,## (**应在10到31之间,数值越大表明信号质量越好,##应为99,否则应检查天线或SIM卡是否正确安装)
-
ATZ
命令解释:恢复原厂设置
命令格式:ATZ
命令返回:OK -
AT+CGMR
命令解释:修改串口1波特率;
命令格式:AT+IPR=
命令返回: ERROR /OK
注意:串口波特率修改为19200后要把串口调试工具的波特率设为相应波特率后模块才会有返回 -
AT&W
命令解释:保存模块设置;
命令格式:AT&W
命令返回: OK,ERROR(不成功) -
AT+CPIN?
命令解释: 查SIM卡是否在位
命令格式:AT+CPIN?
命令返回:+CPIN: READY
OK -
AT+CREG?
命令解释:查SIM卡是否注册上网络,其中”,”后的值为SIM卡的注册状态
命令格式:AT+CPIN?
命令返回:+CREG: 0,5
OK
注意:如果状态值为0,表示未注册;如果为1表示本地号码注册上;如果为2,表示正在搜索运营商注册,但没注册上;3表示拒绝注册;4,未知状态; 5, 漫游号码注册上。 -
AT+COPS?
命令解释:查询是哪家运营商
命令格式:AT+COPS?
-
AT+CGMI
命令解释:查模块制造商
命令格式:AT+CGMI
-
AT+CGMM
命令解释:查询模块型号
命令格式:AT+CGMM
-
AT+CGMR
命令解释:查询模块版本
命令格式:AT+CGMR
在我们进行使用这个模块的时候,首先要使用AT指令了解清楚它的一些基本信息,如下:
3.2通话操作
-
ATD
命令解释:拨打电话
命令格式:ATD**********;(****为电话号码)
命令返回:OK / NO DIAL TONE(没有拨号音)/ NO CARRIER(无载波)
注意:后面要分号。 -
RING、ATA和ATH
命令解释:有电话呼入、摘机、挂机
命令格式:RING / ATA / ATH
短信操作
短信操作有点复杂,下一篇再聊