短信模块指定集
一、AT+CMGL List SMS messages from preferred store
A、读取所有的信息:
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+cmgl=”all” //****读取所有信息。
成功返回OK否则ERROR
具体格式如下:
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X0A〉
返回:OK 〈0X0D〈0X0A〉
命令:at+cmgl=”all” 〈0X0D〉〈0X0A〉
返回:at+cmgl=”all” 〈0X0D〉〈0X0D〉〈0X0A〉
+CMGL: 1,"REC READ","+8613702936376",," 05/12/16 ,09:04:43+00"〈0X0D〉〈0X 0A 〉
test〈0X0D〉〈0X 0A 〉
+CMGL: 2,"REC READ","+8613925912925",," 06/04/26 ,11:51:56+00"〈0X0D〉〈0X 0A 〉
ABC123abc〈0X0D〉〈0X 0A 〉
+CMGL: 4,"REC READ","+8613786498894",," 06/04/26 ,15:53:18+32"〈0X0D〉〈0X 0A 〉
62114ECA59298FD 8521A 5F 00673A 3002521A 521A 624D770B5230FF 0C 8FD88BF462119ED14EBAFF01〈0X0D〉〈0X 0A 〉
+CMGL: 6,"REC READ","+8613786498894",," 06/04/26 ,16:36:01+32"〈0X0D〉〈0X 0A 〉
6CA16709554AFF 0C 600E4E484E86FF 1F 6211662F 521A 521A 624D 5F 00673AFF 0C 624D770B 52304F 6076844FE1606FFF 0C 65F 695F 45E948BE 5662F 521A 624D76843002〈0X0D〉〈0X 0A 〉〈0X0D〉〈0X 0A 〉
OK〈0X0D〉〈0X 0A 〉
B、读取未读的信息
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+cmgl=” rec unread” //****读取未读的信息。
成功返回OK否则ERROR
C、读取已读的信息
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+cmgl=” rec read” //****读取已读的信息。
成功返回OK否则ERROR
二、AT+CMGR Read SMS message
A、读取信息:
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+cmgl=x //****从X存储区读短消息。
三、AT+CMGD Delete SMS message
A、删除信息:
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+cmgd= 数字号 //****删除信息。
成功返回OK否则ERROR
EXEMPLE:
+CMGL: 44,"REC READ","+8613187338091",," 06/03/19 ,10:17:30+02"
54E5FF 1A 57285E724EC04E484E86FF 1F 4F 6090A 359298BF48FC 7661F 671F 59298981625375358BDD
7ED962117684FF 0C 522B5FD88BB030024E0D8FC773B057284E0D898162533002
OK
+CMGL:使用的命令集
44:数字号
REC READ:此为信息的状态(1、REC READ(已读) 2、REC UNREAD(未读))
+8613187338091:手机号码
06/03/19 ,10:17:30+02:为日期,时间,时区(format: .yy/MM/dd,hh:mm:ss±zz., where characters indicate year (two last digits),month, day, hour, minutes, seconds and time zone.)
红色区:为内容
OK:读取成功的返回值
四、AT+CSCA SMS service centre address(设置短信中心号码)
A、设置短信中心号码:
第一步:at+cmgf=1
如果返回ok则继续。
第二步:at+ccsca=”短信中心号码” (比如+8613800757500)
成功返回OK否则ERROR
五、AT+CMGS Send SMS message (发送信息)
A、发送信息:
第一步:at+cmgf=1
如果返回ok则继续。
第二步:AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z结束并发送。
注:此只能发送英文与数字
六、AT+CMGS Send SMS message (发送信息)
A、查询设备:
命令:AT<回车>
返回:OK
命令:AT+CGMI<回车>
返回:SIEMENS
返回:OK
命令:AT+CGMM<回车>
返回:MC35i
返回:OK
B、设定Unicode模式
命令:AT+CMGF=0<回车>
返回:OK
C、发送“呵呵!!”到手机13925912925
命令:AT+CMGS=23<回车>
返回:>
输入内容:0031000D91683129952129F50008A7085475547500210021(输完后按CTRL+Z发送)
返回:+CMGS:252
返回:OK
前缀 目标手机号码 附加码 内容编码长度 内容编码
0031000D91 683129952129F5 0008A7 08 5475547500210021(呵呵!!)
目标手机号码:
1、 将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
即 phone = "+8613925912925"
=> phone = "8613925912925F"
2、将手机号码奇数位和偶数位交换。
=> phone = " 683129952129F 5"
5475547500210021:其中5475为“呵”,0021为“!”。
七、重要的指令
ATZ;E 回车 Echo OFF
ATZ;E1回车 Echo ON
AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明)
AT+COPS?回车 表示SIM卡是否被网络接受
AT+COPS=?回车 显示所有可用的网络。
AT+CREG?回车(是否网络注册)
AT+IPR=2400 回车(改变RS232口的速率至2400bps)
AT&W 回车 (保存已改参数)
输入PIN码:AT+CPIN=“xxxx”
八、实例(读取未读数据)
命令:at 〈0X0D〉〈0X0A〉
返回:at 〈0X0D〉〈0X0D〉〈0X 0A 〉
返回:OK〈0X0D〉〈0X0A〉
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X 0A 〉
返回:OK〈0X0D〈0x0A〉
命令:at+cmgl="rec unread"〈0X0D〉〈0X0A〉
返回:at+cmgl="rec unread"〈0X0D〉〈0X0D〉〈0X 0A 〉
返回:+CMGL: 2,"REC UNREAD","+8613925912925",," 06/04/26 ,11:51:56+00"〈0X0D〉〈0X0A〉
返回:ABC123abc〈0X0D〉〈0X0A〉〈0X0D〉〈0X0A〉
返回:OK〈0X0D〉〈0X0A〉
否则:
返回:at+cmgl="rec unread" 〈0X0D〉〈0X0D〉〈0X0A〉
返回:ERROR〈0X0D〉〈0X0A〉
注:“〈〉”内为不可见的十六进进数。
十、网络是否注册(AT+CREG?)
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X 0A 〉
返回:OK〈0X0D〈0x0A〉
命令:AT+CREG? 〈0X0D〉〈0X0A〉
返回:AT+CREG? 〈0X0D〉〈0X0D〉〈0X 0A 〉
返回:+CREG: 0,1〈0X0D〉〈0X0A〉〈0X0D〉〈0X0A〉
注:( 2脱网, 1注册, 0状态不明)
返回:OK〈0X0D〉〈0X0A〉
注:“〈〉”内为不可见的十六进进数。
十一、SIM卡是否被网络接受(AT+COPS?)
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X0A〉
返回:OK〈0X0D〉〈0X0A〉
命令:at+cops?〈0X0D〉〈0X0A〉
返回:+COPS: 0,0,"China Mobile"〈0X0D〉〈0X0A〉〈0X0D〉〈0X0A〉
返回:OK〈0X0D〉〈0X0A〉
注:“〈〉”内为不可见的十六进进数。
十二、显示所有可用的网络(AT+COPS=?)
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X0A〉
返回:OK〈0X0D〉〈0X0A〉
命令:at+cops=? 〈0X0D〉〈0X0D〉〈0X0A〉
返回:+COPS: (2,"China Mobile",,"46000"),(3,"China Unicom",,"46001"),,(0-4),(0,2)〈0X0D〉〈0X0A〉〈0X0D〉〈0X0A〉
注:0 unknown----------------------------------不知道
1 operator available----------------------操作可用
2 current operator (registered) -------当前操作已经注册
3 forbidden operator--------------------------禁止操作
(0-4):0 - 4 see write command
(0,2):0 - 2 see write command
返回:OK〈0X0D〉〈0X0A〉
注:“〈〉”内为不可见的十六进进数。
OK ———————————〈0X 4F 〉〈0X4B〉
回车换行 ————————〈0X0D〉〈0X0A〉
“ ———————————〈0X22〉
+ ————————————〈0X2B〉
ERROR ——————————〈0X45〉〈0X52〉〈0X52〉〈0X 4F 〉〈0X52〉
,—————————————〈0X2C〉
:—————————————〈0X3A〉
AT—————————————〈0X61〉〈0X74〉
Ctrl+Z————————————〈0X 1A 〉