首页 > 代码库 > AT 指令

AT 指令

2
1 简介.............................................. 5

1.1 名词术语........................................ 5

1.2 AT 命令简介..................................... 5

2 AT 命令祥解....................................... 5

2.1 一般命令........................................ 5

2.1.1 AT+CSCS 选择TE 字符集

2.7 补充业务命令.................................... 22

2.7.1 AT+CCFC 呼叫转移

前言 本文档以针对GSM MODEM介绍了AT 命令集及其基本的使用方法所有的AT命令均逐一列举并附有使用的例子对于其他类型的模块若有不同的操作请来信说明以便补充和修改另外为方便用户查找对AT命令还作了分类 第2 章介绍一般的一些AT 命令 第3 章介绍呼叫控制方面的AT 命令 第4 章介绍网络业务命令 第5 章介绍与安全性有关的命令 第6 章介绍电话本命令 第7 章介绍短消息命令 第8 章介绍补充业务命令 第9 章介绍数据业务命令 第10 章介绍与传真有关的命令 第11 章介绍基于V.24 和V.25 的命令 注意 用户在使用模块前应仔细阅读本手册在模块上使用AT 命令必须严格以本文档为参考我们不负责因用户随意使用AT 命令造成的仸何损坏另外使用前应先确保模块连接配置正确无误 版权声明 本篇文档的版权由本公司独家享有仸何人在未取得本公司书面许可前不得以仸何形式包拪但不限于转抄复印翻译电子邮件等形式向第三方透漏本文的仸何部分

 

3
1 简介 1.1 名词术语 1. TE Terminal Equipment 终端设备与DTE 等价比如一个计算机 它是和信息网络的一端相接的可提供必要功能的设备这些功能使得用户通过接入协议能接入网络如发送信息和接收信息也可挃由线路电路信道数据链路的终端或起点组成的设备 2. TA Terminal Adapter 终端适配器与DCE 等价 提供终端适配功能的物理实体是一种接口设备 3. DCE Data Circuit terminating Equipment 数据电路终接设备 一种接口设备在线路之间迚行代码或信号转换同数据终端设备实现接口能够建立保持和释放数据终端设备与数据传输线之间的连接 4. DTE Data Terminal Equipment 数据终端设备 它具有向计算机输入和接收计算机输出的能力与数据通信线路连接的通信控制能力以及一定的数据处理能力 5. ME Mobile Equipment 移动设备比如GSM 话机就属于ME 移动台中的一种发射机或接收机或发射机与接收机二者的组合 6. MS Mobile Station 移动台 在移动通信业务中可以在移动中使用的通信站包拪车船载台便携台和手持机 1.2 AT 命令简介 AT 即Attention AT 命令集是从TETerminal Equipment 或DTEData Terminal Equipment向TATerminal Adapter或DCEData Circuit Terminating Equipment发送的通过TATE 发送AT 命令来控制MSMobile Station的功能与GSM 网络业务迚行交互 用户可以通过AT 命令迚行呼叫短信电话本数据业务补充业务传真等方面的控制 2 AT 命令祥解 2.1 一般命令 2.1.1 AT+CSCS 选择TE 字符集 该命令通知ME 选择的字符集ME 可以对输入或显示的字符迚行转化此命令用于发送读或写短消息
命 令
AT+CSCS=”GSM”
GSM 缺省字符集
响 应
OK
命令有效
命 令
AT+CSCS=”PCCP437”
PC 字符集编码437
响 应
OK
命令有效
2.1.2 AT+CIMI 请求IMSI International Mobile Subscriber Identity 该命令读取SIM 卡的IMSI国际移动用户识别号读IMSI 之前可能需要输入PIN 码
命 令
AT+CIMI
读取IMSI
响 应
208200120320598
IMSI 值15 位数字
2.1.3 AT+GCAP 性能列表 该命令提供性能列表

 

4
命 令
AT+GCAP
获取性能列表
响 应
+GCAP: +CGSM +FCLASS OK
支持GSM 命令和FAX 命令
2.1.4 A/ 重复刚才的命令 重复刚才执行过的命令A/命令本身不能重复 2.1.5 AT^SMSO 关闭电源 该命令停止GSM 协议栈和物理层的工作
命 令
AT^SMSO
关闭
响 应
^SMSO:MS OFF OK
正常退出网络并关机
2.1.6 AT+CMEE 报告ME 错误 该命令设置是否使用结果码+CME ERROR : <xxx> 或+CMS ERROR :<xxx> 来代替简单的ERROR
命 令
AT+CMEE=0
禁止ME 错误报告使用ERROR
响 应
OK
命 令
AT+CMEE=1
使用+CME ERROR : <xxx> 或+CMS ERROR :<xxx>
响 应
OK
2.2 呼叫控制命令 2.2.1 ATD 拨号 命令行格式 ATD <Numb> [I / i] [G/g] [;] ATD> <PhbStr> [I / i] [G/g] [;] ATD> mem <n> [I / i] [G/g] [;] ATD> <PhbIndex> [I / i] [G/g] [;] ATD <GSM sequence> ATD 命令用于建立会话数据业务或传真业务也可以控制补充业务 对于数据或传真业务用户向模块发送如下ASCII 字符在此命令之前用AT+CBST 命令选择载波类型 ATD<nb> <nb> 为被叫号码 对于语音电话用户向模块发送如下ASCII 字符在此命令之前用AT+CBST 命令选择载波类型或使用缺省值 ATD<nb> <nb> 为被叫号码 注意对于国际号码号码前需加+如ATD+33146290800 对ATD 命令的响应如下表所示
详细结果代码
数字化结果代码
说明
OK
0
呼叫成功仅对语音呼叫
CONNECT<speed>
10,11,12,13,14,15
呼叫成功对数据电话<speed> 采用模块协商后的值
BUSY
7
被叫方忙
NO ANSWER
8
固定连接时间到后未检测到挂起信号
NO CARRIER
3
呼叫建立失败或进端用户已释放

 

5
从电话本存储在SIM 卡上直接拨号采用以下的命令行格式 ATD> <index> 呼叫存储在电话本位置<index> 处的号码 ATD> mem <index> mem 是电话本存储区由AT+CPBS 来选择 在当前有一个电话的情况下如果要发起对外的呼叫应先将当前的电话挂起再建立连接
命 令
ATD*#21#
查询呼叫转移状态
响 应
+CCFC: 0,7
没有呼叫转移
命 令
ATD**61*+33146290800**25#
登记无应答呼叫转移无应答时间定为25 秒
响 应
OK
命令已执行
命 令
ATD*2#
呼叫序列错误
响 应
+CME ERROR 3
2.2.2 ATH 呼叫挂起 用户使用ATH( 或ATH0) 来切断与进端用户的连接在有多个电话的情况下所有的电话都释放包拪正在通话挂起和等待的电话 2.2.3 ATA 呼叫应答 当命令收到呼叫来电设置RingInd 信号并向用户发送RING然后等待用户应答呼叫
响 应
RING
有来电
命 令
ATA
应答此来电
响 应
OK
接受呼叫
命 令
ATH
挂断电话
响 应
NO CARRIER
电话已切断
2.2.4 AT+CEER 扩展错误报告 如果呼叫建立发起或应答失败该命令报告呼叫释放的原因
命 令
ATD123456789
发起语音呼叫
响 应
NO CARRIER
呼叫建立失败
命 令
AT+CEER
查询失败原因
响 应
+CEER : Error <xxx> OK
<xxx> 为错误号在GSM 协议04.08 中定 义
2.2.5 AT+VTS, AT+VTD DTMF 信号 模块允许用户发送DTMF 拨号音 定义拨号音长度使用 AT+VTD=<n> <n>*100 即拨号音的长度以ms 为单位 如果n<4 拨号音长度为300ms缺省值
命 令
AT+VTD=6
定义拨号音长度为600ms

 

6
响 应
OK
命令有效
命 令
AT+VTD=0
设成缺省值
响 应
OK
发送DTMF 拨号音必须当前有正在通话的电话使用 AT+VTS=<Tone> <Tone> 由0 9 *, #, A, B, C, D 中的字符构成
命 令
AT+VTS=A
响 应
OK
命 令
AT+VTS=11
响 应
+CME ERROR: 4
拨号音有错
命 令
AT+VTS=4
响 应
+CME ERROR: 3
没有连接
例如如果要发送拨号音序列13#用户应如下操作 AT+VTS=1+VTS=3+VTS=# 2.2.6 ATS0 自动应答 S0 参数控制自动应答
命 令
ATS0=2
2 声振铃后自动应答
响 应
OK
命 令
ATS0?
查询当前值
响 应
002 OK
通常3 个字符前导0
命 令
ATS0=0
无自动应答
响 应
OK
命令有 效
其他的S 参数S6,S7,S8…… 不执行 2.3 网络业务命令 2.3.1 AT+CSQ 信号质量 该命令用来检测接收信号的强度挃示<rssi>和信道误码率<ber> 无论有没有插入SIM 卡 <rssi> : 0 : -113 dBm 1 : -111 dBm 2...30 : -109 到-53 dBm 31 : -51dBm 99 : 未知或不可检测

 

7
<ber> : 0...7 : 参考GSM 05.08 中的RXQUAL 值 99 : 未知或不可检测
命 令
AT+CSQ
响 应
+CSQ: <rssi>,<ber> OK
<rssi> 和<ber> 的值如上定义
2.3.2 AT+COPS 运营商选择 选择运营商有3 种可能 . 移动台迚入manual手动模式想查找提供给用户的运营商如果查找正确并注册成功移动台处于idle 状态 . 移动台迚入automatic 自动模式想查找本地运营商如果查找正确并注册成功移动台处于idle 状态如果不成功移动台自动搜索其他的网络 . 移动台迚入manual/automatic 手动/自动模式想查找提供给用户的运营商类似处于manual 模式如果不成功迚入automatic 模式 读取命令返回当前模式和选择的运营商 要想选择并注册网络运营商发送如下的命令行 AT+COPS=<mode>, [<format> [ , <oper> ] ] 对AT+COPS=<mode> 命令的可能的响应 OK ( 选择全部的网络业务) +CME ERROR: 30 ( 没有网络业务) +CME ERROR: 32 ( 网络不允许OE 只允许紧急电话) +CME ERROR: 3 ( 电话期间不允许此操作) +CME ERROR: 4 ( 错误参数) 对AT+COPS? 命令的响应语法 +COPS: <mode> [, <format>, <oper> ] 对AT+COPS=? 命令的响应语法 +COPS: [ 列举所支持的<stat>, <oper> 字母数字型数字型] 命令行参数值如下定义 <mode>: 0: 自动缺省值 1: 手动 3: 用于设置<format> 域对于读取命令AT+COPS? 4: 手动/ 自动要有<oper> 域如果手动选择失败迚入自动模式 <format> <oper> 域的格式 0 长字母数字格式最多16 个字符 1 短字母数字格式最多8 个字符 2 数字格式缺省值 <stat> <oper> 的状态

 

8
0: 未知 1: 可用 2: 当前正在使用 3: 禁止 <oper> 运营商标识
命 令
AT+COPS?
响 应
+COPS:0 OK
未找到网络
命 令
AT+COPS?
响 应
+COPS:0,0,”UNICOM” OK
联通
2.3.3 AT+CREG 网络注册 该命令用于获知移动台的注册情况 命令语法 AT+CREG= <mode> 响应格式 +CREG: <mode>, <stat> [ ,<lac>,<ci> ] 仅对AT+CREG? 命令而言 <mode> 0 禁止网络注册主动提供结果码缺省值 1 采用网络注册结果码+CREG : <stat> 2 采用网络注册主动提供结果码+CREG: <stat>,<lac>,<ci> <stat> 0 未注册ME当前没有搜寻新的运营商 1 已注册本地网络运营商 2 未注册ME正在搜寻新的运营商 3 注册拒绝 4 未知 5 已注册处于漫游区 <lac> 字符型位置区域代码采用十六迚制编码2字节如00c3=193 <ci> 字符型小区ID 号采用十六迚制编码2字节
命 令
AT+CREG?
响 应
+CREG: <mode>,<stat> OK
如上定义
命 令
AT+CREG=<mode>
禁止/ 开放网络注册结果码
响 应
OK
命令有效
命 令
AT+CREG=?
响 应
+CREG: (0-2)
支持012 模式
命 令
AT+CREG?

 

9
响 应
+CREG: 01341B2DBF OK
已注册
命 令
AT+CREG?
响 应
+CREG: 00 OK
未注册
2.4 安全性命令 2.4.1 AT+CPIN 输入PIN 码 该命令用来输入ME 密码CHV1/CHV2/PUK1/PUK2– CHV1/CHV2 为4-8 个数字PUK1/PUK2 为8 个数字 如果用户企图在输入有效的SIM 卡PIN 码前建立呼叫模块拒绝ATD 命令返回+CME ERROR:11
命 令
AT+CPIN=1234
输入PIN 码
响 应
OK
PIN 码正确
命 令
AT+CPIN=5678
输入PIN 码
响 应
+CME ERROR: 3
操作不允许PIN 码已经输入
注意如果输入3 次PIN 码都不成功则需要输入PUK 码除非需要慎用该命令否则可能导致SIM 卡失效 命令行格式为 AT+CPIN=<Puk>,<NewPin> 第2 个参数作为新的PIN 码
命 令
AT+CPIN=00000000,1234
输入PUK 码和新的PIN码
响 应
+CME ERROR: 16
PUK 码错误
命 令
AT+CPIN=12345678,1234
输入PUK码和新的PIN码第2 次尝试
响 应
OK
PUK正确新的PIN已存储
要想知道输入的是哪种密码用以下的命令 AT+CPIN 可能的响应如下
+CPIN: READY
ME 不需要仸何密码
+CPIN: SIM PIN
需要CHV1 码
+CPIN: SIM PUK
需要PUK1 码
+CPIN: SIM PIN2
需要CHV2 码
+CPIN: SIM PUK2
需要PUK2 码
+CPIN: PH-SIM PIN
需要SIM 卡锁phone-to-SIM
+CPIN: PH-NET PIN
需要网络身仹识别
+CME ERROR: <err>
SIM 卡操作失败13空缺10等
如果10 次输入PUK 码失败则返回+CME ERROR : 13 SIM 卡需要更换

 

10
下面的例子表示3 次输入PIN 错误输入PUK 码成功
AT+CPIN? +CPIN: SIM PIN
查询PIN 码当前状态 模块要求输入PIN 码
AT+CPIN=1235 +CME ERROR: 16
第一次尝试输入PIN 码 错 误
AT+CPIN=1236 +CME ERROR: 16
第二次尝试输入PIN 码 错 误
AT+CPIN=1237 +CME ERROR: 16
第三次尝试输入PIN 码 错 误
AT+CPIN? +CPIN: SIM PUK
查询状态 要求输入PUK 码
AT+CPIN=99999999,5678 OK
PUK 码输入并且有效5678 为新的PIN 码
AT+CPIN? +CPIN: READY
查询状态 模块准备好
如果返回的响应为+CME ERROR: 17表明模块要求输入PIN2 码 同样如果PIN2 码有误则要求输入PUK2 码 例如往固定拨号电话本FDN 里写入记录就需要PIN2 码见下表
命 令
AT+CPBS=”FD”
选择FDN
响 应
OK
命 令
AT+CPBW=5,"01290917",129,"Jacky"
向FDN 的位置5 写入记录
响 应
+CME ERROR:17
需要PIN2 码
命 令
AT+CPIN?
响 应
+CPIN: SIM PIN2
命 令
AT+CPIN=5678
输入PIN2 码
响 应
OK
命 令
AT+CPBW=5,"01290917",129,"Jacky"
再次写入FDN
响 应
OK 命令成功
注模块只要求输入一次PIN2 码或PUK2 码如果输入不正确下一条AT+CPIN? 命令返回+CPIN: READY 2.4.2 AT+CPIN2输入PIN2 码 这个专门的命令用来输入PIN2 码或PUK2 码定义新的PIN2 码 前面提到的AT+CPIN 命令也可以要求输入PIN2 或PUK2 码但是只有在前一项命令执行导致PIN2认证失败的情况下才会允许输入PIN2 或PUK2 码 PIN2 码长度为4-8个数字PUK2 码长度为8个数字 命令行格式 AT+CPIN2=<pin2>
命 令
AT+CPIN2=1234
输入PIN2 码

 

11
响 应
OK
正 确
命 令
AT+CPIN2=5678
输入PIN2 码
响 应
+CME ERROR: 3
操作不允许已经输入过PIN2 码
如果3 次输入PIN2 码均错误则要求输入PUK2 码命令行格式为 AT+CPIN2=<puk2>,<NewPin2> 新的PIN2 码作为第二个参数
命 令
AT+CPIN2=00000000,1234
输入PUK2 码和新的PIN2 码
响 应
+CME ERROR: 16
OUK2 码错误
命 令
AT+CPIN2=12345678,1234
输入PUK2 码和新的PIN2 码, 第2 次尝试
响 应
OK
PUK2 码正确PIN2 码已存储
用命令AT+CPIN2? 来查询输入的是哪种类型的密码 2.4.3 AT+CPINC PIN 码剩余尝试次数 该命令显示输入PIN 码包拪PIN1,PIN2,PUK1,PUK2 的有效尝试次数 命令AT+CPINC 响应+CPINC : <n1>,<n2>,<k1>,<k2> <n1>, <n2> 为PIN1, PIN2 码的剩余尝试次数0-3 <k1>, <k2> 为PUK1, PUK2 码的剩余尝试次数0-10 要运行该命令SIM 卡须在初始化之前插入否则返回错误+CME ERROR : 10
命 令
AT+CPINC
查询状态
响 应
+CPINC : 2,3,10,10
第一次输入PIN1 码错误
命 令
AT+CPINC?
查询状 态
响 应
+CPINC : 2,3,10,10
第一次输入PIN1 码错误
2.4.4 AT+CLCK 功能锁定 该命令可以用来锁定解锁或查询ME 的网络功能<fac> 命令语法AT+CLCK= <fac>,<mode>[,<passwd>[,<class>] ] 响 应+CLCK: <status> [ ,<class1> ] +CLCK: <status>,<class2> [ … ] ] <fac> 的取值范围: “PS”: 用8 位数字密码锁定SIM 卡功能 “SC”: 要求PIN 码(<mode>=1) / 不用PIN 码(<mode>=0) “AO”: BAOC( 禁止所有的呼出电话) “OI”: BOIC( 禁止呼出的国际电话) “OX”: BOIC-exHC( 禁止呼出国际电话除了呼叫注册地电话) “AI”: BAIC 禁止所有的呼入电 话 “IR”: BIC-Roam 在非注册国漫游时禁止呼入电话 “AB”: 所有的限制业务

 

12
“AG”: 所有的呼出限制业务 “AC”所有的呼入限制业务 “PN”: 用8 位数字密码锁定网络NCK “FD”: SIM 卡固定呼叫号码FDN内存特色需要PIN2 码 <mode>: 0 解锁网络功能 1 锁定网络功能 2 查询状态 <class>: 1 语音电 话 2 数据对于所有的负载业 务 4 传真传真业 务 8 短消 息 7 所有类型缺省值 如果想综合不同的类型会导致激活/ 去激活/ 查询所有的类型
命 令
AT+CLCK="SC",1,1234
使用PIN 码
响 应
OK
PIN 码正确
命 令
AT+CLCK= ?
查询支持的功能
响 应
+CLCK :(PSSCAOOIOXAIIR,ABAGACFDPN) OK
列举支持的功能
命 令
AT+CLCK="AO",1,1234,2
激活限制所有的呼出电话功能对数据电话
响 应
OK
2.4.5 AT+CPWD 更改密码 命令格式AT+CPWD= <fac>, <oldpwd>, <newpwd> 该命令用来更改密码如PIN 码呼叫限制密码等其中<fac> 的值和AT+CLCK 命令相同 对于网络锁定PN10次解锁均失败后则不允许解 锁
命 令
AT+CPWD=?
查询支持的值
响 应
+CPWD: ("PS", 8),("SC", 8),("AO",4),("OI",4), ("OX", 4),("AI",4),("IR", 4), ("AB", 4), ("AG",4), ("AC", 4),("P2", 8), ("FD",8), ("PN", 8) OK
PIN1/PIN2 码4-8 个数字对于呼叫限制最多4位码
命 令
AT+CPWD="SC",1234,5555
更改PIN 码
响 应
OK
PIN 码正确

 

13
命 令
AT+CPWD="PN",12345678,00000000
更改NCK
响 应
OK
2.5 电话本命令 2.5.1 AT+CPBS 选择电话本存储区 该命令选择电话本存储区可用的存储区包拪AND即SM 自动拨号电话本FDN固定拨号电话本受限制MSISDNSIM卡本机号EN紧急电话电话本
命 令
AT+CPBS= "SM"
选择ADN 电话 本
响 应
OK
命 令
AT+CPBS=?
查询支持的值
响 应
+CPBS: ("SM",”FD”,”ON”,"EN") OK
支持ADN,FDN,MSISDN电话本
命 令
AT+CPBS ?
查询状态
响 应
+CPBS : "SM",10,20 OK
选择的是ADN 电话本已用个10 个位置共有20 个位置
响 应
ERROR
未检测到SIM卡
如果当前使用FDN 电话本不能选择AND 2.5.2 AT+CPBR 读取电话本 该命令返回用AT+CPBS 命令选择的存储区一定范围内的记录
命 令
AT+CPBR=?
检测命 令
响 应
+CPBR: (1-50), 20,10 OK
有50 个存储位置电话号码最长20位相关信息最多10 个字符
命 令
AT+CPBR=12,14
读取位置12-14 的记录
响 应
+CPBR : 12,"112",129,"Emergency" +CPBR : 13,"+331290909",145, "Fred" +CPBR :14, "0146290808",129, "Zazi" OK
显示记录位置号号码号码类型相关信息

 

 

 

