// 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. Object.create 函数 (JavaScript)

    创建一个具有指定原型且可选择性地包含指定属性的对象. 语法 Object.create(prototype, descriptors) 参数 prototype 必需.  要用作原型的对象.  可以为 ...

  2. JavaScript中判断对象类型方法大全2

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object ...

  3. phpcms V9实现wap上一篇、下一篇功能

    在phpcms\modules\wap\index.php里面,搜索上面这句 if(!$r || $r['status'] != 99) showmessage(L('info_does_not_ex ...

  4. 手机WebAPP设计注意事项和解决方法

    1. 基本手机网页设计 1.1 wap端的网站表头 wap端的网站,写的时候首先注意表头,因为是手机端的,所以和我们平常用的web端页面的不一样,表头为: 1.2 尽量少使用水平滚动. 水平滚动除了比 ...

  5. 限定符【const】用法大全

    1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法 2. 必须初始化 const int i=5; //合法 c ...

  6. LaTex学习笔记(一)

    1. 语法 命令 普通命令 环境 数据 注释 2. 物理结构 导言 指定文档类型,引入宏包,定义命令,环境等 \documentclass[options]{class} \usepackage[op ...

  7. 通信原理实践(二)——幅度调制

    一.幅度调制,并画出时域和频域波形 1.代码如下: function [ p_n ] = AM_func( N,fs,fm,Am,fc,Ac,Ma ) %UNTITLED 此处显示有关此函数的摘要 % ...

  8. 【项目经验】EasyUI Tree

    ITOO5.0开始了,我参加了伟大的基础系统,从整体上来说,基础系统有三个职能: 1.自己的核心职能--选课(公共选修课,专业选修课),课表: 2.为其他系统提供真实数据: 3.维护信息 而近两三天, ...

  9. Hbase系统架构

    HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列 ...

  10. LoadRunner11录制APP脚本(2)

    通过安卓模拟器实现LoadRunner11录制APP脚本 http://www.51testing.com/html/24/15110424-3686857.html http://www.51tes ...