// 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. SQL Server 2014 BI新特性(二)结合Data Explorer和GeoFlow进行数据分析

    Data Explorer和GeoFlow作为Excel的新功能被写入到即将发布的SQL Server 2014当中.Data Explorer为业务分析人员提供了一种数据获取,整理以及组织的方式,通 ...

  2. Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式

    当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left ...

  3. 攻城狮在路上(壹) Hibernate(十二)--- Hibernate的检索策略

    本文依旧以Customer类和Order类进行说明.一.引言: Hibernate检索Customer对象时立即检索与之关联的Order对象,这种检索策略为立即检索策略.立即检索策略存在两大不足: A ...

  4. linux文本模式下使用PPPOE拨号ADSL上网的方法

    转自:http://www.myzhenai.com.cn/post/945.html 转载请注明出处:http://www.myzhenai.com/thread-15431-1-1.html ht ...

  5. Android三种基本的加载网络图片方式(转)

    Android三种基本的加载网络图片方式,包括普通加载网络方式.用ImageLoader加载图片.用Volley加载图片. 1. [代码]普通加载网络方式 ? 1 2 3 4 5 6 7 8 9 10 ...

  6. java导出word的6种方式(复制来的文章)

    来自: http://www.cnblogs.com/lcngu/p/5247179.html 最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前 ...

  7. AndroidStudio里面怎么取消与SVN的关联

    在公司做项目 遇到SVN解除关联的问题 后经过解决: 1.解除文件的关联方法: 1.1. 创建一个reg文件 如下 1.2 在文件中填入如下内容并保存: Windows Registry Editor ...

  8. sql修改约束语法练习

    --以系统管理员身份登录到SQL Server服务器,并使用T-SQL语句实现以下操作:--1. 将stu数据库中student表的sno定义为主键:alter table [student] add ...

  9. 【转】Linux终端下 dstat 监控工具

    转自https://linux.cn/article-3215-1.html dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这 ...

  10. 解读Web Page Diagnostics网页细分图

    解读Web Page Diagnostics网页细分图 http://blog.sina.com.cn/s/blog_62b8fc330100red5.html Web Page Diagnostic ...