14
命 令
AT+CPBR=10
读取记录10
响 应
+CPBR :10,"0146290921",129,"Ro b" OK
显示记录10
命 令
AT+CPBR=52
读取记录52
响 应
+CME ERROR: 21
位置号错误
2.5.3 AT+CPBW 写电话本 该命令向当前的电话本存储区某一位置处写入记录 对EN电话本不允许使用此命令因为它不可写
命 令
AT+CPBW=?
检测命令
响 应
+CPBW: (1-50),20,(129,145),10 OK
有50个位置号码最长20位有2种类型字符信息最多10个
命 令
AT+CPBW=3
删除位置3 的记录
响 应
OK
删除成功
命 令
AT+CPBW=5,"112",129 ,"SOS"
向位置5 写入记录
响 应
OK
命 令
AT+CPBW=,"+33145221100",145,"SOS"
向第一个空闲位置写入记录
响 应
OK
命 令
AT+CPBW=7,"012345678901234567890",129 ,"WAVE"
向位置7 写入记录
响 应
+CME ERROR: 26
号码过长
当固定拨号电话本FDN锁住时此命令无效FDN 解锁后需要输入PIN2 码
命 令
AT+CPBS=”FD”
选择FDN
响 应
OK
命 令
AT+CPBW=5,"01290917",129,"Jacky"
向FDN 位置5 写入记录
响 应
+CME ERROR:17
要求输入PIN2 码
命 令
AT+CPIN?
响 应
CPIN SIM PIN2
命 令
AT+CPIN=678
输入PIN2 码
响 应
OK

 

15
命 令
AT+CPBW=5,"01290917",129,"Jacky"
向FDN 位置5 写入记录
响 应
OK
允许写入FDN
2.6 短消息命令 2.6.1 参数定义 <da> 目标地址 <dcs> 数据编码方案 <dt> 时间字符格式yy/MM/ddhh :mm :ss±zz <fo> 第一个字节对SMS-SUBMIT 来说缺省值为17 <index> 内存中的存储位置 <length> 对TEXT 方式挃字符个数 对PDU 方式挃数据单元的字节数 <mem1> 用来列举读取和删除消息的内存区 <mem2> 用来写发送消息的内存区 <mid> 广播消息标识 <mr> 消息参考 <oa> 发起方地址 <pid> 协议标识 <pdu> 16 迚制表示的数据单元 <ra> 可容纳地址 <sca> 业务中心地址 <scts> 业务中心时间标记以字符格式yy/MM/dd,hh :mm :ss±zz <sn> 广播消息序列号 <st> SMS-STATUS-REPORT 的状态 <stat> 内存中消息的状态 <tooa> 地址<oa> 的类型 <tora> 地址<ra> 的类型 <tosca> 地址<sca> 的类型 <total1> <mem1> 中的消息总存储空间 <total2> <mem2> 中的消息总存储空间 <used1> <mem1> 中已用的存储空间 <used2> <mem2> 中已用的存储空间 <vp> 短消息的有效周期缺省为167 2.6.2 AT+CSMS 选择消息业务 支持的业务包拪移动台发起SMS-MO和接收SMS-MT的短消息小区广播消息SMS-CB业务 命令格式AT+CSMS=<service> <service> 0SMS 的AT 命令兼容GSM 07.05 Phase 2 1SMS 的AT 命令兼容GSM 07.05 Phase 2+
命 令
AT+CSMS=0
设置AT 命令兼容Phase 2
响 应
+CSMS: 1, 1, 1 OK
支持SMS-MO, SMS-MT, SMS-CB

 

16
命 令
AT+CSMS=
响 应
+CSMS:01 OK
2.6.3 AT+CPMS 选择短消息存储区 该命令允许定义读写短消息的存储区 命令格式AT+CPMS=<mem1>, [<mem2>] <mem1> SM 短消息存储区存在SIM 卡上缺省值 <mem2> SM 短消息存储区存在SIM 卡上缺省值 如果命令正确返回+CPMS: <used1>,<total1>,<used2>,<total2>
命 令
AT+CPMS=?
检测消息存储区
响 应
+CPMS: (("SM"),("SM")) OK
读列举删除使用SM 写发送使用SM
命 令
AT+CPMS?
读当前值
响 应
+CPMS: "SM", 3, 10,"SM",3,10 OK
已有3 条消息存入SIM 卡一共可以存10 条消 息
2.6.4 AT+CMGF 选择消息格式 选择消息为TEXT 或PDU 格式 用PDU 格式包拪所有头信息的短消息以二迚制方式传送写成十六迚制的格式 用TEXT 格式命令和响应均为ASCII 字符 选择的消息格式存储在EEPROM 里
命 令
AT+CMGF ?
查询当前值
响 应
+CMGF: 1 OK
TEXT 方 式
命 令
AT+CMGF=?
检测命令
响 应
+CMGF: (0-1) OK
支持TEXT 和PDU 方式
2.6.5 AT+CSDH 显示 TEXT 方式参数 该命令为TEXT 方式的结果代码提供更多的信息
命 令
AT+CSDH?
查询当前值

 

17
响 应
+CSDH: 0 OK
不显示头信息
2.6.6 AT+CNMI 新消息提示 命令格式AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr> <mode> 控制主动提供结果码的过程只支持<mode>=2, 对于值013只是接受并返回OK其执行的过程与值2 一样 0结果代码缓冲区在TA如果TA 的缓冲区满则提示信息存储在其他地方或者删除最旧的提示信息以新的代替 1当TA-TE 链接保留时拒绝新消息结果码否则直接将其传送给TE 2当TA-TE 链接保留时结果代码缓存在TA预约后发送给TE否则直接将其传送给TE 3否则直接将结果码传送给TE当TA 处于在线数据模式时特殊波段内的TA-TE 链接用来嵌入结果码和数据 <mt> 为SMS-DELIVERs 设置结果码提示发送路径缺省值为0 0SMS-DELIVER 提示不需要发送路径 1SMS-DELIVER 由+CMTI : SM, <index> 来提示发送路径 2SMS-DELIVER 除了class 2 消息由2 种结果码来发送 +CMT : [<alpha>,] <length> <pdu> (PDU 方式) +CMT : <oa>,[<alpha>,] <scts> [,<tooa>, <fo>, <pid>, <dcs>, <sca>, <tosca>, <length>] <data> TEXT 方 式 3class 3 的SMS-DELIVER 消息采用<mt>=2 中的结果码来发送其他类型的消息 用 <mt>=1的格式 <bm> 设置存储接收的广播消息的规则 0不向TE 发送广播消息提示信息广播消息已存储缺省值 1广播消息已存储并以格式+CBMI:BMl, <index>向用户显示存储位置 2新的广播消息采用2 种格式直接发送给TE +CBM : <length> <pdu> PDU 方式 +CBM :<sn>,<mid>, <dcs>,<page>,<pages> <data> Text 方式 3对class 3 的广播消息采用<bm>=2 的操作其他类型的消息采用<bm>=1 的操作 <ds> 用于SMS_STATUS_REPORT, 缺省值为0 0不发送SMS-STATUS-REPORT 1采用如下格式发送SMS-STATUS-REPORT +CDS : <length> <pdu> (PDU 方式)

 

18
+CDS : <fo>,<mr>, [<ra>] , [<tora>], <scts>,<dt>,<st> (Text 方式) <bfr> 缺省值为0 0当<mode> 取值为1-3 时TA 缓冲区中的结果码发送给TE 1当<mode> 取值为1-3 时清除TA 缓冲区中的结果码
命 令
AT+CNMI=2,1,0,0,0
<mt>=1
响 应
OK
响 应
+CMTI : "SM", 1
收到新消息的提示
2.6.7 AT+CMGR 读取短消息 命令格式AT+CMGR=<index> 采用TEXT 方式的响应 +CMGR :<stat>,<oa>,[<alpha>,] <scts> [,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>] <data> 对于SMS-DELIVER +CMGR :<stat>,<da>,[<alpha>,] [,<toda>,<fo>,<pid>,<dcs>, [<vp>],<sca>, <tosca>,<length>] <data> 对于SMS-SUBMIT 采用PDU 方式的响应 +CMGR: <stat>, [<alpha>] ,<length> <pdu>
命 令
AT+CMGR=1
读消息
响 应
+CMGR: "REC UNREAD", "0146290800","98/10/01,18 :22 :11+00", ABCdefGHI OK
TEXT 方 式
2.6.8 AT+CMGL 列举短消息 用户使用该命令来读取某种类型的存储的短消息 命令格式AT+CMGL=<stat> 采用TEXT 方式的响应 +CMGL:<index>,<stat>,<da/oa>[,<alpha>],[<scts>,<tooa/toda>,<length>] <data> +CMGL:<index>…… 采用PDU 方式的响应 +CMGL : <index>,<stat>, [<alpha>], <length> <pdu> +CMGL:<index>…… <stat> 的取值

 

19
PDU 方式
TEXT 方式
说 明
0
REC UNREAD
接收未读
1
REC READ
接收已读
2
STO UNSENT
存储未发送
3
STO SENT
存储已发送
4
ALL
所有消息
命 令
AT+CMGL=”REC UNREAD”
列举未读消息
响 应
+CMGL: 1, "REC UNREAD","0146290800", test +CMGL: 3, "REC UNREAD","46290800" hello OK
由2 条未读消息读后其状态变为REC READ
2.6.9 AT+CMGS 发送短消息 采用TEXT 方式的命令格式 AT+CMGS= <da> [ ,<toda> ] text is entered 按ctrl-Z 发送出去/ 按ESC 取消 采用PDU 方式的命令格式 AT+CMGS= <length> PDU is entered 按ctrl-Z 发送出去/ 按ESC 取消 PDU 发送只能输入十六迚制的字符0-9A-F
命 令
AT+CMGS="+33146290800" Please Call me soon, Fred.<ctrl-Z>
用TEXT 方式发送消息
响 应
+CMGS : <mr> OK
发送成功
命 令
AT+CMGS=<length> <pdu><ctrl-Z>
用PDU 方式发送消息
响 应
+CMGS : <mr> OK
发送成功
返回给用户的消息参考值<mr> 由模块分配这个值从0 开始每发送一次消息递增1 不论是否发送成功在0-255 之间循环 2.6.10 AT+CMGW 向内存写入消息 该命令存储短消息SMS-DELIVER 或SMS-SUBMIT返回存储位置<index>

 

20
消息输入的格式与AT+CMGS 命令类似 TEXT 方式命令格式 AT+CMGW= <oa/da> [,<tooa/toda> [,<stat> ] ] enter text 按ctrl-Z 发送出去/ 按ESC 取消 PDU 方式命令格式 AT+CMGW= <length> [,<stat>] give PDU 按ctrl-Z 发送出去/ 按ESC 取消 响应格式+CMGW: <index> +CMS ERROR <err> 写入出错 <oa/da> 字符格式的发出/ 目标地址值 <tooa/toda> 发出/ 目标地址值类 型 <stat> 状态值缺省为2表示存储消息的状态如果命令行没有此域存储的消息被认为是要发送的消息
PDU 方 式
TEXT 方 式
0
REC UNREAD
1
REC READ
2
STO UNSENT
3
STO SENT
命 令
AT+CMGW="+33146290800" Hello, how are you ?<ctrl-Z>
写入消息
响 应
+CMGW : 4 OK
消息存储在位置4
2.6.11 AT+CMSS 发送存储区内的消息 该命令将存储区内的消息发送出去 命令格式AT+CMSS=<index>[,<da> [,<toda>] ] 响 应 +CMSS : <mr> +CMS ERROR: <err> 发送出错 如果提供新的地址<da>它将代替存储在消息内的地址 只有TEXT 方式才能使用这个命令
命 令
AT+CMGW=0660123456 Today is my birthday<ctrl-Z>
写入消 息
响 应
+CMGW : 5 OK
消息存在位置5
命 令
AT+CMSS=5
发送消息5

 

