常用基本AT指令
命令 作用
AT 测试连接是否正确
ATE0 关闭回显。程序初始化AT部分首先关闭回显。
ATE1 打开回显。使用超级终端测试命令时打开。
AT+CGMI 得到厂商信息
AT+CGMR 得到手机版本号
AT+CGSN 得到手机序列号(IMEI)
AT+CIMI 得到手机IMSI号码
AT+CSCS 获取、设置手机当前字符集。可设置为GSM或UCS2
AT+CBC 获取手机电量
AT+CCLK 获取设置手机时钟
AT+CNUM 机身号码。分为线路一和线路二
AT+CSQ 当前信号
AT+COPS 网络营运商
AT+CSCA 短信中心号码
以上这些指令都用于与手机连接的时候初始化用。取得手机IMEI及IMSI可以给使程序支持更多的手机连接
并且保持数据独立。
短信部分
命令 作用
AT+CPMS 选择短信储存地点。可选择ME(SIM卡)和MT(机身)
AT+CMGL 列出指定状态的短信息的PDU代码
AT+CMGR 列出指定序号的短信息PDU代码
AT+CMGS 发送短信
AT+CMGD 删除指定的短信
AT+CMGF 短信格式。分为Text模式和PDU模式
AT+CNMI 设置新短消息通知电脑端
AT+CSCA 短信中心
以上命令是短消息部分最经常使用的命令。
一、一般命令
AT+CGMI给出模块厂商的标识。
AT+CGMM获得模块标识。这个命令用来得到支持的频带(GSM900,DCS1800或PCS1900)。当模块有多频带时,回应可能是不同频带的结合。
AT+CGMR获得改订的软件版本。
AT+CGSN获得GSM模块的IMEI(国际移动设备标识)序列号。
AT+CSCS选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。
AT+WPCS设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入口。
AT+CIMI获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。
AT+CCID获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。
AT+GCAP获得能力表。(支持的功能)
A/ 重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。
AT+CPOF关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的功能与+CPOF相同。
AT+CFUN设定电话机能。这个命令选择移动站点的机能水平。
AT+CPAS返回移动设备的活动状态。
AT+CMEE报告移动设备的错误。这个命令决定允许或不允许用结果码“+CMEERROR:
AT命令交互之-COPS选择营运商
模块默认一般都可以自动搜网注册,比如移动的就注册到移动,联通的就注册到联通。但是在不同的国家多网覆盖的使用情况下,有时候就算使用了自动搜网注册网络,也会出现注册不上网络的现象,这时候就需要使用手动搜网然后选择一个运营商进行强制注册。
1.AT+COPS命令说明

image.png
-
上面格式里面,stat这个值比较重要,他会直接告诉我们哪些运营商可用。
-
<stat>
-
0 未知
-
1 可用
-
2 当前
-
3 禁用
-
<oper>
-
运营商名称,根据 format 给出
-
<mode>
-
0 自动注册 (忽略<format> <oper> 参数)
-
1 手动注册
-
2 强制注销
-
3 只设置格式
-
4 先手动再自动
-
<format>
-
0 长字符格式<oper>
-
1 短字符格式<oper>
-
2 数字格式<oper>
-
<AcT> 接入技术
-
0 GSM
-
1 GSM COMPACT
-
2 UTRAN
-
1. 配置命令选择并注册 GSM 网络营运商。<mode>设置 ME 是自动选择营运商<oper>,还是使用该命
-
令强制选择营运商<oper>。
-
当<mode>=0 时,ME 将自动尝试选择可使用的运营商。
-
当<mode>=1 时,ME 将强制注册选择的<oper>运营商,若该运营商无效则当前 ME 不会搜索
-
其他可用运营商,直到<mode>=0 时 ME 才会重新注册网络。如果 ME 重启后仍然在<mode>=1
-
下且没有 RPLMN 的话,ME 会保持在不注册网络的状态直到使用命令改变成自动注册模式。
-
当<mode>=4 时,若手动选择运营商不可用,ME 会自动选择当前网络中可用运营商继续尝试注
-
册。
-
2. 该命令设置成功后会自动保存。
2.AT+COPS=?搜网
1.模块未插入SIM卡
我们想使用AT+COPS=?进行搜网,这时会有两种情况,一种是模块没插入卡,返回如下:

image.png
如上面所示,没插卡的时候返回的运营stat都是1,都是可以用运营商。
2.模块插入指定运营商的SIM卡
现在插入电信卡,在进行搜网操作

image.png
可以看到虽然返回了三个运营商,但是只有电信的stat是1,其他两个stat都是3,forbidden。
3.AT+COPS=设置网络
1.手动设网,已知要设置的网络
-
1.强制注销网络 AT+COPS=2,2
-
2.设置要使用的网络 AT+COPS=1,2,“46001”,2
-
3.设置查询格式 AT+COPS=3,2 数字型
-
4.查询当前运营商 AT+COPS?

image.png
2.手动设网,未知要设置的网络
-
1.设置格式 AT+COPS=3,0 长字符型
-
2.查询可用运营商 AT+COPS=?
-
3.强制注销网络 AT+COPS=2,2
-
4.设置要使用的网络 AT+COPS=1,2,“46001”,2
-
5.设置查询格式 AT+COPS=3,2 数字型
-
6.查询当前运营商 AT+COPS?

image.png
联通2G基本退网了


查询命令:AT+CGREG?
返回:+CGREG:
参数 取值 说明
n [0] 禁用网络注册非请求结果码+CGREG:
[1] 启用网络注册非请求结果码
[2] 启用网络注册和位置信息非请求结果码+CGREG: