什么是AT指令
AT 即Attention,AT 指令用来定义终端设备TE(TerminalEquipment)和移动台MT(Mobile Terminal)之间交互的规则,即当终端设备输入一个AT指令后,与之通信的移动台将会回复一个结果,就这样一对一的进行。如下图所示。
在广域通信GSM网络中,用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
AT指令相关名词
AT指令格式
AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息模块将有对应的一些信息提示,接收端可做相应的处理。
每个AT指令中只能包含一条AT指令;除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
AT指令集可分为三个类型:
常见AT指令
查询模块序列号 AT+CGSN
AT+CGSN=<snt>,如果没有写入<snt>,则只返回"OK”。
-
<snt>=0,返回<sn>。
-
<snt>=1,返回IMEI(国际移动设备识别码),每个模块都是唯一的。
-
<snt>=2,返回IMEISV(国际移动电台设备身份和软件版本)。
-
<snt>=3,返回软件版本号SVN。
发送命令:
AT+CGSN=1
模块返回:
+CGSN:868744036640526
OK
查询固件版本 AT+CGMR
执行该命令返回固件版本。
发送命令:
AT+CGMM
模块返回:
<Revision>
OK
查询终端报错 AT+CMEE
用于设置终端错误报告,使能后当发送AT执行错误时终端会返回错误编码,这样便于定位问题。
开启错误码上报
发送命令:
AT+CMEE=1
模块返回:
OK
重启模块 AT+NRB
用于终端设备重启。
发送命令
AT+NRB
模块返回:REBOOTING
****
Boot: Unsigned
Security B.. Verified
Protocol A.. Verified
Apps A...... Verified
REBOOT_CAUSE_APPLICATION_AT
Neul
OK
查询信号强度 AT+CSQ
返回值为+CSQ:<rssi>,<ber>。rssi越大,表示信号越强。信号强度和rssi换算公式为:信号强度=113dBm+(rssi*2)。ber字段未使用,恒等于99。
发送命令:
AT+CSQ
模块返回
+CSQ:31,99
OK
查询网络是否激活 AT+CGATT
返回:+CGATT:1,表示网络已激活;若返回:+CGATT:0,则表示网络未激活,请尝试重启模组激活网络。
发送命令:
AT+CGATT?
模块返回:
+CGATT:1
OK
查询网络注册状态 AT+CEREG
该命令用于查询终端EPS网络注册状态。当使能提示时,终端的网络注册状态信息有变化,会主动上报给用户终端。通过不同的设置可以上报EPS注册状态、位置区码、小区ID、服务小区的接入技术等信息,通常情况下只需要设置为自动上报EPS注册状态。
发送命令:
AT+CEREG=1
模块返回:
OK
设置成功后,当网络注册状态信息有变化,会主动上报给用户终端,如:
+CEREG:1,1
OK
查询网络当前连接状态 AT+CSCON
返回格式为:+CSCON:<n>,<mode>?
-
<n>是通知设置。取值和说明:0为取消异步通知,当网络连接后,串口不会主动上报+CSCON命令;1为使能异步通知,串口主动上报+CSCON。
-
<mode>是当前模块连接状态,取值和说明:0处于IDLE状态,1处于已连接状态。当处于IDLE状态时,只要发送数据或者重启设备,就会变成已连接状态。
发送命令:
AT+CSCON?
模块返回:
+CSCON:0,1
OK
设置模块射频功能 AT+CFUN
该命令用于设置和查询模块的射频功能是否开启。
AT+CFUN=0 //关闭射频功能
OK
AT+CFUN=1 //开启模块射频功能
OK
AT+CFUN? //查询模块的射频开启状态
+CFUN:1 //射频功能已打开成功,若回复0通常是因为SIM卡的电路与模块没有连接成功