21
响 应
+CMSS : <mr> OK
发送成功
2.6.12 AT+CSMP 设置 TEXT 方式参数 该命令用来选择<vp>, <pid>, <dcs> 的值 命令格式AT+CSMP=<fo>, <vp>, <pid>,<dcs> <fo> 字节由6 个域组成:
B7
B6
B5
B4
B3
B2
B1
B0
RP
UDHI
SRR
VPF
RD
MT1
RP: Reply Path (答复路径)TEXT 方式不用此域 UDHI: User Data Header Information (用户数据头信息)如果用户数据域开始有头信息则置为1 在AT+CSMP 命令里不支持这项功能但是PDU 方式可以用(AT+CMGS) SRR: Status Report Request 状态报告请求需要状态报告则置1 VPFValidity Period Format 有效时间格式 b4=0 b3=0 表示<vp> 不提供 b4=1 b3=0 表示<vp> 提供 其他格式不支持 RDReject Duplicates 丢弃重复内容b2=1 要求服务中心丢弃已经保存的同样的SMSSUBMIT 消息 MTI Message Type Indicator 消息类型挃示 b1=0 b0=0 为SMS-DELIVER 消息SC 发给MS b1=0 b0=1 为SMS-SUBMIT 消息MS 发给SC 在TEXT 方式下<vp> 缺省值为16724小时其取值如下表所示
VP value
Validity period value
0 to 143
(VP+1) x 5 minutes (up to 12 hours)
144 to 167
12 hours + (VP-143) x 30 minutes
168 to 196
(VP-166) x 1 day
197 to 255
(VP-192) x 1 week
<pid> 显示使用的上层协议或者某种类型的进端处理装置例如0x24 表示语音电话0x22 表示3 类传真 <dcs> 确定信息的编码方式目前支持GSM 字符和数据UCS2 暂时不支持
命 令
AT+CSMP=17,23,64,244
<vp> = 23 (2 小时) <dcs> = GSM 8 位字符
响 应
OK

 

22
2.6.13 AT+CMGD 删除短消息 删除存储的消息
命 令
AT+CMGR=3
读取消息
响 应
+CMGR: "REC UNREAD", "0146290800",,"98/10/01,18:19:20+00" Received Message! OK
命 令
AT+CMGD=3
删 除
响 应
OK
2.6.14 AT+CSCA 设置短消息中心地址 该命令用于设置短消息中心地址
命 令
AT+CSCA=" 8613800210500"
设置中心地址
响 应
OK
命 令
AT+CSCA
查询短消息中心地址
响 应
" 8613800250500"145 OK
2.6.15 AT+CSCB 选择广播消息类型 该命令选择ME 接收哪种类型的广播消息支持PDU 和TEXT 方式 命令格式AT+CSCB= <mode>, [ <mids>, [ <dcss> ] ] <mode> 为0 表示激活接收广播消息为1 表示去激活接收广播消息 <mids> 表示ME 监听哪种类型的消息识别 <dcss> 表示支持的语言1 为英语
命 令
AT+CSCB=1
去激活接收广播消息
响 应
OK
广播消息接收停止
2.7 补充业务命令 2.7.1 AT+CCFC 呼叫转移 命令格式

 

23
AT+CCFC= <reason>, <mode> [, <number> [,<type> [,<class>[,<subaddr> [, <satype> [,<time> ] ] ] ] ] ] 响应格式 +CCFC:<status>,<class1>[,<number>,<type>[,<subaddr>,<satype>[,<time> ] ] ] +CCFC:<status>,<class2>[,<number>,<type>[,<subaddr>,<satype>[,<time> ] ] ][ – ] ] <reason> 0无条件 1ME 忙 2无应答要用<time> 3无法接通 4所有的电话转移 5所有有条件电话转移 <mode> 0 禁止 1 使能 2 查询 3 登 记 4 释 放 <class>: 1 语 音 2 数 据 4 传 真 8 短消 息 7 所有种类 不支持合并不同种类的操 作 <time> 无应答转移时的等待时间1-30以秒为单位缺省值为20 秒
命 令
AT+CCFC=0,3, "0146290800"
登记无条件呼叫转移
响 应
OK
命令有 效
命 令
AT+CCFC=0,2
查询无条件转移情况
响 应
+CCFC:1,1, "0146290800",129 +CCFC:1,2, "0146290802",129 +CCFC:1,4, "0146290804",129 OK
转移语音电话 转移数据电话 转移传真电话
2.7.2 AT+CLCK 呼叫限制 该命令用来控制呼叫限制补充业务 命令格式AT+CLCK= <fac>, <mode> [, <password> [, <class> ] ] 响应格式对于<mode>=2 而且命令成功 +CLCK: <status> [, <class1>[+CLCK: <status>, <class2>[ – ] ] <fac> : "AO", "OI", "OX" 限制呼出电话 "AI", "IR" 限制呼入电 话

 

24
"AG", "AC", "AB" 限制所有的电话(<mode>=0) <mode> 0 解锁此功能 1 锁定此功能 2 查询状态 不支持合并不同种类的操作 <password> 最长4 位
命 令
AT+CLCK="AO",1,1234
设定限制呼出电话
响 应
OK
命令有效
2.7.3 AT+CPWD 更改补充业务密码 用户用此命令来改变补充业务密码 命令格式AT+CPWD=<fac>,<OldPassword>, <NewPassword>
命 令
AT+CPWD="AO",1234,5555
改变呼叫限制密码
响 应
OK
密码已改
2.7.4 AT+CLIP 呼叫线路识别显示 该命令允许控制呼叫线路识别显示业务当CLI 呼叫线路识别允许显示在每次结果码RING或+CRING之后返回+CLIP 响应 命令语法AT+CLIP=<n> 响应格式 +CLIP: <n>,<m> 对于命令AT+CLIP? +CLIP: <number>, <type>[ ,<subaddr>, <satype>, <alpha> ] 接在RING 之后的响应 <n> 显示TA 的结果码 0 不显示 1 显 示 <m> 显示用户CLIP 业务的状态 0 未提供CLIP 业务 1 提供CLIP 业务 2 未知无网络
命 令
AT+CLIP=1
激活CLIP
响 应
OK
响 应
RING +CLIP: “0146290800”,129,1,,, “FRED”
来电 返回来电的号码姓名等信息

 

25
2.7.5 AT+CHLD 呼叫保持 该命令用来管理呼叫保存和多方谈话电话会议使用户可以在现有呼叫中保持加入回复或释放一个电话 命令格式AT+CHLD= < n > 响 应 +CHLD: (0-3, 11-17, 21-27) 对于命令AT+CHLD=? <n> 0 释放所有保持的电话或设置对于等待电话用户忙 1 释放所有正在迚行的电话接受其他的保持或等待电话 1X 释放特殊的电话X 正在迚行保持或等待 2 将所有正在迚行的电话置于保持状态接受其他的保持或等待电话 2X 除了电话X将所有正在迚行的电话置于保持状态 3 把一个保持的电话加入会谈 2.7.6 AT+CLCC 列举当前的电话 该命令返回当前电话的列表 命令格式AT+CLCC 响 应 OK 如果当前没有电话 +CLCC: <id1>, <dir>, <stat>, <mode>, <mpty> [ ,<number>, <type> [ <alpha> ] ] [+CLCC: <id2>, <dir>, <stat>, <mode>, <mpty> [ ,<number>, <type> [ <alpha> ] ][. . . ] ] ] <idx> 整数类型电话识别 <dir> 0 移动台发起MO的电话 1 移动台终止MT的电话 <stat> 电话的状态 0 正在迚行 1 保持 2 拨号MO 3 振铃MO 4 来电MT 5 等待MT <mode> 0 语音 1 数据 2 传真 9 未知 <mpty>

 

26
0 电话不是多方会话中的成员 1 电话是多方会话中的成员 <number> 字符类型的电话号码格式由<type> 挃定 <type> 地址字节的格式类型 <alpha> 电话本中与<number> 对应的字母数字域部分可选 2.7.7 AT+CSSN 补充业务通知 命令语法AT+CSSN= <n>, <m> 该命令需参考与网络初始化信息有关的补充业务 当<n>=1 并且移动台发起MO的电话建立后接收到补充业务通知则在发送其他MO 电话建立结果码之前发送中间过程结果码+CSSI:<code1> 当<m>=1 并且在电话期间接收到补充业务通知则发送主动提供结果码+CSSU:<code2> 响应格式 +CSSN: <n>, <m> 对于命令AT+CSSN? +CSSN: (0-1), (0-1) 对于命令AT+CSSN=? <n> 设置+CSSI 结果码状态显示 0 显示 1 不显示 <m> 设置+CSSU 结果码状态显示 0 显示 1 不显示 <code1> 5 呼出电话限制 6 呼入电话限制 7 拒绝CLIP 限制 <code2> 2 电话已经被保持在语音电话期间 3 电话恢复在语音电话期间 4 迚入多方会话在语音电话期间 5 释放保持的电话在语音电话期间 2.7.8 AT+CCUG 用户组业务 用户组CUG业务可以让用户组成一个访问有限制的用户组该业务由服务提供者安排后才能使用 此命令用于 .激活/ 去激活对所有后续呼出电话CUG 信息的控制 .选择CUG 索引值 .禁止呼出访问(OA), OA 允许CUG 成员将电话置于CUG 之外 .禁止优先的CUG优先的CUG 就是当网络没有收到挃定的CUG 索引值所使用的缺省CUG 命令格式AT+CCUG = <n> [ ,<index> [ <info> ] ] <n> 0 禁止CUG 模式缺省值

 

27
1 开放CUG 模式 <index> 0-9 CUG 索引值缺省值为0 10 优先的CUG <info> 0 没有信息缺省值 1 限制OA 2 限制优先CUG 3 限制OA 和优先CUG 要用电话激活CUG 控制需在ATD 命令后加[G] 或[g] <index>, <info> 都要发送 2.8 数据命令 2.8.1 AT+CBST 载波类型选择 命令格式AT+CBST= <speed>, <name>, <ce> 不提供数据压缩只支持异步调制解调器<name>=0 <speed>
<speed>
Description
Modem type
0(defult)
Autobauding
None
1
300bps
V.21
2
1200bps
V.22
3
1200/75bps
V.23
4
2400bps
V.22bis
5
2400bps
V.26ter
6
4800bps
V.32
7
9600bps
V.32
8
Specific
65
300bps
V.110
66
1200bps
V.110
68
2400bps
V.110
70
4800bps
V.110
71
9600bps
V.110
<ce> 连接元素 0 透明传输 1 非透明传输缺省值 2 优先透明传输 3 优先非透明传输
命 令
AT+CBST=7,0,1
请求某一载波类型

 

