GSM之AT操作命令

因工作接触到GSM模块,所以收集整理了一下关于操作GSM模块的AT命令的资料:

1.AT的历史与应用

1.1 AT的历史

        AT命令集是由拨号调制解调器(MODEM)的发明者贺氏公司(Hayes)为了控制Modem发明的控制协议.AT是Attention的缩写,
协议本身采用文本.每个命令均以AT打头,因此得名.这段历史参见 http://en.wikipedia.org/wiki/Hayes_command_set

       随着网络升级为宽带,速度很低拨号MODEM基本已经退出一般使用市场.我最近一次看见使用拨号MODEM的地方是深圳市的
网络报税系统.必要拨号到税务局的服务器才能使用。也就在这个很小的市场才留到一点空间。其余一般都用上ADSL的
modem了。

        贺氏公司象很多发明伟大的产品的公司一样,在发明了划时代的MODEM产品后,没有进一步升级技术。现在已经于1999
年破产消失了,类似的例子有发明浏览器的Netscape,第一个成为网络操作系统的Novell公司,现在都已经边缘化了。
关于Hayes的破产,还能找到一个旧闻http://news.sina.com.cn/richtalk/news/tech/9901/010704.html
但是有意思,http://www.hayes.com仍在销售产品,难到又活过来了?

       但是AT命令保留下来了。主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM 研制了一整套AT指令,用
于控制手机GSM模块。其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM 07.05标准以及现在的GSM07.07
标准。
       在随后的GPRS控制,3G模块,以及工业上常用的PDU,均采用AT命令集来控制,这样AT命令实际在这一些产品上成为事
实的标准。

1.2 AT的优点

      命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。
AT命令提供了一组标准的硬件接口--串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。
AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真.

1.3 AT命令与ppp协议的关系


      在数据通讯的应用中,比如说无线拨号上网。除了AT命令,还会常听到另外一个网络协议ppp(Point to Point
Protocol)。在应用串口通讯的场合,我们可以从硬件上明确看到分为两大块。

        DTE(Data Terminal Equipment)数据终端设备。通常是一个智能设备,如PC机,嵌入式主机等,用于发送AT命令和
PPP命令,还有用于链路通讯的DCE(Data Circuit Terminal )数据电路终端。用于与外界建立通讯的链路。DTE与DCE之间用串口相连。比如PC机用串口接入拨号MODEM时,PC机是DTE,拨号MODEM是DCE.

        AT和PPP的相同点都是由DTE发送给DCE的协议。不同点是AT只用于DTE来控制DCE。比如初始化设备,用于发送呼叫,发送短消息等,虽然AT有规范,但是大部分DTE产商都扩展了一些AT命令。

        而PPP是用于数据通讯,是DTE与远程的接入服务器(Access Server)进行通讯的协议。是属于网络通讯的数据链路层协
议,DCE本身收到PPP包时,除了将其调制到物理层上发送到远端服务器外,本身并不处理PPP的内容。

2.AT的命令格式

     AT指令格式:AT指令都以”AT”开头,以<CR>(即\r,回车符)结束,模块运行后,串口默认的设置为:8位数据位、1位
停止位、无奇偶校验位、硬件流控制(CTS/RTS).
注意:为了发送AT命令,最后还要加上<LF> (即\n,换行符)这是串口终端要求.有一些命令后面可以加额外信息来.如电话号码

每个AT命令执行后,通常DCE都给状态值,用于判断命令执行的结果.

AT返回状态包括三种情况 OK,ERROR,和命令相关的错误原因字符串.返回状态前后都有一个<CR>字符.
如 <CR>OK<CR> 表示AT命令执行成功.
<CR>ERROR<CR> 表示AT命令执行失败
<CR>NO DIAL TONE<CR> 只出现在ATD命令返回状态中,表示没有拨号音,这类返回状态要查命令手册

还有一些命令本身是要向DCE查询数据,数据返回时,一般是+打头命令.返回格式
<CR>+命令:命令结果<CR>
如:AT+CMGR=8 (获取第8条信息)
返回 +CMGR: "REC UNREAD","+8613508485560",,"01/07/16,15:37:28+32",Once more

3.DCE的状态切换与AT的命令拨号流程


       这两个协议都是DTE通过串口发往DCE。那DCE是如何区别是AT命令,如何区别PPP协议包?大部分DCE是采用分时段传送
的,两个协议并不同时发送。但是可以通过AT命令两个专用命令来用切换是AT命令时段,还是PPP协议时段。

      在发送AT命令时称为命令状态,在发送PPP包时或者语音通讯时称为数据状态。

       在modem设备启动进,默认进入AT命令接收状态,用ATDn ;命令拨出电话号码n(语音拨号);ATDn 拨出电话号码n(数
据拨号),两者区别在于前者有一个分号。用数据拨号拨通后,将进入PPP交互状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值