2012-08-26 | #1 (permalink) |
论坛管理员
注册日期: 2009-06-30
帖子: 861
|
短消息调试笔记
// AT+CSMS 选择消息业务
AT+CSMS=0 // SMS 的AT 命令兼容GSM 07.05 Phase 2 AT+CSMS=1 // SMS 的AT 命令兼容GSM 07.05 Phase 2+ // AT+CMGF 选择消息格式 AT+CMGF? // 查询当前值 AT+CMGF=0 // PDU: 0 AT+CMGF=1 // TXT: 1 // AT+CMGL 列举短消息,AT+CMGF=0 PDU模式 AT+CMGL=0 // 接收未读 AT+CMGL=1 // 接收已读 AT+CMGL=2 // 存储未发送 AT+CMGL=3 // 存储已发送 AT+CMGL=4 // 所有消息 // AT+CMGL 列举短消息,AT+CMGF=1 TXT模式,等于号后前的是字符串 AT+CMGL="REC UNREAD" // 接收未读 AT+CMGL="REC READ" // 接收已读 AT+CMGL="STO UNSENT" // 存储未发送 AT+CMGL="STO SENT" // 存储已发送 AT+CMGL="ALL" // 所有消息 // 删除信息 AT+CMGD=1,4 // 删除sim卡上已发的和未发的全部短信 AT+CMGD=1,2 // 删除已读短信 如果你发送一条短信后回复信息 +CNTI:"SM",3 这个3表示的是你现在这个卡上的第三条信息 此时发送AT+CMGR=3就可以读取这一条短信 如果要删除这一条短信的话发送AT+CMGD=3 下面是一些AT+CMGD指令的作用 AT+CMGD=1,0 The message from the preferred message storage at the location 1 is deleted AT+CMGD=1,1 ALL READ messages from the preferred message storage are deleted AT+CMGD=1,2 ALL READ messages and SENT mobile originated messages are deleted AT+CMGD=1,3 ALL READ, SENT and UNSENT messages are deleted AT+CMGD=1,4 ALL messages are deleted // 将消息提示该为中断方式。这样在收到短信的时候内容直接用+CMT: 提示出来,不存卡。 AT+CNMI=2,2,0,0,0 // 用TEXT模式发短信息流程 AT+CMGF=1\r // TXT模式 //AT+CSCA="+8613800512500" // 写信息中心号码 AT+CSCS="GSM"\r // 字符集 AT+CMGS="+8618913179619"\r // 写手机号 >HELLO // 发"HELLO" 1A // (ctrl-Z)以十六进制发送 // 用PDU模式发短信息流程 AT+CMGF=0\r // pdu模式 AT+CSCS="UCS2"\r // 字符集 AT+CMGS= // 之后跟的是从短消息中心之后的所有字符长度 0891683108502105F0 // 短信息地址 11000D91683155845570F1 // 对方手机号 000800 // 14 06 // 要发送的数据长度 4F60597D0021 // 数据 0x1A // (ctrl-Z)以十六进制发送 注: 在发送短信时,SMSC地址可以不要,用00代替。 如发送“你好!”到13554855071.代码如下: AT+CMGF=0\r AT+CSCS="UCS2"\r AT+CMGS=21\r “0011000D91683155845570F1000801064F60597D0021” 0x1A ******************************************************************************** 0891683108502105F011000D91683155845570F1000801064F60597D0021 0891683108502105F0 // 短信息地址 11000D91683155845570F1 000800 //14 06 4F60597D0021 什么是PDU Mode? 它是发送或接收手机SMS消息的一种方法。消息正文经过十六进制编码后进行传送; PDU发送只能输入十六进制的字符0-9 A-F. 基本的PDU命令: ->读取短消息 AT+CMGR: ->列举短消息 AT+CMGL: ->发送短消息 AT+CMGS: PDU接收短信格式: +CMT: ,26 08 // 地址信息的长度 91 // SMSC地址格式(TON/NPI),用国际格式号码(在前面加‘+’) 683108500145F1 // SMSC地址13800510541 24 // 基本参数(TP-MTI/MMS/RP) 0D // 回复地址数字个数,共13个十进制数(不包括91和‘F’) 91 // 回复地址格式(TON/NPI) 688119139716F9 // 回复地址(TP-RA) 00 // 协议标识(TP-PID) 08 // 用户信息编码方式(TP-DCS) 90809281543223 // 时间戳(TP-SCTS) 090829 18 45 23 32 06 // 用户信息长度(TP-UDL) 4F60597D0021 // 用户信息(TP-UD) ********************************************************************************/ 短消息相关指令(转) 短消息相关指令 CSMS 选择信息服务 0兼容GSM07.05 Phase 2 version 4.7.0 1兼容GSM07.05 Phase 2+ version AT+CSMS=0 +CSMS: 1,1,1 AT+CSMS=1 +CSMS: 1,1,1 SMS-MO SMS-MT SMS-CB(小区广播) 全部支持 CNMA 新SMS收到确认 CPMS 首选的SMS存储区 SM为SIM卡区,BM为内存区,缺省为SM AT+CPMS=? +CPMS: (("SM","BM"),("SM")) AT+CPMS="SM"+CPMS: 3,25,3,25 AT+CPMS="BM"+CPMS: 0,20,3,25 (1)为读和删的信息 (2)为写和发的信息 已用1,总共1,已用2,总共2 CMGF 设置SMS编码方式(1文本格式,0为PDU格式) CSAS 存储CSCA与CSMP的相关信息于E2PROM CRES 从E2PROM中恢复相关信息 CSDH 显示文本格式参数(1为显示,0为不显示) AT+CDSH=1 +CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3 AAA AT+CSDH=0 +CMT: "+8613501154105",,"01/09/12,18:04:48+32" AAA 相关的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL 左边两个例子同样是发送和接收AAA为内容的SMS CNMI SMS的输出方式 AT+CNMI=2,2,0,0,0 +CMT: "+8613501154105",,"01/09/13,11:04:09+32" AAA AT+CNMI=2,1,0,0,0 +CMTI: "SM",4 其中第2位决定SMS直接输出还是保存于"SM"中 左边两个例子同样是发送和接收AAA为内容的SMS,为0则不接收 CMGR 读取存于"SM"中的信息 AT+CMGR=1+CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32" X000E8 AT+CMGR=4+CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32" AAA AT+CMGR=2+CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32" DCS format error at+cmgf=0;+cmgr=2 +CMGR: 1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 读取第1条 来源13501154102 读取第4条 来源13501154105 读取第2条时遇到DCS格式错误,转成PDU格式后,读出数据 来源13501154105 CMGL 信息列表,(+CMGL:索引,类型,,长度<内容>) AT+CMGL=4+CMGL: 1,1,,26 0891683108100005F0040D91683105114501F20000108041016474230658180C56C401 +CMGL: 2,1,,26 0891683108100005F0040D91683105114501F500081080326123432306004400460044 +CMGL: 3,1,,32 0891683108100005F0040D91683105114501F50008108032617492230C003400310032003100320033 +CMGL: 4,1,,23 0891683108100005F0040D91683105114501F500001090311120602303C16010 类型 "REC UNREAD" 0 "REC READ" 1 "STO UNSENT" 2 "STO SENT" 3 "ALL" 4 CMGS 发送SMS,可按文本方式或PDU方式 AT+CMGF=1OK AT+CMGS=13501154105> AAA<^Z> +CMGS: 204 OK AT+CMGF=0OK AT+CMGS=18 >0011000D91683105114501F500040103414141<^Z> +CMGS: 205 OK 按文本方式发送 按PDU方式发送 CMGW 写信息到存储器 AT+CMGW="+8613501154105"> AAA<^Z> +CMGW: 5 OK AT+CMGW=<lengh><CR><pdu><^Z> 按文本方式写入 按PDU方式写入 CMSS 从存储器中发送信息 AT+CMSS=5+CMSS: 207 OK +CMT: ,23 0891683108100005F0040D91683105114501F500001090316163932303C16010 AT+CMSS=5,+8613501154102+CMSS: 210 OK 发送存储器中的第5条信息 收到信息 也可将第5条信息发送到指定用户 CSMP 设置文本格式参数,+CSMP:<fo><vp><pid><dcs> AT+CSMP? +CSMP: 1,167,0,0 OK 其中为信息有效期,167默认 0-143:(VP+1)*5分钟 143-167:12小时+(VP-143)*30分钟 168-196:(VP-166)*1天 197-255:(VP-192)*1周 CMGD 删除信息,AT+CMGD=<索引> CSCA 短信息服务中心号码 at+csca? +CSCA: "+8613800100500",145 OK 北京短信息服务中心号码 CSCB 选择小区广播信息类型 WCBM 小区广播信息标识符 WMSC 信息状态更正 WMGO 信息重写
__________________
让世界倾听我们的笛声 |