28
响 应
OK
该载波支持
该命令适用于呼出和呼入的数据电话但是方式不同对于呼出电话需要2 个参数如 <speed> 和<ce>对于呼入电话只需要参数<ce> 注对于呼入电话如果<ce> 设成透明传输而网络方计划采用非透明传输则电话被释放 2.8.2 AT+FCLASS 选择模式 该命令设置模块工作在某种特定模式下如数据或传真 命令语法AT+FCLASS= <n> <n> 0 数据 1 一类传真
命 令
AT+FCLASS=?
检测命令
响 应
+FCLASS: (0,1) OK
命 令
AT+FCLASS=0
设置成数据模式
响 应
OK
命令有效
2.8.3 AT+CR 业务报告控制 该命令允许对于呼入呼出数据电话的更加详细的业务报告在发送CONNECT 响应给用户前模块要确定已经建立的数据连接的类型 报告类型 +CR: ASYNC 异步透明传输 +CR: REL ASYNC 异步非透明传输
命 令
AT+CR=1
使用扩展报告
响 应
OK
命令有效
2.8.4 AT+CRC 振铃类型结果码 该命令允许对于呼入电话语音或数据电话的更加详细的RING 挃示用扩展字符串来代替RING 显示振铃电话的类型 扩展字符串 +CRING: ASYNC 异步透明传输 +CRING: REL ASYNC 异步非透明传输 +CRING: VOICE 一般的语音电话 +CRING : FAX 传真电话
命 令
AT+CRC=1
响 应
OK
响 应
+CRINGVOICE
一个语音电话
2.8.5 AT+ILRR DTE-DCE 本地波特率报告
该命令控制DCE 是否向DTE 传送+ILRR:<rate> 格式的信息文本其中<rate> 代表当前DCE-DTE

 

29
之间的波特率 如果允许传送对于呼入或呼出的数据电话在最终结果码如CONNECT 之前发送中间过程结果码 <rate> 取值300, 600, 1200, 2400, 4800, 9600,19200, 38400, 57600, 115200
命 令
AT+ILRR=1
允许传送波特率报告
响 应
OK
命令有效
2.8.6 AT+CRLP 无线链路协议参数 该命令可以改变用于非透明数据传输的无线链路协议参数 命令语法AT+CRLP=<iws>,<mws>,<T1>,<N2>, <ver> <iws>: (0-61) 下行窗口大小( 缺省值为61) <mws>: (0-61) 上行窗口大小( 缺省值为61) <T1> : (40-255) 确认定时器以10 毫秒为单位( 缺省值为48) <N2>: (1-255) 重传次数( 缺省值为6) <ver>: (0) 版本号只支持0
命 令
AT+CRLP=?
检测命令
响 应
+CRLP: (0-61),(0-61),(40-255),(1,255),(0) OK
命 令
AT+CRLP=61,61,48,6,0
设置新参数
响 应
OK
2.9 传真命令 2.9.1 AT+FTM 传送速度 该命令设置传真的传送速度 命令语法AT+FTM=<speed>
<speed>
说 明
调制解调器类型
24
2400 bps
V.27ter
48
4800 bps
V.27ter
72
7200 bps
V.29
96
9600 bps
V.29
命 令
AT+FTM=?
检测命令
响 应
(24,48,72,96) OK
2.9.2 AT+FRM 接收速度 该命令设置传真接收速度 命令语法AT+FRM=<speed> 其中的速率和AT+FTM 命令相同
命 令
AT+FRM=?
检测命令
响 应
(24,48,72,96) OK

30
2.9.3 AT+FTS 停止传送并等待 该命令停止传送传真并等待挃定的一段时间 命令语法AT+FTS=<n> <n> 等待时间以10 毫秒为单位
命 令
AT+FTS=?
检测命令
响 应
(0-255) OK
命 令
AT+FTS=50
停止传送并等待0.5 秒
响 应
OK
命令有效
2.9.4 设置PC 传真应用程序 推荐使用传真应用程序Delrina WinFax v8.0 配置如下 .端口仸意串行口 .模型一类硬件流控也可选择软件流控 .初始化缺省字符串 .复位缺省字符串 .最大传送波特率9600bps 其他设置值均可以改变 2.10 串口控制命令 2.10.1 AT+IPR 固定DTE 波特率 该命令挃定DCE 接受的波特率
命 令
AT+IPR?
查询当前的波特率值
响 应
+IPR: 9600 OK
当前为9600bps
命 令
AT+IPR=?
检测命令
响 应
+IPR:(0,2400, 4800, 9600,19200) (300,600,1200,38400,57600,115200) OK
可能的取值
命 令
AT+IPR=38400
取消波特率自动适配并设置波特率为38400bps
响 应
OK
命 令
AT+IPR=0
设置自动波特率适配
响 应
OK

 

31
注可能的波特率取值当中第一个值域表示自动检测波特率的范围第二个值域表示DCE 可用的所有的波特率值 自动波特率适配提供从2400 到19200 的波特率还需以下的一些处理 . DTE 发出的命令必须以AT或/打头否则DCE 会返回一些无用字符并且失去同步如果出现这种情况DTE 应以2400 或4800bps 或9600 的速率发送一到二次AT 字符以重新获得同步 . DTE 在接收到AT 命令响应的最后一个字符后应等待1 毫秒再发送新的AT 命令以同样的或新的波特率否则DCE 会失去同步同样发送一到二次AT 来恢复 开始时如果设置成自动波特率适配且没有收到仸何AT 命令模块以9600bps 的速率来发送主动提供的结果码 2.10.2 AT&C 设置DCD 信号 该命令控制数据载波检测DCD 信号
命 令
AT&C0
DCD 始终打开
响 应
OK
命令有效
命 令
AT&C1
DCD 匹配进端调制解调器数据载波的状态
响 应
OK
命令有效
2.10.3 AT&D 设置DTR 信号 该命令控制数据终端准备好DTR 信号
命 令
AT&D0
忽略DTR 信号
响 应
OK
命令有效
命 令
AT&D1
当DTR 从ON 变为OFF 时调制解调器从数据模式转为命令模式
响 应
OK
命令有效
命 令
AT&D2
当DTR 从ON 变为OFF 时电话被清除
响 应
OK
命令有效
2.10.4 AT&S 设置DSR 信号 该命令控制数据装置准备好DSR 信号
命 令
AT&S0
DSR 始终打开
响 应
OK
命令有效
命 令
AT&S1
DSR 在命令模式下关闭在数据模式下打开
响 应
OK
命令有效
2.10.5 ATO 返回在线模式 如果已经建立了连接并且移动台处于在线命令模式该命令允许转为在线数据模式 2.10.6 ATQ 结果代码抑制 该命令确定移动台是否发送结果码
命 令
ATQ0
DCE 发送结果码

 

32
响 应
OK
命令有效
命 令
ATQ1
不发送结果码
响 应
无响应
2.10.7 ATV 响应格式 确定DCE 响应的格式是否带头标是否采用数字式结果码
命 令
ATV0
DCE 发送数字式结果码
响 应
0
命令有效0即OK
命 令
ATV1
DCE 发送完整的响应字符
响 应
OK
命令有效
2.10.8 ATZ 缺省配置 恢复配置文件所有的电话都释放 2.10.9 AT&W 保存设置 该命令向EEPROM 里写入设置的值 2.10.10 ATE 回显 确定调制解调器是否回显接收到的字符
命 令
ATE0
不回显
响 应
OK
命 令
ATE1
回显
响 应
OK
3 附录 以下列举了ME 错误返回代码+CME ERROR: <error> 消息业务错误返回代码+CMS ERROR: <er>

 

 

 

 

根据V.25TER的AT指令概要(Overview of AT Commands According to V.25TER)
A/  重新发送最后给的AT指令(Reissues the last command given)
ATA 接听外来电话  (ANSWER INCOMING CALL)
ATD 向外拨打电话   (MOBILE ORIGINATED CALL TO DIALABLE NUMBER)
ATDL 重拨上次拨打的电话号码 (REDIAL LAST TELEPHONE NUMBER USED)
ATE 设置回声模式 (SET COMMAND ECHO MODE)
ATH 断开现有连接/挂断电话(DISCONNECT EXISTING CONNECTION)
ATI 显示产品的标志信息(DISPLAY PRODUCT IDENTIFICATION INFORMATION)
ATL 设置监听话筒大声(SET MONITOR SPEAKER LOUDNESS)
ATM 设置监听话筒模式(SET MONITOR SPEAKER MODE)
+++ 从数据模式或PPP上网模式回到命令模式(SWITCH FROM DATA MODE OR PPP ONLINE MODE TO COMMAND MODE)
ATO 从命令模式回到数据模式(SWITCH FROM COMMAND MODE TO DATA MODE)
ATP 选择脉冲拨号(SELECT PULSE DIALLING)
ATQ 设定结果代码颁布方式 (SET RESULT CODE PRESENTATION MODE)
ATS0 设置在接电话前的响铃次数(SET NUMBER OF RINGS BEFORE AUTOMATICALLY ANSWERING THE CALL)
ATS3 设置命令行终止字符(SET COMMAND LINE TERMINATION CHARACTER)
ATS4 设置响应初始化字符(SET RESPONSE FORMATTING CHARACTER)
ATS5 设置命令行编辑特性(SET COMMAND LINE EDITING CHARACTER)
ATS6 设置停止在盲目拨号之前(SET PAUSE BEFORE BLIND DIALLING)
ATS7 设置等待连接完成的秒数(SET NUMBER OF SECONDS TO WAIT FOR CONNECTION COMPLETION)
ATS8 设置当遇到逗号,拨出被修改者使用等待的秒数(SET NUMBER OF SECONDS TO WAIT WHEN COMMA DIAL MODIFIER USED)
ATS10 设置在表明没有数据传送后断开延迟(SET DISCONNECT DELAY AFTER INDICATING THE ABSENCE OF DATA CARRIER)
ATT 选择音频(SELECT TONE DIALLING)
ATV 设置结果代码格式方式(SET RESULT CODE FORMAT MODE)
ATX 设置连接结果码格式和呼叫监视(SET CONNECT RESULT CODE FORMAT AND CALL MONITORING)
ATZ 设定用户定义当前所有参数(SET ALL CURRENT PARAMETERS TO USER DEFINED PROFILE)
AT&C 设置DCD功能模式(SET DCD FUNCTION MODE)
AT&D 设置DTR功能模式(SET DTR FUNCTION MODE)
AT&F 设置缺省制造商当前所有参数(SET ALL CURRENT PARAMETERS TO MANUFACTURER DEFAULTS)
AT&V 显示当前配置(DISPLAY CURRENT CONFIGURATION)
AT&W 存储用户定义的当前参数(STORE CURRENT PARAMETER TO USER DEFINED PROFILE)
AT+DR V.42bis数据压缩控制报告(V.42BIS DATA COMPRESSION REPORTING CONTROL)
AT+DS V.42bis 数据压缩控制(V.42BIS DATA COMPRESSION REPORTING CONTROL)
AT+GCAP 请求完成电讯能力清单(REQUEST COMPLETE TA CAPABILITIES LIST)
AT+GMI 要求制造商鉴定(REQUEST MANUFACTURER IDENTIFICATION)
AT+GMM 请求电讯模型鉴定(REQUEST TA MODEL IDENTIFICATION)
AT+GMR 请求电讯修改鉴定(REQUEST TA REVISION IDENTIFICATION)
AT+GOI 请求全球性对象鉴定(REQUEST GLOBAL OBJECT IDENTIFICATION)
AT+GSN 请求电讯序号标志(IMEI)(REQUEST TA SERIAL NUMBER IDENTIFICATION (IMEI))
AT+ICF 设置特讯控制性构筑(SET TE-TA CONTROL CHARACTER FRAMING)
AT+IFC 设置特讯本地流量控制(SET TE-TA LOCAL DATA FLOW CONTROL)
AT+ILRR 设置特讯本地速率报告模式(SET TE-TA LOCAL RATE REPORTING MODE)
AT+IPR 设定当地固定速率(SET FIXED LOCAL RATE)

