所使用的模块是安信可开发的A7,该模块整合了GPS和GPRS的功能,先来学习一下GPRS使用AT命令进行打电话、接电话以及收发短信。
模块说明:
使用TTL电平,串口连接接线好,插入SIM卡(仅支持移动、联通)。
在PC上打开串口调试助手,波特率设置为115200,若A7模块成功启动,接收区会打印出一些信息:
在输入AT指令后一定要按“回车“键,再选择手动发送,只有这样才能有返回指令OK。
1.AT :检测模块是否连接正常
AT
OK //正常会返回OK
2.AT+CPIN?:检测手机SIM卡是否安装好
AT+CPIN?
+CPIN:READY
OK //SIM卡安装正确 ,返回READY
3.AT+CSQ:检测手机信号强度
AT+CSQ
+CSQ: 22,99
OK
4.AT+CCID :查看SIM卡ID
AT+CCID
+CCID:89860112307100191399
OK
5.AT+CREG?:网络注册及状态查询
AT+CREG?
+CREG: 1,1
OK
第一个参数<n>为
0:禁用网络注册非请求结果码
1:启用网络注册非请求结果码+CREG: <stat>
2:启用网络注册和位置信息非请求结果码+CREG: <stat>[,<lac>,<ci>]
第二个参数<s>为
0:未注册;ME 当前没有搜索到要注册业务的新营运商
1:已注册,本地网
2:未注册,但ME 正在搜索要注册业务的新营运商
3:注册被拒绝
4:未知
5:已注册,漫游
6.响应:
输入命令AT+CREG=
AT+CREG=2
OK
AT+CREG?
+CREG: 2,1,"1BD5","D176"
OK
上面两条命令等价于 AT+CREG=2;+CREG?
可用于GPRS定位(定位基站):
AT+CREG=2;+CREG?
后面两个打印的是位置信息(因为每次定位基站不同,所以每次打印的位置信息也不同)。
7.AT+COPS?:查询运营商
AT+COPS?
+COPS: 0,2,"46001"
OK
这里46001表示运营商标识,460表示中国,00表示中国移动,01表示中国联通,该模块暂不支持中国电信的SIM卡。
AT+COPS=< mode>[,< format>[,< oper>]](这里 < > 表示必选,[ ]表示可选,[ < a> [ < b > ] ] 表示a,b都是可选的,但是优先选b。 )
第一个参数mode为:0 自动,< oper> 字段可忽略
1 手动,<oper> 字段不可忽略
2 从注册网络注销
3 仅设置<format> (用于查询命令AT+COPS?);不尝试进行注册或注销(<oper>字段可忽略);该取值不适用于查询命令的返回结果
4 手动/自动,<oper> 字段不可忽略;如果手动选择失败,将进入自动选择模式(<mode>=0)
第二个参数format: 0 长字符型(采用字母数字格式),最多16 个字符
1 短字符型(采用字母数字格式),最多8 个字符
2 数字型<oper>
第三个参数oper:字符型;<format>表示该字符串采用字母数字型还是数字型;数字型表示GSM 未知区标识号码,该号码包括一个3 位BCD 国家代码(符合ITU-TE.212 Annex A[10]标准)和一个2 位BCD 网络代码,后者与管理有关
如果我们想要让上面的46000以字母形式显示运营商名字,我们可以对可以对其进行设置,输入命令 “AT+COPS=0,0” 。
AT+COPS?
+COPS: 0,0,"ChinaUnicom" //变成了这个
OK
8.拨打电话:ATD电话号码;
ATD10086;
OK
+CIEV: "CALL",1
+CIEV: "SOUNDER",1
9.ATH:挂电话
ATH
+CIEV: "CALL",0
OK
10.ATA:接电话
当收到来电的时候,输入命令ATA,即可接听来电。
RING
RING
RING
RING
ATA
+CIEV: "CALL",1
CONNECT
若听不到声音:
AT+SNFS=1 // 默认为喇叭输出,该命令切换成耳机模式
11.接收中英文短信
AT+CMGF=0 //显示PDU MODE
AT+CSDH=1 //显示文本格式
AT+CNMI=0,2,0,0,0 //显示新收到的短信内容
这时候别人给你发中英文短信时,串口调试助手上就会显示内容
12.发送英文短信
AT+CMGF=1 //设置TEXT MODE
AT+CSCS="GSM" // 命令通知ME 选择的字符集ME
//可以对输入或显示的字符迚行转化此命令用于发送读或写短消息GSM表示缺省值
AT+CMGS="10086" //其中电话号码要发送给谁短信就写谁
test //这里写任意短信内容,英文数字标点等
13.发送中文短信
要用到PDU转码:http://www.multisilicon.com/_a/blog/a22201774~/pdu.htm
比如:
AT+CMGF=0 //设置PDU格式
AT+CSCS="GSM"
AT+CMGS=19 //改为CMGS,经过转化后是19,照填
0011000D91683110081105F90008AA044F60597D //不要跟换行
1A
如果我们是在串口调试助手上进行的话,发送短信内容后,要输入1A,也就是Ctrl+Z的码值,如果是在远程登录软件上进行的话,按照上面同样的操作之后,最后输入完十六进制内容后,直接输入Ctrl+Z,即可将短信内容发送出去。
指令收发短信主要有两种模式:Text模式和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,很容易实现,最大缺点不支持中文短信。PDU模式不仅能发送中文短信,也能发送英文短信,如果想只是接发英文短信,可以设置为TEXT模式,AT指令为:AT+CMGF=1
关于有些耳机插进去后仍然听不到的问题:
A6 A7模块耳机麦克使用一体式四段接口OMTP标准,而不是CTIA标准。两者的区别在于插头最后两节 。
GND和MIC顺序相反。CTIA耳机插入OMTP设备会造成声音小且失真。
OMTP 标准:苹果4S及更新的版本所配耳机(中国销售的部分),诺基亚、华为、中兴、联想、山寨机等。联想耳机及华为有部分是CTIA。
CTIA 标准:三星、苹果(中国以外销售的部分)、索尼、MOTO(部分)。
因此有部分耳机是不被支持的……