// 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 信息重写
 
 

GSM 短信相关AT指令(转)的更多相关文章

  1. 短信相关的AT指令以及信令

    本文链接:https://blog.csdn.net/sjz4860402/article/details/78552756 此次的短信AT指令和信令从以下几个方面介绍: 一 . 短信AT指令的格式二 ...

  2. GSM短信侦听的便宜方案

    侦听GSM短信常用的是OsmocomBB + C118方案,主要是用luca/gsmmap分支.使用ccch_scan这个程序可以把通信封装成GSMTAP发给本机,然后用WireShark接收GSMT ...

  3. iPhone电话与短信相关代码小结

    关于iPhone上电话与短信相关功能,做一个简单总结: 使用公开SDK能实现的功能: (1)获取和操作通讯录.使用函数 ABAddressBookRequestAccessWithCompletion ...

  4. Moto C118 基于 Osmocom-BB 和 OpenBTS 搭建小型GSM短信基站

    此文章PDF文档下载地址:点击下载 0x00 写在前面 大家应该都听说过摩托罗拉C118配合Osmocom-BB实现GSM网络下的短信拦截功能吧,在14年左右新出了一种玩法就是Osmocom-BB的s ...

  5. SIM800c收发短信及AT指令

    一.sim800设备安装 淘宝搜索sim800,差不多就是这么个样子 购买之后,安装手机卡,卡的缺口向外插入,会有卡住的感觉,再按一下卡会弹出 安装usb转串口驱动(CH340),设备的指示灯先是快闪 ...

  6. C# 短信猫(SMS cat) 操作源码开发经验

    我曾经开发的某项目需要使用短信猫模块,要求使用C#编程操作.能独立使用的动态链接库之一就是网上流传的sms.dll,但它的功能较少,不能满足需求,鉴于一时找不到合适的完整代码,我深入研究了短信协议,借 ...

  7. Android短彩信源码解析-短信发送流程(三)

    3.短信pdu的压缩与封装 相关文章: ------------------------------------------------------------- 1.短信发送上层逻辑 2.短信发送f ...

  8. VB短信猫开发包,支持超长短信

    一.短信猫开发包(长短信/异步调用)说明:   短信猫开发包以OCX控件的形式提供,支持Windows平台下常用的开发工具:如VB.VB.net.VC++.Power Builder.C#.DELPH ...

  9. 树莓派.GPRS.短信接收器

    起因 曾经用过西门子出的短信猫, 好处是直接有SDK开发包, 不会硬件开发也能直接使用 缺点也是明显的, 就是只支持Windows系统, 另外就是在Windows下工作很不稳定, 隔开几天就会出现收不 ...

随机推荐

  1. 同一服务器配置DataGuard

    实验环境:1.虚拟机VMware Server 1.0.62.操作系统:ora10g@linux5 /home/oracle$ cat /etc/redhat-releaseRed Hat Enter ...

  2. Tkprof工具详解一

      注明:一些文章是从别人的博客中转载过来的,方便自己以后查阅:在数据库生成的oracle trace文件中,可读性是比较差的,此时可使用tkprof工具来格式化trace文件,tkprof是一个命令 ...

  3. [荐]javascript Date format(js日期格式化)

    cnblog:http://www.cnblogs.com/zhangpengshou/archive/2012/07/19/2599053.html 方法一: // 对Date的扩展,将 Date  ...

  4. VC 快速创建多层文件夹

    BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); 这个是大多数用户都知道的 ...

  5. MFC 丢失MSVCR120D.dll 丢失mfc120ud.dll

  6. Java学习随笔3:遍历文件夹及文件的读取和写入

    import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...

  7. DSP using Matlab 示例Example2.2

    a. n = -2:10; x = [1:7,6:-1:1]; % generate x(n) [x11,n11] = sigshift(x,n,5); [x12,n12] = sigshift(x, ...

  8. hdu 5459 Jesus Is Here (费波纳茨递推)

    Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others)Total Submission ...

  9. MVC 异常处理机制

    方法一 :web.config配置文件的 system.web 接点下添加,若为On则不会将异常信息反馈到用户,而是友好的跳转到error.htm <customErrors mode=&quo ...

  10. HDU4758 Walk Through Squares(AC自动机+状压DP)

    题目大概说有个n×m的格子,有两种走法,每种走法都是一个包含D或R的序列,D表示向下走R表示向右走.问从左上角走到右下角的走法有多少种走法包含那两种走法. D要走n次,R要走m次,容易想到用AC自动机 ...