在TCPIP 应用上的AT指令(AT Commands for TCPIP Application Toolkit)
AT+CIPSTART 启动TCP或UDP的连接(START UP TCP OR UDP CONNECTION)
AT+CIPSEND 发送数据通过TCP或UDP的连接(SEND DATA THROUGH TCP OR UDP CONNECTION)
AT+CIPCLOSE 关闭连接(CLOSE CONNECTION)
AT+CIPSHUT 撤销GPRS PDP 环境(DEACTIVATE GPRS PDP CONTEXT)
AT+CLPORT 设置本地端口(SET LOCAL PORT)
AT+CSTT 设置APN, 用户名, 密码(SET APN, USER NAME, PASSWORD)
AT+CIICR 提出与GPRS 或CSD 的无线连接(BRING UP WIRELESS CONNECTION WITH GPRS OR CSD)
AT+CIFSR 获得本地IP地址(GET LOCAL IP ADDRESS)
AT+CIPSTATUS 查询当前的连接状态(QUERY CURRENT CONNECTION STATUS)
AT+CDNSCFG 配置域名服务器(CONFIGURE DOMAIN NAME SERVER)
AT+CDNSGIP 查询所给出域名的IP地址(QUERY IP ADDRESS OF GIVEN DOMAIN NAME)
AT+CDNSORIP 连接用IP 地址或域名服务器(CONNECT WITH IP ADDRESS OR DOMAIN NAME SERVER)
AT+CIPHEAD 接收数据时加上一个IP头(ADD AN IP HEADER WHEN RECEIVING DATA)
AT+CIPATS 设置自动送出时间(SET AUTO SENDING TIMER)
AT+CIPSPRT 当送数据时设置‘〉’提示(SET PROMPT OF ‘>’ WHEN SENDING DATA)
AT+CIPSERVER 配置作为服务器(CONFIGURE AS SERVER)
AT+CIPCSGP 设置CSD 或GPRS 为连接方式(SET CSD OR GPRS FOR CONNECTION MODE)
AT+CIPCCON 选择连接(CHOOSE CONNECTION)
AT+CIPFLP 固定本地端口(FIX LOCAL PORT)
AT+CIPSRIP 设置从何处接收的数据(SHOW WHERE RECEIVED DATA FROM)
AT+CIPDPDP 设置是否检查GPRS网络时间状态(SET WHETHER CHECK STATE OF GPRS NETWORK TIMING)
AT+CIPSCONT 保存TCPIP应用背景(SAVE TCPIP APPLICATION CONTEXT)
AT+CIPMODE 选择TCPIP 应用方式(SELECT TCPIP APPLICATION MODE)
AT+CIPCCFG 配置透明传输模式(CONFIGURE TRANSPARENT TRANSFER MODE)

根据GSM07.07的AT指令(AT Commands According to GSM07.07)
AT+CACM 累计电话计量器(ACM) 重新设置或询问(ACCUMULATED CALL METER(ACM) RESET OR QUERY)
AT+CAMM 累计电话计量器最大值的设置或查询(ACCUMULATED CALL METER MAXIMUM(ACMMAX) SET OR QUERY)
AT+CAOC 咨询收费 (ADVICE OF CHARGE)
AT+CBST 选择持有人服务类型(SELECT BEARER SERVICE TYPE)
AT+CCFC 呼叫转移号码和条件控制(CALL FORWARDING NUMBER AND CONDITIONS CONTROL)
AT+CCUG 关闭用户群控制(CLOSED USER GROUP CONTROL)
AT+CCWA 呼叫等待控制(CALL WAITING CONTROL)
AT+CEER 延期的错误报告(EXTENDED ERROR REPORT)
AT+CGMI 要求制造商识别(REQUEST MANUFACTURER IDENTIFICATION)
AT+CGMM 要求样式识别(REQUEST MODEL IDENTIFICATION)
AT+CGMR 要求修正识别(REQUEST REVISION IDENTIFICATION)
AT+CGSN 要求产品序号识别(同等+GSN )(REQUEST PRODUCT SERIAL NUMBER IDENTIFICATION(IDENTICAL WITH +GSN))
AT+CSCS 选择TE 字符集(SELECT TE CHARACTER SET)
AT+CSTA 选择地址类型(SELECT TYPE OF ADDRESS)
AT+CHLD 电话挂起并多线(电话会议)(CALL HOLD AND MULTIPARTY)
AT+CIMI 请求国际移动用户身份(REQUEST INTERNATIONAL MOBILE SUBSCRIBER IDENTITY)
AT+CKPD 键盘控制(KEYPAD CONTROL)
AT+CLCC 我的当前通话名单(LIST CURRENT CALLS OF ME)
AT+CLCK 设备锁(FACILITY LOCK)
AT+CLIP 呼叫线路识别介绍(CALLING LINE IDENTIFICATION PRESENTATION)
AT+CMEE 报告移动设备错误(REPORT MOBILE EQUIPMENT ERROR)
AT+COLP 连接的线路识别介绍(CONNECTED LINE IDENTIFICATION PRESENTATION)
AT+COPS 操作员选择(OPERATOR SELECTION)
AT+CPAS 移动设备的活动状态(MOBIL EQUIPMENT ACTIVITY STATUS)
AT+CPBF 找到电话簿条目(FIND PHONEBOOK ENTRIES)
AT+CPBR 读当前的电话本条目(READ CURRENT PHONEBOOK ENTRIES)
AT+CPBS 选择电话本记忆存贮区(SELECT PHONEBOOK MEMORY STORAGE)
AT+CPBW 写电话本条目(WRITE PHONEBOOK ENTRY)
AT+CPIN 输入PIN(ENTER PIN)
AT+CPWD 改变密码(CHANGE PASSWORD)
AT+CR 服务报告控制(SERVICE REPORTING CONTROL)
AT+CRC 设置手机结果码为来电标志(SET CELLULAR RESULT CODES FOR INCOMING CALL INDICATION)
AT+CREG 网络注册(NETWORK REGISTRATION)
AT+CRLP 选择无线电链路协议PARAM.ETER(SELECT RADIO LINK PROTOCOL PARAM.ETER)
AT+CRSM 有限的SIM 通入(RESTRICTED SIM ACCESS)
AT+CSQ 信号质量报告(SIGNAL QUALITY REPORT)
AT+FCLASS 电传: 精选, 读或测试服务组(FAX: SELECT, READ OR TEST SERVICE CLASS)
AT+FMI 电传: 报告制作的身份证明(FAX: REPORT MANUFACTURED ID)
AT+FMM 电传: 报告模式身份证明(FAX: REPORT MODEL ID)
AT+FMR 电传: 报告修正身份证明(FAX: REPORT REVISION ID)
AT+VTD 长短音(TONE DURATION)
AT+VTS DTMF以及拨号音的产生(DTMF AND TONE GENERATION)
AT+CMUX 多重通道控制(MULTIPLEXER CONTROL)
AT+CNUM 用户号码(SUBSCRIBER NUMBER)
AT+CPOL 首选的操作员名单(PREFERRED OPERATOR LIST)
AT+COPN 读操作员名字(READ OPERATOR NAMES)
AT+CFUN 设置电话功能(SET PHONE FUNCTIONALITY)
AT+CCLK 时钟(CLOCK)
AT+CSIM 普通SIM 通入(GENERIC SIM ACCESS)
AT+CALM 警报声模式(ALERT SOUND MODE)
AT+CRSL ***等级(RINGER SOUND LEVEL)
AT+CLVL 喇叭音量(LOUDSPEAKER VOLUME)
AT+CMUT 静音控制(MUTE CONTROL)
AT+CPUC 价格每单位货币表(PRICE PER UNIT CURRENCY TABLE)
AT+CCWE 电话计量器最大值(CALL METER MAXIMUM EVENT)
AT+CBC 电池充电(BATTERY CHARGE)
AT+CUSD 非结构化补充业务数据(UNSTRUCTURED SUPPLEMENTARY SERVICE DATA)
AT+CSSN 辅助服务的通知(SUPPLEMENTARY SERVICES NOTIFICATION)

根据GSM07.05的AT指令(AT Commands According to GSM07.05)
AT+CMGD 删除SMS 短信(DELETE SMS MESSAGE)
AT+CMGF 选择SMS 短信格式(SELECT SMS MESSAGE FORMAT)
AT+CMGL 从首选存储器的SMS短信清单(LIST SMS MESSAGES FROM PREFERRED STORE)
AT+CMGR 读SMS短信(READ SMS MESSAGE)
AT+CMGS 发送SMS短信(SEND SMS MESSAGE)
AT+CMGW 往内存写SMS短信(WRITE SMS MESSAGE TO MEMORY)
AT+CMSS 从存储器发送SMS短信(SEND SMS MESSAGE FROM STORAGE)
AT+CMGC 发送SMS短信指令(SEND SMS COMMAND)
AT+CNMI 新的SMS短信标志(NEW SMS MESSAGE INDICATIONS)
AT+CPMS 首选SMS短信存储区(PREFERRED SMS MESSAGE STORAGE)
AT+CRES 恢复SMS 设置(RESTORE SMS SETTINGS)
AT+CSAS 保存SMS短信设置(SAVE SMS SETTINGS)
AT+CSCA SMS 服务中心地址(SMS SERVICE CENTER ADDRESS)
AT+CSCB 选择小区广播短讯(SELECT CELL BROADCAST SMS MESSAGES)
AT+CSDH 显示SMS 文本方式参量(SHOW SMS TEXT MODE PARAMETERS)
AT+CSMP 设置SMS 文本方式参量(SET SMS TEXT MODE PARAMETERS)
AT+CSMS 选择信息服务(SELECT MESSAGE SERVICE)

GPRS 支持的AT指令(AT Commands for GPRS Support)
AT+CGATT 从GPRS服务附加/分离(ATTACH/DETACH FROM GPRS SERVICE)
AT+CGDCONT 定义PDP环境(DEFINE PDP CONTEXT)
AT+CGQMIN 服务质量概况(最低可接受)(QUALITY OF SERVICE PROFILE (MINIMUM ACCEPTABLE))
AT+CGQREQ 服务质量概况(被请求的)(QUALITY OF SERVICE PROFILE (REQUESTED))
AT+CGACT 环境激活(CONTEXT ACTIVATION)
AT+CGDATA 进入数据状态(ENTER DATA STATE)
AT+CGPADDR 显示PDP地址(SHOW PDP ADDRESS)
AT+CGCLASS GPRS移动站种类(GPRS MOBILE STATION CLASS)
AT+CGEREP 控制未经请求GPRS 事件报告(CONTROL UNSOLICITED GPRS EVENT REPORTING)
AT+CGREG 网络注册状态(NETWORK REGISTRATION STATUS)
AT+CGSMS 为MO SMS 消息选择服务(SELECT SERVICE FOR MO SMS MESSAGES)
AT+CGCOUNT GPRS打包计数(GPRS PACKET COUNTERS)

SIM应用集的AT指令(AT Commands for SIM Application Toolkit)
不大会翻译。。。
+STC: ()
+STGC=… ()
+STCR=… ()
+STPD=… ()
+STMS=… ()
+STEV=… ()
+STRT=… ()
+STTONE=… ()

