短信模块指定集
一、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〉〈0X0A〉
test〈0X0D〉〈0X0A〉
+CMGL: 2,"REC READ","+8613925912925",,"06/04/26,11:51:56+00"〈0X0D〉〈0X0A〉
ABC123abc〈0X0D〉〈0X0A〉
+CMGL: 4,"REC READ","+8613786498894",,"06/04/26,15:53:18+32"〈0X0D〉〈0X0A〉
62114ECA59298FD8521A5F00673A3002521A521A624D770B5230FF0C8FD88BF462119ED14EBAFF01〈0X0D〉〈0X0A〉
+CMGL: 6,"REC READ","+8613786498894",,"06/04/26,16:36:01+32"〈0X0D〉〈0X0A〉
6CA16709554AFF0C600E4E484E86FF1F6211662F521A521A624D5F00673AFF0C624D770B52304F6076844FE1606FFF0C65F695F45E948BE5662F521A624D76843002〈0X0D〉〈0X0A〉〈0X0D〉〈0X0A〉
OK〈0X0D〉〈0X0A〉
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"
54E5FF1A57285E724EC04E484E86FF1F4F6090A359298BF48FC7661F671F59298981625375358BDD
7ED962117684FF0C522B5FD88BB030024E0D8FC773B057284E0D898162533002
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 = "683129952129F5"
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〉〈0X0A〉
返回:OK〈0X0D〉〈0X0A〉
命令:at+cmgf=1〈0X0D〉〈0X0A〉
返回:at+cmgf=1〈0X0D〉〈0X0D〉〈0X0A〉
返回:OK〈0X0D〈0x0A〉
命令:at+cmgl="rec unread"〈0X0D〉〈0X0A〉
返回:at+cmgl="rec unread"〈0X0D〉〈0X0D〉〈0X0A〉
返回:+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〉〈0X0A〉
返回:OK〈0X0D〈0x0A〉
命令:AT+CREG? 〈0X0D〉〈0X0A〉
返回:AT+CREG? 〈0X0D〉〈0X0D〉〈0X0A〉
返回:+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 ———————————〈0X4F〉〈0X4B〉
回车换行 ————————〈0X0D〉〈0X0A〉
“ ———————————〈0X22〉
+ ————————————〈0X2B〉
ERROR ——————————〈0X45〉〈0X52〉〈0X52〉〈0X4F〉〈0X52〉
,—————————————〈0X2C〉
:—————————————〈0X3A〉
AT—————————————〈0X61〉〈0X74〉
Ctrl+Z————————————〈0X1A〉