AT指令集(AT Command Set)是用于控制通信设备(如调制解调器、手机模块、GSM/3G/4G模块等)的一组标准命令。它最初由Hayes Microcomputer Products公司在1981年为调制解调器开发,并被广泛应用于嵌入式通信领域。AT指令以AT开头,代表“Attention”,表示命令的开始。
AT指令集用于控制设备的各项功能,包括拨号、查询等,或者是超级终端。
AT指令基本格式
AT指令的基本格式如下:
AT<指令>[参数]
- AT:指令的前缀,表示命令的起始。
- 指令:命令功能。
- 参数:可能会有的附加参数。
每条指令执行后,设备会返回响应,常见的响应包括:
- OK:命令成功执行。
- ERROR:命令执行失败。
- 返回:某些查询命令会返回具体的数据。
AT指令的类型与常见指令
1. 基本通信指令
- ATD:拨号命令,后面跟随电话号码(必须以分号;结尾)。
ATD1234567890;
用于拨打电话到1234567890。
- ATH:接听电话。
ATH
- ATH0:挂断电话。
ATH0
2. 查询指令
- ATI:查询设备信息,返回设备的型号、版本等信息。
ATI
- AT+CSQ:查询信号强度,返回信号强度(0-31)和噪声比(0-7)。
AT+CSQ
返回格式:+CSQ: <signal_strength>, <bit_error_rate>
例如:+CSQ: 15, 99,其中15表示信号强度,99表示无法获取噪声比。
- AT+CREG?:查询网络注册状态,检查设备是否已注册到网络。
AT+CREG?
返回格式:+CREG: <n>,<status>。status表示设备的网络注册状态(例如,0表示未注册,1表示已注册)。
3. 短信相关指令
- AT+CMGF:设置短信格式(0表示PDU模式,1表示文本模式)。
AT+CMGF=1
- AT+CMGS:发送短信,先发送AT+CMGF指令设置短信格式,然后通过该命令发送短信。
AT+CMGS="+1234567890" > Hello, this is a test message.
发送结束后,通过Ctrl+Z(ASCII码26)结束短信内容。
- AT+CMGR:读取短信,后面指定短信索引。
AT+CMGR=1
返回短信的内容、发送时间、电话号码等信息。
4. 数据连接相关指令
- AT+CGDCONT:设置PDP上下文,配置数据连接参数。
AT+CGDCONT=1,"IP","internet"
设置PDP上下文ID为1,承载类型为IP,APN为internet。
AT+CGACT:激活或去激活PDP上下文。
AT+CGACT=1,1 // 激活PDP上下文 AT+CGACT=1,0 // 去激活PDP上下文
- AT+CGPADDR:查询PDP上下文的IP地址。
AT+CGPADDR=1
返回配置的IP地址。
5. 调制解调器控制指令
- ATM:启用或禁用调制解调器回显。
ATM1 // 启用回显 ATM0 // 禁用回显
- AT+CSQ:查询信号质量,返回信号强度和误码率。
AT+CSQ
返回格式:+CSQ: <signal_strength>,<bit_error_rate>。
6. 高级指令
- AT+CLIP:启用/禁用来电显示。
AT+CLIP=1 // 启用来电显示 AT+CLIP=0 // 禁用来电显示
- AT+CLCC:查询当前通话状态,返回当前通话的状态(通话方、时间等)。
AT+CLCC
返回格式:+CLCC: <index>,<direction>,<status>,<mode>,<number>,<type>
- AT+VTS:发送DTMF(双音多频)信号,常用于电话按键输入。
AT+VTS="1" // 发送数字1的DTMF信号
高级指令
1. PDU模式与文本模式
AT指令的短信功能通常有两种模式:PDU模式(协议数据单元模式)和文本模式。文本模式是基于ASCII编码,比较直观,但PDU模式具有更高的效率和更强的兼容性,特别是在发送Unicode短信时。
- AT+CMGF:用于设置短信格式,AT+CMGF=0表示PDU模式,AT+CMGF=1表示文本模式。
2. 命令与参数的响应格式
AT+CSQ命令返回的是信号强度和误码率:
+CSQ: <signal_strength>, <bit_error_rate>
返回的signal_strength表示设备接收到的信号强度,范围是0-31,数值越大表示信号越强。bit_error_rate表示误码率,值越小表示信号质量越好。
文章评论