本文共 42723 字,大约阅读时间需要 142 分钟。
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 定义拨号音长度为600ms6
响 应 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 码 响 应 OK15
命 令 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-CB16
命 令 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 发送消息521
响 应 +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 位字符 响 应 OK22
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-DTE29
之间的波特率 如果允许传送对于呼入或呼出的数据电话在最终结果码如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) OK30
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 设置自动波特率适配 响 应 OK31
注可能的波特率取值当中第一个值域表示自动检测波特率的范围第二个值域表示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/在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?
返回:+COPS:0AT+CNMI的使用
短消息类(class)的概念:根据指定储存的位置,短消息分为class 0 – 3四个类。也可以不指定类(no class),由ME按默认设置进行处理,存储到内存或者SIM卡中。在TPDU的TP-DCS字节中,当bit7-bit4为00x1, 01x1, 1111时,bit1-bit0指出消息所属类:“AT+CNMI”指令语法为
AT+CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]]
mode - 通知方式: 0 – 不通知TE。
0 – 储存到默认的内存位置(包括class 3)
在程序中具体实现时,使用mode=2, mt=1,比较简单。对所有类型的短消息,只要在收到ME送来的“+CMTI”通知后,用“AT+CMGR”指令读取消息内容就行了。TE与ME之间的通信过程,举例如下:
(初始化)
AT+CNMI=? AT+CNMI?
AT+CNMI=2,1 (设置为mode=2, mt=1)
OK AT+CNMI?
(过了一段时间,有一条消息到达)
+CMTI “ME”,8 AT+CMGR=8
AT+CMGD=8
还有一种方式mode=2, mt=2也很令人感兴趣。在这种方式下,除了class 2外,消息不存储,直接转发到TE。需要处理消息通知和内容两种情况,复杂一些。但如果发送方也由程序控制,可以只发no class或class 1的消息,这样不存储在接收方ME内存(一般是闪存,非易失性的)中,肯定能延长它的使用寿命。TE与ME之间的通信过程,举例如下:
AT+CNMI=2,2
(过了一段时间,有一条消息到达)
+CMT: ,26 0891683108200505F0040D91
参考资料:
·
·
AT命令:
GSM模块与计算机之间的通信协议是一些AT指令集,详见(AT_v8.6.pdf)。每个指令以AT+开头,以回车结尾。每个命令执行成功与否都有相应的返回。其他一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
控制符:
结束符(<CR>)十六进制的0x0D
发送符(<Ctrl/Z>)十六进制的0x1A
首先,要插入SIM卡(插卡时要断开电源),接好天线和电源,等信号指示灯开始闪动时表示模块已经开机,并且注册GSM网络成功。此时模块处于待机状态,当有用户拨号进来时,串口将有相应的提示信息。
要测试模块在此地的信号强度,可发送命令:AT+CSQ+<CR>(返回若含99则表示无信号)。
1.
0代表PDU模式;1代表Text模式。
2.
·
有短信息来时,不经过SIM卡,直接写串口(如果此时端口没打开,则该短信息有可能丢失)。
·
这是缺省设置,主动去读SIM卡中的短信息(建议使用该参数)。详细信息参见(AT_v8.6.pdf 96页)
3.
详细参数设置参见AT_v8.6.pdf
格式(只能发送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页
at+cmgf=0<CR>
OK
AT+CMGS=<PDU包的字节数(ddd:三位十进制格式)>//不包含SMSC的长度
<CR>
00
11
00
0D
91
68
<手机号码编码>
00
08
A7
<短信息内容编码后的字节数(ff:两位的十六进制)>
<短信息内容编码>
<Ctrl/Z>
TPDU的组成的几点说明
DA
例子:0D91683106318834F9 ; 8613601388439
0D(13)
91
683106318834F9
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] ;其中
发英文用Bit7编码dcs=00,编码前用户数据最大长度为160字节
发中文用UCS2编码dcs=08,编码前用户数据最大长度为70字
发送二进制数据用Bit8编码dcs=15,编码前用户数据最大长度为140字节
1.
以下例子
报文是
具体AT命令
0011000D91683106869031F5
2.
以下例子
具体AT命令
0011000D91685100010498F5
3.用Bit8编码发送二进制数据
以下例子
如果是通过SIM卡接收短信息,则应该先得到新的短信息到的通知信息(即监视串口的+CMTI<新短信息的索引号>)。
如果是不通过SIM卡接收短信息,则要实时处理串口的+CMT<短消息包结构>
AT+CMGR=1<CR>
按Text模式分解返回包
AT+CMGR=0<CR>
按PDU模式分解返回包
AT+CMGD=<短信息索引号><CR>
利用该命令可以读出SIM卡中未读的短信息。
AT+CMGL=”ALL”<CR>
AT+CMGL=0<CR>
使用好模块的关键的两个问题:
1.
2.
一、短信中心号码处理:用字符串 addr 表示
二、手机号码处理:用字符串 phone
三、短信息部分处理:用字符串 msg 表示
四、组合
五、所以要发送的内容为
六、如果返回不是ERROR,恭喜你,发送成功了^_^
转载地址:http://essci.baihongyu.com/