一. AT 指令语法基本原理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 选择字符集四. 串口控制命令AT&C 设置数据载波检测模式AT&D 设置 DTR 功能模式AT+IFC 设置 TE-TA 本地数据流控制AT+ICF 设置 TE-TA 控制字符框AT+IPR 设置波特率五. 状态控制命令AT+CPAS 移动设备活动状态六. EC20 4G 模块 SIM 卡相关命令AT+CIMI 获取国际移动用户识别码AT+CPIN 查询 SIM 卡状态AT+CLCK 设备锁AT+CPWD 修改密码AT+CCID , AT+QCCID 显示 SIM 的 CCID 号七. 网络服务命令AT+COPS 操作员选择AT+CREG 网络注册状态AT+CSQ 查看信号强度参考资料T指令:AT即Attention。AT指令是应用于终端设备与PC应用之间的连接与通信的指令。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
一. AT 指令语法
基本原理使用 AT 指令与串口通信,是一种 “礼尚往来” 的通信方式,即当控制端输入一个 AT 指令后,与之通信的外部设备将会回复一个结果,就这样一对一的进行。以最简单的 AT 指令为例,当串口连接好以后,使用
busybox microcom -s 115200 ttyUSB2当然,4G 模块接入树莓派后会模拟出多个模块,如果选择的 ttyUSB 不对可多尝试记下;进入串口通信模式,当我输入一个 AT 后,设备将会回复一个 OK每输入一次 AT 设备都会回复一个 OK,就可以利用不同的指令,结合设备的返回码来与设备通信。其实,当我敲下 AT 回车后,发送给设备的指令实际是
AT
也就是 “AT\r”“\r” 是指回到行首,但不会换到下一行, 而当我们收到 OK 时,实际上是收到了
也就是 “\r\nOK\r\n”“/r/n” 合起来才是 Windows 下的 Enter,即回到行首并新建一行。从上面的图中可以看到,OK 的确换到了新的一行,当我们在敲 AT 时,又是在新的一行。
基本语法这些AT命令的格式为“ AT ”或 “AT&,其中以””为命令,并且“ “是该命令的参数。 例如“ ATE ”,它告诉DCE是否应根据“ ”的值将收到的字符回显到DTE。 “ ”是可选,如果缺少默认值,将使用默认值。S 参数语法这些AT命令的格式为“ ATS = ”,其中“ ”是要设置的S寄存器的索引,“ ”是要分配给它的值。S参数语法这些AT命令的格式为“ ATS = ”,其中“ ”是要设置的S寄存器的索引,“ ”是要分配给它的值。
AT 指令和响应类型
Test Command
AT+=?
此命令返回参数和值范围的列表由相应的写命令或内部进程设置
Read Command
AT+?
命令返回参数的当前设置值或参数
Write Command
AT+=<…>
此命令设置用户可定义的参数值。
Execution Command
AT+
读取受 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 \
OK
if\
none
: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=[,]设置电话功能
0 —— 最低功能1 —— 完整功能(默认)4 —— 禁止 ME 发送和接收 RF 信号
\rst>0 —— 将 ME 设置为功能级别之前,请勿重置 ME。当未给出时,这是默认设置。1 —— 重置 ME。 复位后,该设备可以正常使用。 该值仅用于 = 1
AT+CMEE 错误讯息格式
AT+CMEE=?列出支持的功能AT+CMEE?查看当前设置AT+CMEE=设置错误讯息格式
0 —— 禁用结果代码1 —— 启用结果代码并使用数值2 —— 启用结果代码并使用详细值这个设置比较有必要,当发生错误时如果光知道错误号还要去查询,具体看下图:
AT+CSCS 选择字符集AT 指令集支持三种字符集,分别是 GSM,IPA 与 UCS2 字符集.
AT+CSCS=
四. 串口控制命令
AT&C 设置数据载波检测模式
1 表示总是开启数据载波检测功能0 表示仅在有数据载体的情况下才打开
AT&D 设置 DTR 功能模式该命令确定在数据模式期间,如果 DTR 线路从低电平更改为高电平,UE 将如何响应。
AT&D[\value>]
0 —— TA 忽略 DTR 上的状态1 —— DTR 上的低→高:在保持连接的呼叫的同时切换到命令模式。2 —— DTR 上的低→高:断开数据调用,然后更改为命令模式。 当 DTR 处于高级别时,自动应答功能已禁用。
AT+IFC 设置 TE-TA 本地数据流控制
AT+IFC=?列出支持的设置AT+IFC?查看当前设置AT+IFC=,设置
指定 TE 从 TA 接收数据时将使用的方法0 —— 无2 —— RTS 流量控制
指定 TA 从 TE 接收数据时将使用的方法0 —— 无2 —— CTS 流量控制
AT+ICF 设置 TE-TA 控制字符框该命令确定 TA 从 TE 接收到的串行接口字符成帧格式和奇偶校验。
AT+ICF=?查询支持的设置AT+ICF?查看当前设置AT+ICF=[,[]]设置
AT+IPR 设置波特率
我前面关于串口通信的文章有提到过波特率,具体就不在解释了
五. 状态控制命令
AT+CPAS 移动设备活动状态
AT+CPAS=?查看支持的状态AT+CPASTA 返回 ME 的活动状态
0 —— 准备3 —— 响4 —— 正在通话或保持通话
AT+CLCC 是列出当前呼叫列表
更多状态控制命令请参考 ET20 的 dataeet,后面会给出下载地址。
六. EC20 4G 模块 SIM 卡相关命令
AT+CIMI 获取国际移动用户识别码
AT+CPIN 查询 SIM 卡状态
AT+CPIN?回复 +CPIN: ``AT+CPIN=[,]TA 存储密码,例如(U)SIM PIN,(U)SIM PUK 等,在操作之前这是必需的。 如果 PIN 码是输入两次,TA 将自动重复 PIN。 如果没有 PIN 请求待处理,未执行任何操作且发生了错误消息 + CME ERROR 返回给 TE。如果所需的 PIN 是(U)SIM PUK 或(U)SIM PUK2,则第二针是必需的。 第二个销钉用于更换(U)SIM 中的旧针脚。
``READY MT —— 不需要任何密码SIM PIN MT —— 正在等待提供(U)SIM PINSIM PUK MT —— 正在等待(U)SIM PUKSIM PIN2 MT —— 正在等待提供(U)SIM PIN2SIM 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 —— 正在等待公司个性化解锁密码
字符串类型。 密码。 如果请求的密码是 PUK,例如(U)SIM PUK1,PH-FSIM PUK 或其他密码,然后必须在后跟。
字符串类型。 如果请求的代码是 PUK,则需要新密码
AT+CLCK 设备锁详细用法见 datasheet 第 61 页。
AT+CPWD 修改密码
AT+CCID , AT+QCCID 显示 SIM 的 CCID 号
因为其他命令基本上用不上,所以就不一一列举
七. 网络服务命令
AT+COPS 操作员选择该命令可用于查看运营商的 FDD-LTE 网络,可用于查看 SIM 的注册情况
AT+COPS=?返回支持的 stat,运营商的长名称,短名称,FDD-LTE 以及 ActAT+COPS?返回当前 SIM 卡的相关信息格式如下:+COPS: [,[,][,]]下面来看这些参数都对应了什么内容:
0 —— 未知1 —— 位操作员可用2 —— 当前操作员3 —— 禁止操作员
符合格式的运算符
0 —— 自动模式。 字段被忽略1 —— 手动操作员选择。 字段应存在,并且可选2 —— 手动从网络注销3 —— 仅设置(对于 AT + COPS?Read Command),不要尝试注册 / 取消注册(和字段将被忽略)。 该值在读取命令的响应中无效。4 —— 手动 / 自动选择。 将显示 | 字段。 如果手动选择失败,进入自动模式( = 0)
0 —— 长格式字母数字,最长 16 个字符1 —— 短格式字母数字2 —— 数字。 GSM 位置区域识别号码
选择了访问技术。 值 3、4、5、6 仅在读取响应中出现MS 处于数据服务状态且不适用于 AT + COPS 写入时的命令0 —— GSM2 —— UTRAN3 —— GSM W/EGPRS4 —— UTRAN W/HSDPA5 —— UTRAN W/HSUPA6 —— UTRAN W/HSDPA and HSUPA7 —— E-UTRAN100 ——CDMA
AT+CREG 网络注册状态该命令返回两个参数+CREG: ,
0 禁 —— 用未经请求的网络注册结果代码1 —— 启用未经请求的网络注册结果代码 + CREG:2 —— 启用带有位置信息的网络注册未经请求的结果代码
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 口。
参考资料
EC20 AT指令 说明
Quectel_EC20_R2.1_AT_Commands_Manual_V1.0.pdf