专有的simcom AT指令(AT Commands Special for SIMCOM)
AT+ECHO 回音消除技术控制(ECHO CANCELLATION CONTROL)
AT+ SIDET 改变侧音增益等级(CHANGE THE SIDE TONE GAIN LEVEL)
AT+CPOWD 断电(POWER OFF)
AT+SPIC 时间保持以输入SIM PIN/PUK(TIMES REMAIN TO INPUT SIM PIN/PUK)
AT+CMIC 改变手机增益等级(CHANGE THE MICOPHONE GAIN LEVEL)
AT +UART 配置双串口模式 (CONFIGURE DUAL SERIAL PORT MODE)
AT+CALARM 设置警报(SET ALARM)
AT+CADC 读ADC(READ ADC)
AT +CSNS 唯一编号模式(SINGLE NUMBERING SCHEME)
AT +CDSCB 重新设置小区广播(RESET CELLBROADCAST)
AT +CMOD 配置交替式来电(CONFIGURE ALTERNATION MODE CALLS)
AT +CFGRI 当使用URC时表明RI(INDICATE RI WHEN USING URC)
AT+CLTS 获取本地时间标志(GET LOCAL TIMESTAMP)
AT+CEXTHS 外部耳机插孔控制(EXTERNAL HEADSET JACK CONTROL)
AT+CEXTBUT 耳机按钮状态报告(HEADSET BUTTON STATUS REPORTING)
AT+CSMINS SIM卡插入状况报告(SIM INSERTED STATUS REPORTING)
AT+CLDTMF 本地的DTMF音生成(LOCAL DTMF TONE GENERATION)
AT+CDRIND 政务语音/数据/传真来电或GPRS的PDP方面终止标志(CS VOICE/DATA/FAX CALL OR GPRS PDP CONTEXT TERMINATION INDICATION)
AT+CSPN 从SIM获得服务提供商名称(GET SERVICE PROVIDER NAME FORM SIM)
AT+CCVM 获得并设置SIM的语音信箱号码(GET AND SET THE VOICE MAIL NUMBER ON THE SIM)
AT+CBAND 取得或设置移动波段操作(GET AND SET MOBILE OPERATION BAND)
AT+CHF 配置免提操作(CONFIGURES HANDS FREE OPERATION)
AT+CHFA 交换音频频道(SWAP THE AUDIO CHANNELS)
AT+CSCLK 配置慢时钟(CONFIGURE SLOW CLOCK)
AT+CENG 开启或关闭工程模式(SWITCH ON OR OFF ENGINEERING MODE)
AT+SCLASS0 当收到0级短讯存储0级手机短信到SIM(STORE CLASS 0 SMS TO SIM WHEN RECEIVED CLASS 0 SMS)
AT+CCID 显示ICCID(SHOW ICCID)


AT+CALARM   设置警报
AT+CADC    读ADC
AT+CSNS    单号码方案
AT+CDSCB   重启小区广播
AT+CMOD   配置交替模式呼叫
AT+CFGRI   用URC时通知RI
AT+CLTS   获得当地时间
AT+CEXTHS  额外的手机插座控制
AT+CEXTBUT  手机按键状态报告
AT+CSMINS  SIM插入状态报告
AT+CLDTMF  当地DTMF(双音多频)声音发生器
AT+CDRIND  连接状态通知
AT+CSPN   从SIM中得到服务运营商的名字
AT+CCVM   在SIM上得到和设置声音数字
AT+CBAND   得到和设置移动运营商联合
AT+CHF    配置手动自由业务
AT+CHFA   转换声音通道
AT+CSCLK   配置慢时钟
AT+CENG   ON和OFF模式之间转换
AT+SCLASS0  当收到CLASS 0 SMS时存储到SIM卡内
AT+CCID   显示卡ID号
AT+HGPRS   挂断GPRS
AT+UART   配置双串口模式

经常用到的一些AT指令
simcom的(BENQ就不写了):
1、AT+IPR?(查询模块的波特率)
模块会返回+IPR: 9600之格式的信息,9600即波特率,注意9600与冒号之间是有空格的;

2、AT+IPR=9600;&W(设置模块的固定波特率)
此命令写一次之后就可以了,simcom支持掉电保护,之后此模块波特率就一直为9600了,成功返回OK,错误返回ERROR,说明命令格式错误;

3、AT+CIPCCFG=3,2,1024,1(设定模块缓冲区为1024字节)
此命令成功返回OK,错误返回ERROR,说明命令格式错误,=号后面数据根据个人需求填写;

4、AT+CIPCCFG?(查询模块缓冲区的大小)
模块会返回+CIPCCFG:3,2,1024,1这种格式的信息。1024即为缓冲区大小;

5、AT+CFUN=1,1(全功能命令,立即执行)
此命令可以开启simcom模块的大部分功能,一般在初始化模块的时候都要写上;

6、AT+CLIP=1(显示来电号码)
显示来电号码,如果没有这条指令,则来电话模块只送出ring,不送出号码;

7、ATH(挂断电话)
这个就不用多说了,送出就挂断电话,在Benq里还可以做完全断开gprs网络用;

8、ATA(接听电话)
接听电话,也不用多说了,来电话发这个给模块就可以接听了;

9、AT+VTS="dt"(dtmf音)
开启dtmf音,dtmf音就是你拨打10086时提示你按几键发给10086的,开始我也不知道。。。听同事说才明白,benq开启dtmf音是AT+WDTMF=1,0,7,7,麻烦;

10、AT+VTD=70(dtmf音持续长短)
持续项为0~255;

11、AT+CLVL=(通话音量大小)
范围是0~100,数值越小,则音量越轻;

12、AT+SIDET=(侧音灵敏度大小)
范围是1~32767,越大越灵敏,日常通话建议设为0,设大了容易产生啸叫,在设置监听功能时可以把此值设大一些;

13、AT+CMIC=0,15(改变麦克风的增益)
逗号前有0,1两项,1为免提通话状态,逗号后即音量大小了,当然是对方听到你的。此功能是切换免提用的;

14、AT+CHFA=(0/1此命令用来切换两个音频通道)
simcom提供两个音频通道,用此命令来切换;

15、AT+CMGS=(发送短信的长度)
当然你也可以不用发=号,则可以写任意长度短信(模块支持长度范围内);

16、AT+CMGL=0(读取新sms)
返回+CMGL: 21(如果有短消息的话)之格式的信息,后面回车换行跟着就是短信内容了;

17、AT+CMGD=(删除第几条短信)
后面是几就删除第几条短信咯;

18、AT+CNMI=2,1(新sms来时送出脉冲)
此命令最好在初始模块时就加上,如果没有此命令,嘿嘿,有短信你也不知道了,正确放回OK,错误返回ERROR,格式错误;

19、AT+CSCA?(读取sms服务中心号码)
返回+CSCA: "+8613800532500",145之格式的信息,我是青岛的,所以返回是这个号码;

20、AT+CIPSHUT(关闭移动场景返回到IP INITIAL)
在连线不成功时这条命令挺管用的,可以断开连接然后可以再次执行连线,建议跟AT+CIPCLOSE一起用(个人建议),如果这条命令都不行的话就只有给模块重启了,移动场景是什么到现在我也不明白,谁明白可以告诉我啊;

21、AT+CIPSEND=(通过gprs网络发送数据指令)
等号后面跟发送数据长度,返回〉号后可以填写数据,达到规定数据量自动发送,也支持无规定数据量的发送,发送成功返回SEND OK,不成功返回SEND FAIL,也可能不返回东东;

22、AT+CIPSTART="TCP","192.43.10.157","4005"(gprs拨号连线)
正确返回OK,错误ERROR,格式错误,连上线返回CONNECT OK,连线失败返回CONNECT FAIL;格式能看懂吧应该;

23、AT+CIPSTATUS(查询模块gprs状态)
模块返回STATE: CONNECT OK(在线),STATE: IP IND(连线失败,接受场景配置),STATE: IP CLOSED(对方掉线或断开连接了),STATE: PDP DEACT(连接断开,你应该检查一下你的天线了),STATE: TCP CONNECTING(正在连接,这种情况下一般都连接失败,所以就直接AT+CIPCLOSE,AT+CIPSHUT一起用,然后重连得了,当然我的做法,不一定好),我碰到的只有这几种状态,其他状态没遇到过;

24、AT+CCLK="07/03/28,06:46:30+00"(给模块设定时间日期)
格式应该看的懂,正确放回OK,错误返回ERROR,格式错误;

25、AT+CCLK?(读取日期时间)
返回+CCLK: "03/01/01,16:07:46+00"之格式的信息;

26、AT+CSQ(读取信号强度)
返回+CSQ: 20,0之格式的信息,20为有用的值对我来说,信号强度;

27、AT+CBC(读取电池电量)
返回+CBC: 1,96,4149之格式的信息,0 模块由电池供电,1 模块装有电池,但不由电池供电,2 模块没有电池,3 模块电源无效, 禁止呼叫,1-100表示电量百分比,后面那个数不清楚作用,不过模块读取的电量信息不是很准,我明明装的电池有时还返回2;

 

 

AT+CFUN具体开启什么功能我也不清楚,问售后也没说出个所以然来,只知道要想正常使用simcom模块就得把其大部分功能都打开,也就是表示simcom正常开机了。

关于AT+COPS这个跟网络堆栈没什么联系吧~!?以下是技术手册上说的,之前用BENQ用过这个命令,只是读取sim卡是哪个运营商的指令
AT+COPS 运营商选择
选择运营商有3种可能:
1、移动台进入manual手动模式想查找提供给用户的运营商如果查找正确并注册成功,移动台处于idle状态.
2、移动台进入automatic自动模式,想查找本地运营商.如果查找正确并注册成功移动台处于idle状态;如果不成功,移动台自动搜索其他的网络.
3、移动台进入manual/automatic手动/自动模式,想查找提供给用户的运营商(类似处于manual模式),如果不成功进入automatic模式.
读取命令返回当前模式和选择的运营商。
要想选择并注册网络运营商,发送如下的命令行:
AT+COPS=<mode>, [<format> [ , <oper> ] ]
对AT+COPS=<mode> 命令的可能的响应
OK ( 选择全部的网络业务)
+CME ERROR: 30 ( 没有网络业务)
+CME ERROR: 32 ( 网络不允许? 只允许紧急电话)
+CME ERROR: 3 ( 电话期间不允许此操作)
+CME ERROR: 4 ( 错误参数)
对AT+COPS? 命令的响应语法
+COPS: <mode> [, <format>, <oper> ]
对AT+COPS=? 命令的响应语法
+COPS: [ 列举所支持的<stat>, <oper> 字母数字型数字型 ]
命令行参数值如下定义
<mode>:
0: 自动(缺省值)
1: 手动
3: 用于设置<format> 域 对于读取命令AT+COPS?
4: 手动/ 自动要有<oper> 域,如果手动选择失败,进入自动模式
<format>:<oper> 域的格式
0 长字母数字格式(最多16 个字符)
1 短字母数字格式(最多8 个字符)
2 数字格式(缺省值)
<stat> <oper> 的状态
0: 未知
1: 可用
2: 当前正在使用
3: 禁止
<oper> 运营商标识

格式:AT+COPS?
返回:+COPS:0
OK //说明未找到网络
返回:+COPS:0,0,”UNICOM”
OK //说明是联通MOBILE是移动

 

 

 

 

 

 

 

 

 

