GPRS使用AT命令拨接电话,发收中英文短信

*************************************************************************************************************************************************************

开发模块:A7模块(GPRS/GPS)

测试环境:串口调试助手,远程登陆软件(PUTTY)

**************************************************************************************************************************************************************

GPRS介绍:

       GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块根据其提供的数据传输速率又可以分为GPRS模块、EDGE模块和纯短信模块。短信模块只支持语音和短信服务。GPRS,可说是GSM的延续。它经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。GPRS的传输速率从56K到114Kbps不等,理论速度最高达171k。相对于GSM的9.6kbps的访问速度而言,GPRS拥有更快的访问数据通信速度,GPRS技术还具有在任何时间、任何地点都能实现连接,永远在线、按流量计费等特点。EDGE技术进一步提升了数据传输的速率到384K-473K,被称为”2.75G”,数据传输速率更2倍于GPRS。目前,国内的GSM网络普遍具有GPRS通讯功能,移动和联通的网络都支持GPRS,EDGE在部分省市实现了网络覆盖。 
       GPRS模块,是具有GPRS数据传输功能的GSM模块。GPRS模块就是一个精简版的手机,集成GSM通信的主要功能于一块电路板上,具有发送短消息、通话、数据传输等功能。GPRS模块相当于手机的核心部分,如果增加键盘和屏幕就是一个完整的手机。普通电脑或者单片机可以通过RS232串口与GPRS模块相连,通过AT指令控制GPRS模块实现各种基于GSM的通信功能。 
      GPRS模块区别于传统的纯短信模块,两者都是GSM模块,但是短信模块只能收发短信和语音通讯,而GPRS模块还具有GPRS数据传输功能。”

A7模块介绍:

       A7模块是深圳安信可公司开发的一个模块,这个模块将GPRS与GPS集成在了一个芯片上。所以我们可以通过这个模块既可以做GPRS的开发,也可以做GPS的开发。

1.硬件介绍

A7模块说明,我用的这个A7模块是将GPRS与GPS集成在一个芯片上的,如图所示:



2.USB转串口线与A7模块硬件连线

我的串口线是支持rs232电平和TTL电平两种,之前在连接开发板的时候我们用的是rs232,所以得把它拨到TTL电平才能通信上。

首先,我们在PC上调试,用我们的串口线的TXD与A7模块的RXD相连,串口线的RXD与A7模块的TXD相连,GND与GND相连,

如下所示:

(A7)  TXD<------>RXD(串口)

          RXD<------>TXD

          GND<------>GND

硬件连线连好之后,打开A7模块的电源开关,按下模块启动按键(按下时间最好在1s以上),模块启动显示灯亮,说明模块已经自启动。

注意:这里后面我们要进行打电话发短信,所以要提前把我们的SIM卡插入A7模块,不过A7模块是不支持电信SIM卡的,只支持联通,移动的SIM卡。

3.串口通讯设置

GPRS模块波特率为115200,数据位为8,停止位为1校验位我们一般不需要校验位,所以默认为NONE。

当按下A7模块启动按键之后,串口调试助手上会默认打印一些信息,这时候说明模块已经成功自启动。


4.AT基础测试指令

AT          测试AT指令能否使用有返回
AT+CPIN?    测试SIM卡是否准备好
AT+CCID     测试SIM卡ID
AT+CSQ      测试信号强度
示例:

输入:AT

AT
OK //返回OK说明成功

输入:AT+CPIN?

AT+CPIN?  
+CPIN:READY  //返回ready说明指令发送成功
OK
输入:AT+CCID

AT+CCID
+CCID:89860115885020760317 //返回说明成功
OK

输入:AT+CSQ

AT+CSQ
+CSQ: 20,99  //返回说明成功
OK
********************************************************************************************************************************************************************************
注意:在输入AT指令后一定要按“回车“键,再选择手动发送,只有这样才能有返回指令OK。

********************************************************************************************************************************************************************************

5.拨打,接听,挂断电话

打电话:ATD+电话号码+“;”

例:ATD+10010;(我是拨打联通服务电话的,后面一定要记得加上“;”分号)

应答电话:ATA

例:ATA(当别人给你打电话时,给AT模块发送ATA指令,即可接电话)

挂断电话:ATH

例:ATH(当你想挂断别人电话时,给AT模块发送ATH指令,即可挂断电话)

*************************************************************************************************************************************************************************

注意:1.上面指令我是在串口调试助手上进行的,当然也可以用远程登录软件来执行。

          2.接电话时要用耳机插入A7模块才可以和对方进行讲话,不过这里要注意的是A7模块默认声道是喇叭输出,喇叭输出我们不能听到对方讲话

          所以要切换到耳机输出,切换耳机输出AT指令为:AT+SNFS=0;切换喇叭输出为:AT+SNFS=1

          3.A7模块使用的耳机采用一体式四段接口OMTP标准,而不是CTIA标准,所以耳机一定要一体式四段的,否则听不到声音。

*************************************************************************************************************************************************************************

6.发送,接收中英文短信

1.接收中英文短信

AT+CMGF=0    //显示PDU MODE	
AT+CSDH=1	//显示文本格式	
AT+CNMI=0,2,0,0,0 //显示新收到的短信内容
这时候别人给你发中英文短信时,串口调试助手上就会显示中英文内容,

2.发送英文短信

发送短信内容之前我们要先将短信内容转换为十六进制如图所示

在线PDU编码解码网址:http://www.multisilicon.com/_a/blog/a22201774~/pdu.htm

AT+CMGF=1   //   设置TEXT MODE
AT+CSCS="GSM"
AT+CMGS=“10010“ // 其中短信要发给谁,号码就填谁的
AT+CMGS=39  //这里是用CMGS,不是CMGW
0011000D91685106686525F60008AA1800740065007300740020006500780061006D0070006C0065//发送这个数据后面别加换行
1A

然后它会出现一个“>”,此时输入我们的短信内容,短信内容要转换为十六进制,例如短信内容为:test example,转换为十六进制为AT+CMGW=39
0011000D91685106686525F60008AA1800740065007300740020006500780061006D0070006C0065,也就是我们要先发送AT+CMGW=39,再发送十六进制短信内容

**********************************************************************************************************************************************************************
注意:如果我们是在串口调试助手上进行的话,发送短信内容后,要输入1A,也就是Ctrl+Z的码值,如果是在远程登录软件上进行的话,按照上面

同样的操作之后,最后输入完十六进制内容后,直接输入Ctrl+Z,即可将短信内容发送出去。

************************************************************************************************************************************************************************

3.发送中文短信

AT+CMGF=0    //设置PDU格式
AT+CSCS="GSM"
AT+CMGS=23  //这里我的短信内容为“我在测试”,所以转换为HEX格式后的数值为23,如果内容不同,数值也将不同
0011000D91685106686525F60008AA08621157286D4B8BD5
1A

***************************************************************************************************************************************************************************************

注意指令收发短信主要有两种模式:Text模式和PDUProtocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,很容易实现,最大缺点不支持中文短信。PDU模式不仅能发送中文短信,也能发送英文短信,如果想只是接发英文短信,可以设置为TEXT模式,AT指令为:AT+CMGF=1

*********************************************************************************************************************************************





  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值