AT命令

AT命令最常见的应用场景:

1、智能手机:一般智能手机都是一个主芯片控制一个通信模块,这个通信模块就是一个完整的、简单的手机,包括手机应该有的射频、基带等部分,还有GSM协议栈,完全可以独立打电话、发短信、用GPRS上网等。主芯片实现复杂的应用软件。主芯片和通信模块之间通过AT命令,也就是做主芯片通过AT命令控制通信模块打电话,发短信等。
2、其他通信模块。例如出租车上的车载台,通信模块可以接收控制中心发来的短信,进行车辆调度,或者利用GSM中的位置服务—— 一种补充业务,可以实现大致的定位,控制中心可以对出租车做简单的位置跟踪。

简单的说,无线通讯中有一种产品就是把一个简单的手机做成半成品,这个半成品可以通过AT命令控制来实现发短信,打电话,gprs上网等无线通讯功能,业界把这种产品叫做模块/无线模块。然后这个半成品卖给集成商,集成商在产品中挂载一个这样的无线模块,这个无线模块受主芯片控制。集成商可以用这种方式做出不同应用的产品,例如智能手机。其中AT命令是主芯片和无线模块的协议接口,硬件接口一般使用串口。

用户可以通过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命令详解版:https://blog.youkuaiyun.com/bytxl/article/details/25614491

AT命令的使用

microcom -s 115200 /dev/ttyUSB2

1.准备测试

检测Module与串口是否连通,能否接收AT命令: AT

查看SIM卡是否到位: AT+CPIN?

测试信号: AT+CSQ

查看运营商: AT+COPS?

获取模块标识: AT+CGMM

获取模块厂商标识: AT+CGMI

查看SIM卡是否到位: AT+CPIN?

网络注册,获得手机的注册状态: AT+CREG?

2.拨打电话

拨打电话: ATD电话号码;

来电显示: AT+CLCC(有电话打过来串口会打印RING提示。)

接电话: ATA

挂电话: ATH

挂电话尚未接通的来电: AT+CHUP

3.发短信

短信的编码方式有两种:text模式,pdu模式。因此短信的AT指令执行格式也有两种,分别对应text模式和pdu模式。

1 . Text模式

纯文本模式,支持不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。

2 . Pdu模式

这个是手机默认的编码方式,可以使用任何字符集,其包括三种编码方式:7bit编码,8bit编码,UCS2编码。

7bit编码:ASCⅡ码就是7bit编码。

8bit编码:ASCⅡ字符可以使用7位二进制表示,但是由于计算机的基本处理单位是字节(1byte=8bit),所以一般在高位补0,用一个字节表示一个ASCⅡ字符。这就是8bit编码。

UCS2编码:处理Unicode字符,使用2个字节来表示一个字符,可以表示世界上所有的字符。发送中文就是使用此编码方式。

发英文短信
设置信息格式: AT+CMGF=1 (格式有TEXT方式和PDU方式。AT+CMGF=1时是TEXT方式,AT+CMGF=0是PDU方式)

发送短信: AT+CMGS=“电话号码”
下一行出现>后面跟的是发送的内容
(以ctrl+z(0x1A)结束)

例如:
at+cmgs=“152XXXXXXXX”
> ni hao
(ctrl+z)

设置收到短消息提示: AT+CNMI=1,1,2

设置存储区域为SM: AT+CPMS=”SM”

读取短信: AT+CMGR=index(index为读第几条短信)

发中文短信:

设置信息格式: AT+CMGF=0

发中文短信这里暂时也不去了解,发中文短信可以参考:https://blog.youkuaiyun.com/a_tu_/article/details/47808017

AT命令详解:https://blog.youkuaiyun.com/bytxl/article/details/25614491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值