使用AT命令进行短信收发、电话本查询
使用AT命令进行短信收发、电话本查询
概述:在JB00+BT项目的SMS Demo中使用了蓝牙的DUN服务来对手机发送AT命令,主要用AT命令实现2个方面的功能:发送短信、查询手机电话本。DUN连接成功后,就可以直接对 手机发送AT命令了。使用AT命令之前,一般通过发送"AT"进行AT命令初始化,如果成功返回OK,即说明手机已可正常响应AT命令。
调试AT命令有一个比较简便的方法就是使用PC的超级终端进行调试:如果手机有串口接口,直接连接到PC的串口;如果手机无串口接口,可以使用USB蓝牙适配器和手机进行蓝牙配对,然后通过在超级终端使用DUN服务的蓝牙虚拟串口发送AT命令控制手机。
一、什么是AT 命令
AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(Mobile Station,MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMS BlockMode的协议,通过终端设备(TE)或电脑来完全控制SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM 研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM 07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的Block Mode;基于AT指令的Text Mode;基于AT指令的PDU Mode。到现在PDU Mode已经取代BlockMode,后者逐渐淡出。GSM 模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返 回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
示例:CDMA modem DTE
AT< CR>
< LF> OK < LF>
ATTEST< CR>
< CR> ERROR < LF>
如果AT指令执行成功,"OK"字符串返回;
如果AT 指令语法错误或AT 指令执行失败,
"ERROR"字符串返回。
二、如何使用AT命令发短信、查询电话本(红色部分改为实际内容)
1、发送短信步骤:
step1、测试手机是否支持相关AT指令:AT+CMGS=?
如果返回"OK"表明手机支持短信收发的AT命令,否则返回"ERROR"。
step2、选择短信模式为文本模式:AT+CMGF=1
如果返回"OK",设置成功。
除了文本模式,还可以设置为PDU编码模式,其指令为:AT+CMGF=0
step3、发送短信目标号码:AT+CMGS=phone number
如果返回"> ",号码发送成功,继续发送短信文本内容。
step4、直接将短信文本内容发送到手机,并以Ctrl+Z或者对应的ASCII码0x1a作为结束符。
step5、如果短消息发送成功,则返回"OK",并显示信息号:+CMGS: [,]
如果短消息发送失败,则返回"+CMS ERROR: "。
2、查找电话本步骤:
step1、测试手机是否支持相关AT指令:AT+CPBS=?
如果返回"OK"表明手机支持电话本查询相关的AT命令,否则返回"ERROR"。
step2、选择查询电话本,设置为手机存储体:AT+CPBS="ME"
如果返回"OK",设置成功。
step3、根据联系人姓名查找电话号码:AT+CPBF=name
如果查询成功,则返回相应的描述字段"+CPBF:......."。
这里也可以根据联系人ID进行查找:AT+CPBR=ID
如果查询成功,则返回"+CPBR:......."。
三、常用的短信、电话本命令
1、短消息命令
AT+CSMS
选择消息服务。支持的服务有GSM-MO、SMS-MT、SMS-CB。
AT+CNMA
新信息确认应答。
AT+CPMS
优先信息存储。这个命令定义用来读写信息的存储区域。
AT+CMGF
优先信息格式。执行格式有TEXT方式和PDU方式。
AT+CSAS
保存设置。保存+CSAS和+CSMP的参数。
AT+CRES
恢复设置。
AT+CSDH
显示文本方式的参数。
AT+CNMI
新信息指示。这个命令选择如何从网络上接收短信息。
AT+CMGR
读短信。信息从+CPMS命令设定的存储器读取。
AT+CMGL
列出存储的信息。
AT+CMGS
发送信息。
AT+CMGW
写短信息并存储。
AT+CMSS
从存储器中发送信息。
AT+CSMP
设置文本模式的参数。
AT+CMGD
删除短信息。删除一个或多个短信息。
AT+CSCA
短信服务中心地址。
AT+CSCB
选择单元广播信息类型。
AT+WCBM
单元广播信息标识。
AT+WMSC
信息状态(是否读过、是否发送等等)修正。
AT+WMGO
信息覆盖写入。
AT+WUSS
不改变SMS状态。在执行+CMGR或+CMGL后仍保持UNREAD。
2、电话本命令
AT+CPBS
选择电话簿记忆存储。
AT+CPBR
读取电话簿表目。
AT+CPBF
查找电话簿表目。
AT+CPBW
写电话簿表目。
AT+CPBP
电话簿电话查询。
AT+CPBN
电话簿移动动作。这个特殊命令使电话簿中的条目前移或后移(按字母顺序)
AT+CNUM
签署者号码。
AT+WAIP
防止在下一次重起时初始化所有的电话簿。
AT+WDCP
删除呼叫电话号码。
AT+CSVM
设置语音邮件号码。
http://hi.baidu.com/walfer/blog/item/983602b380310da7d9335a18.html
使用AT命令进行短信收发、电话本查询相关推荐
- 深入浅出AT命令(5)-短信命令
深入浅出AT命令(5)-短信命令 在短消息相关的命令中,所涉及到的参数比较集中,所以先列表给出,在后面的命令详解中就不再重复说明.常用参数定义: 注:在下文中所给出的参数类型定义如下: 字符型:表示该 ...
- 4G DTU之短信收发设置
DTU之短信收发设置,如何通过DTU配置软件来实现DTU的短信接收和发送 DTU配置软件,DTU终端设备 罗工:一五三零五零二四七九六 短信发送号码:每组可以设置5个手机号码,各个手机号码用逗号隔开. ...
- 单片机控制GSM模块实现短信收发的软件设计
摘要:借助系统模型,阐明GSM模块收发短信的基本概念以及串口控制SMS的基本原理.详细介绍单片机控制GSM模块工作的软件实现过程,对怎样用单片机控制GSM模块收发短信进行探讨,也对程序设计的主体思想作 ...
- 【物联网智能网关-03】GPRS模块中文短信收发
在去年年初,就已经推出V1.0.0的GPRS库,不过在这个版本上只是实现了西文短信收发和字符串方式的GPRS数据通信,功能还相对不完善(参见我以前的博文<GPRS通信实现>).最近升级的版 ...
- gsm基于linux程序,基于嵌入式Linux下GSM模块的短信收发系统设计
摘要:移动通信中的短消息业务以其方便.可靠和价廉得到了广泛应用,本文在嵌入式Linux系统中,通过西门子MC35模块,实现了短信收发系统,该系统采用PDU短信模式,能支持中文短信.程序设计采用异步事件 ...
- SMSLib实现Java短信收发的功能
blog迁移至: http://www.micmiu.com 用java实现短信收发的功能,目前一般项目中短信群发功能的实现方法大致有下面三种: 1. 向运行商申请短信网关,不需要额外的设备,利用运行 ...
- 嵌入式毕设分享 GSM手机短信收发系统(源码+论文)
文章目录 1 简介 1 硬件设计 1.1 TC35i模块 1.2 单片机硬件链接 2 软件设计 2.1 软件流程图 3 关键代码 4 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个 ...
- stm32毕设分享 GSM手机短信收发系统(源码+论文)
文章目录 1 简介 1 硬件设计 1.1 TC35i模块 1.2 单片机硬件链接 2 软件设计 2.1 软件流程图 3 关键代码 4 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍一个 ...
- 调用WebServices接口实现短信收发
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
最新文章
- 【PCL】的五大依赖库及作用
- 【设计模式】备忘录模式
- 神经网络:卷积神经网络
- matlab unique函数
- 微软OCR两层优化提升自然场景下的文字识别精度(模式识别新研究)
- 被乔布斯遗忘的VR:纽约大学教授解密苹果与虚拟现实的尘封往事
- C++字符串操作函数
- 阿里云助力1药网开辟疫情防控“第二战场”
- 为什么选择springcloud
- 最后一周 | 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
- 为什么你的数据分析成果总是难以落地?
- C语言 strcspn函数实现
- java 一些容易忽视的小点-类和对象
- LearnETutorial 中文系列教程【翻译完成】
- linux tcp 阻塞时间,TCP的阻塞和重传机制
- 11.8 Ext.util.Event.fire(): Attempting to fire “click“ event on destroyed 问题分析与解决
- 边界值法中的上点、内点和离点分析
- gg修改器修改内购_【教程】手把手教你修改微信性别为空
- 电脑桌面云便签怎么新建分类文件夹标签?
- 信息提取 Information Extraction