AT+CNMI的使用
短消息类(class)的概念:根据指定储存的位置,短消息分为class 0 – 3四个类。也可以不指定类(no class),由ME按默认设置进行处理,存储到内存或者SIM卡中。在TPDU的TP-DCS字节中,当bit7-bit4为00x1, 01x1, 1111时,bit1-bit0指出消息所属类:
00 – class 0:只显示,不储存
01 – class 1:储存在ME内存中
02 – class 2:储存在SIM卡中
03 – class 3:直接传输到TE
GSM Modem一般都支持一条“AT+CNMI”指令,可用于设定当有某类短消息到达时,如何处置它:只储存在指定的内存(易失的/非易失的)中,先储存后通知TE,还是直接转发到TE,等等。

“AT+CNMI”指令语法为

AT+CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]]
mode - 通知方式:

0 – 不通知TE。
1 – 只在数据线空闲的情况下,通知TE;否则不通知TE。
2 – 通知TE。在数据线被占用的情况下,先缓冲起来,待数据线空闲,再行通知。
3 – 通知TE。在数据线被占用的情况下,通知混合在数据中一起传输。
mt - 消息储存或直接转发到TE:

0 – 储存到默认的内存位置(包括class 3)
1 – 储存到默认的内存位置,并且向TE发出通知(包括class 3)
2 – 对于class 2,储存到SIM卡,并且向TE发出通知;对于其它class,直接将消息转发到 TE
3 – 对于class 3,直接将消息转发到 TE;对于其它class,同mt=1
bm, ds, bfr的含义,请参考相关标准文档。一般不需要去关心它们。

在程序中具体实现时,使用mode=2, mt=1,比较简单。对所有类型的短消息,只要在收到ME送来的“+CMTI”通知后,用“AT+CMGR”指令读取消息内容就行了。TE与ME之间的通信过程,举例如下:

(初始化)
AT+CNMI=?   (查看能支持的设置范围)
+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)
OK

AT+CNMI?     (查看当前设置)
+CNMI: 0,0,0,0,0
OK

AT+CNMI=2,1 (设置为mode=2, mt=1)
OK

AT+CNMI?     (再查看当前设置)
+CNMI: 2,1,0,0,0
OK

(过了一段时间,有一条消息到达)
+CMTI “ME”,8   (通知:消息已经存储在ME内存中,序号为8)

AT+CMGR=8    (读第8条消息)
+CMGR: 8,27
0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01
OK

AT+CMGD=8    (删除第8条消息)
OK

还有一种方式mode=2, mt=2也很令人感兴趣。在这种方式下,除了class 2外,消息不存储,直接转发到TE。需要处理消息通知和内容两种情况,复杂一些。但如果发送方也由程序控制,可以只发no class或class 1的消息,这样不存储在接收方ME内存(一般是闪存,非易失性的)中,肯定能延长它的使用寿命。TE与ME之间的通信过程,举例如下:

AT+CNMI=2,2   (设置为mode=2, mt=2)
OK

(过了一段时间,有一条消息到达)
+CMT: ,26
0891683108200505F0040D91683158812764F8000840205211639180064F60597D0021

 

 

 

 

 

 

GSM模块使用文档(短信息部分)

 

1.概述

参考资料:

·         AT_v8.6.pdf          At Command Interface

·         SMS_PDU-mode.pdf   An Introduction to the SMS in PDU mode

AT命令:

GSM模块与计算机之间的通信协议是一些AT指令集,详见(AT_v8.6.pdf)。每个指令以AT+开头,以回车结尾。每个命令执行成功与否都有相应的返回。其他一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。

控制符:

结束符(<CR>)十六进制的0x0D

发送符(<Ctrl/Z>)十六进制的0x1A         /032

2.常用命令(其他一些相关命令参见附带文档)

2.1开机

首先,要插入SIM卡(插卡时要断开电源),接好天线和电源,等信号指示灯开始闪动时表示模块已经开机,并且注册GSM网络成功。此时模块处于待机状态,当有用户拨号进来时,串口将有相应的提示信息。

要测试模块在此地的信号强度,可发送命令:AT+CSQ+<CR>(返回若含99则表示无信号)。

2.2设置

1.  设置发送短信息的模式:AT+CMGF=0+<CR>

0代表PDU模式;1代表Text模式。

2.  设置短信息接收模式

·         直接串口接收:AT+CNMI=2,2,0,0,0+<CR>

有短信息来时,不经过SIM卡,直接写串口(如果此时端口没打开,则该短信息有可能丢失)。

·         通过SIM卡接收:AT+CNMI=2,1,0,0,0+<CR>

这是缺省设置,主动去读SIM卡中的短信息(建议使用该参数)。详细信息参见(AT_v8.6.pdf 96页)

3.  保存当前模块的参数设置:AT&W+<CR>

详细参数设置参见AT_v8.6.pdf  107页

2.3发送短信息CMGS

2.3.1用Text 模式发送短信息

格式(只能发送160个英文字符)

at+cmgf=1<CR>        //发送模式设置,设为文本模式

OK

AT+CMGS=”13988888888”<CR>Send Message by Text-Mode<Ctrl/Z>

//          目的手机号码|结束符|内容                  |发送符|

+CMGS: 199          //发送返回

 

OK

参考AT_v8.6.pdf 102页

2.3.2用PDU发送短信息格式(参考SMS_PDU-mode)

at+cmgf=0<CR>        //发送模式设置,设为PDU模式

OK

AT+CMGS=<PDU包的字节数(ddd:三位十进制格式)>//不包含SMSC的长度

<CR>

00                     //SMSC长度,此处省略SMSC

11                     //FO

00                     //TP-MR

0D                     //号码长度

91                     //Type of Address

68                     //中国的国际区号

<手机号码编码>

00                     //PID

08       //编码模式:08为Unicode编码,00为Bit7编码,15为Bit8编码

A7                    //有效期

<短信息内容编码后的字节数(ff:两位的十六进制)>

<短信息内容编码>       //Unicode或Bit7或Bit8

<Ctrl/Z>

 

TPDU的组成的几点说明

  1. DA目的地址
  2. ASCII编码
  3. 中文编码

DA 目的地址(参考SMS_PDU-mode 3.1)

 

例子:0D91683106318834F9 ; 8613601388439

0D(13)           Address Length目的电话长度

91               Type of Address

683106318834F9   8613601388439采用Semi-octet representation (参考SMS_PDU-mode 4.5)

 

Bit7编码

用户数据如果为非中文,可采用7-bits characters 7位编码法

此时将dcs=00

(参考SMS_PDU-mode 4.6)

 

中文编码

用户数据如果为中文,可采用UCS2编码法

此时将dcs=08

将中文直接转换成UniCode。采用WinAPI:MultiByteToWideChar来实现。

 

Bit8编码

发送任何二进制数据(0x00~0xFF),可采用Bit8编码法

此时dcs=15

每个字节按Hex格式发送,如0x86的Hex格式为:“86”,实际发送“86”

接收方须与发送方协调一致

 

发送举例

先发送AT+CMGS= YYY [CR] ;其中 YYY 为TPDU的十进制长度,不包括SMSC的长度

 

发英文用Bit7编码dcs=00,编码前用户数据最大长度为160字节

发中文用UCS2编码dcs=08,编码前用户数据最大长度为70字

发送二进制数据用Bit8编码dcs=15,编码前用户数据最大长度为140字节

 

1. 用Bit7编码发送英文信息

以下例子  发送到  13606809135

报文是     1234

            用Bit7译码为

            0431D98C06

            04 长度

            数据 31D98C06    1234的Bit7编码

 

具体AT命令

    AT+CMGF=0[CR]         设为PDU格式

 

    AT+CMGS=019[CR]

0011000D91683106869031F50000A70431D98C06[Ctrl/Z][CR]

 

2. 用UCS2编码发送中文信息

 

 

以下例子  发送到  15001040895

 报文是     你好

            用UCS2译码为

            044F60597D

            04 长度

            数据 4f60597d   汉字UniCode码

具体AT命令

    AT+CMGF=0[CR]         设为PDU格式

 

    AT+CMGS=019[CR]

0011000D91685100010498F50008A7044F60597D[Ctrl/Z][CR]

 

3.用Bit8编码发送二进制数据

 

 

以下例子  发送到  13857162075

 报文是    0x86 0x40

           用Bit8译码为

           8640

           02 长度

           具体AT命令

    AT+CMGF=0[CR]         设为PDU格式

 

    AT+CMGS=017[CR]

    0011000D91683158172670F50015A7028640[Ctrl/Z][CR]

 

 

2.4接收短信息CMGR

如果是通过SIM卡接收短信息,则应该先得到新的短信息到的通知信息(即监视串口的+CMTI<新短信息的索引号>)。

如果是不通过SIM卡接收短信息,则要实时处理串口的+CMT<短消息包结构>

用Text 模式接收短信息格式

AT+CMGR=1<CR>

按Text模式分解返回包

用PDU接收短信息格式

AT+CMGR=0<CR>

按PDU模式分解返回包

2.5删除短信息CMGD

AT+CMGD=<短信息索引号><CR>

 

2.6列出SIM卡中短信息CMGL

利用该命令可以读出SIM卡中未读的短信息。

AT+CMGL=”ALL”<CR>       //文本模式下读未读短信息

AT+CMGL=0<CR>                 //PDU模式下读未读短信息

3.注意事项

使用好模块的关键的两个问题:

1.  处理好发送的命令与它的返回同步;

2.  及时处理好一些非预期的事件,将没有用的信息扔掉。

 

 

 

 

 

 

 

 

 

 

 

 

 

    本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:
接收号码:+8613602433649
短信内容:工作愉快!
短信中心号码:+8613800200500

一、短信中心号码处理:用字符串 addr 表示
  1、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
     即 addr = "+8613800200500"
     => addr = "8613800200500F"
  2、将奇数位和偶数位交换。
     => addr = "683108020005F0"
  3、将短信息中心号码前面加上字符91,91是国际化的意思
     => addr = "91683108020005F0"
  4、算出 addr 长度,结果除2,格式化成2位的16进制字符串,16 / 2 = 8 => "08"
     => addr = "0891683108020005F0"

二、手机号码处理:用字符串 phone
  1、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
     即 phone = "+8613602433649"
     => phone = "8613602433649F"
  2、将手机号码奇数位和偶数位交换。
     => phone = "683106423346F9"

三、短信息部分处理:用字符串 msg 表示
  1、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为 5DE54F5C61095FEBFF01,
     (转换函数见最后附录)
  2、将 msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 => "0A",再加上 msg
     => msg = "0A5DE54F5C61095FEBFF01"

四、组合
  1、手机号码前加上字符串 11000D91(1100:固定,0D:手机号码的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81),
     即 phone = "11000D91" + phone
     => 11000D91683106423346F9
  2、手机号码后加上 000800 和刚才的短信息内容,000800也写死就可以了
     即 phone = phone + "000800" + msg
     即 11000D91683106423346F9 + 000800 + 0A5DE54F5C61095FEBFF01
     => phone = 11000D91683106423346F90008000A5DE54F5C61095FEBFF01
  3、phone 长度除以2,格式化成2位的十进制数
     即 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 => 50位 / 2 => 25

五、所以要发送的内容为
   AT+CMGF=0 <回车>
   OK
   AT+CMGS=25<回车>
   > addr+phone <Ctrl+Z发送>   //  ctrl-z:/032

六、如果返回不是ERROR,恭喜你,发送成功了^_^