语言:

安信可科技

您的足迹: GSM/GPRS操作示例

GSM/GPRS操作示例

GSM/GPRS操作示例

说明:本页面操作示例使用串口助手进行开发演示。

请先仔细看右边的目录,按模块,寻找自己需要的功能

更新历史

更新说明:

 
  2018年3月26日:
  固件版本:A9/A9_gV02.00.20180327RC
  添加:
      1.A9G的GPS低功耗模式
      2.A9/A9G的HTTP和MQTT的功能
      3.A9/A9G模组的串口低功耗以及GPIO低功耗
  优化:
      1.A9/A9G的AT+RST指令进行优化
      2.A9/A9G的AT+LOCATION指令进行优化
              

A9/A9G(GPRS)

模组软复位及关机

AT+RST=X   //X=1表示软重启,X=2表示关机

示例

AT+RST=1 //软件重启
Init...
+CREG: 2
+CTZV:18/03/30,06:59:43,+08
+CREG: 1
+CTZV:18/03/30,06:59:44,+08
OK
A9/A9G
V02.00.20180327RC
Ai_Thinker_Co.LTD
READY

示例2:

AT+RST=2	//运行这条指令模组会进入管断状态,前提是模组的供电管教是VBAT3.5V~4.2V

电话接收

相关指令

ATDxxxxx;//xxx为电话号码

示例 打电话

ATD10086
OK
+CIEV: "CALL",1
+CIEV: "SOUNDER",1	//响铃
+CIEV: "SOUNDER",0	//挂断
+CIEV: "CALL",0
BUSY	//显示BUSY

接到短话

(若想使用来电提醒功能,请使用AT+CLIP=1;注意,该功能必须需要你的SIM卡自带来电提醒功能)
RING
RING

短信设置

相关指令

AT+CPMS="SM","SM","SM"  //设置短信存储单元
AT+CMGF=0/1		//设置短信格式,1为text格式读取,0为pud格式读取
AT+CMGR=x		//读取短信内容,x为第几条短信
AT+CMGL=4/"ALL"	//查看短信列表 PUD格式下读取参数为4, txt格式要发送AT+CMGL="ALL"
AT+CMGD=1		//删除短信。 若果使用AT+CMGD=1,4  则为删除所有短信

示例

AT+CPMS="SM","SM","SM"	//设置短信存储单元,同时也可以查看短信容量
+CPMS: 0,50,0,50,0,50
OK

AT+CMGF=1		//设置为TXT格式读取
OK
+CIEV: "MESSAGE",1	//接收到短信,内容包括电话号码和时间以及内容
+CMT: "+86xxxxxxxxxxx",,"2017/10/09,09:14:52+08"
111
+CIEV: "MESSAGE",1
+CMT: "+86xxxxxxxxxxx",,"2017/10/09,09:16:25+08"
222
AT+CMGF=0		//设置为PUD格式接受
OK

+CIEV: "MESSAGE",1	//以PUD接收到短信,内容包括电话号码和时间以及内容
+CMT: ,23
0891683110602305F0240D91687186935218F500007101909061452303B3D90C

+CIEV: "MESSAGE",1
+CMT: ,23
0891683110602305F0240D91687186935218F500007101909071202303341A0D
AT+CMGL=4		//列出所有短信->  pud格式,使用这条命令参数为4
+CMGL: 1,1,,23
0891683110602305F0240D91687186935218F500007101909041252303B1580C
+CMGL: 2,1,,23
0891683110602305F0240D91687186935218F50000710190906152230332990C
+CMGL: 3,1,,23
0891683110602305F0240D91687186935218F500007101909061452303B3D90C
+CMGL: 4,1,,23
0891683110602305F0240D91687186935218F500007101909071202303341A0D
OK
AT+CMGF=1		//设置为TXT格式读取
OK
AT+CMGL="ALL"	//列出所有短信->  txt格式,使用这条命令参数为ALL
+CMGL: 1,"REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:14:52+08"
111
+CMGL: 2,"REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:16:25+08"
222
+CMGL: 3,"REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:16:54+08"
333
+CMGL: 4,"REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:17:02+08"
444
OK
AT+CMGR=1		//读取第一条短信
+CMGR: "REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:14:52+08"
111
OK
AT+CMGR=2		//读取第二条短信
+CMGR: "REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:16:25+08"
222
OK
AT+CMGR=3		//读取第三条短信
+CMGR: "REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:16:54+08"
333
AT+CMGD=1		//删除第一条短信
OK
AT+CMGD=2		//删除第二条短信   谨记  删除第一条后,第二条内容不会自动跑到第一条,而是依然占据第二条短信,但是当所有短信都删除后,再接收到短信后,会自动排列到第一条信息的位置
OK
AT+CMGD=3		//删除第三条短信
OK
AT+CPMS="SM","SM","SM"	//查看一下短信容量
+CPMS: 1,50,1,50,1,50
OK
AT+CMGL="ALL"	//删除了3条之后,查看短信列表,只剩1条
+CMGL: 4,"REC READ","+86xxxxxxxxxxx",,"2017/10/09,09:17:02+08"
444
OK
AT+CMGD=1,4		//删除所有短信
OK

发送短信

AT+CMGF=1    //文本方式发送  
AT+CMGS="xxxxxxxxxxx(电话号码)"   //返回>,然后输入要发送的txt内容,发送数据,之后请取消”发送新行”选项,勾选"HEX(16进制发送)"选项,最后发送0x1a即可。

中文发送短信

另外可以使用PUD的编码方式发送信息: 
AT+CMGS=XX //要发送的字节数
>xxxxxxxxxxxxxxxxxxxxx  //PUD码(最后的操作方式和txt操作方式相似)
+CMGS: 0
OK

基站定位(含简化指令)

相关指令

AT+CREG?	//查询网络的注册状态
At+LOCATION=X(简化版) 
注意,使用基站定位功能之前,必须先AT+CGATT=1; AT+CGDCONT=1,"IP","cmnet" ;AT+CGACT=1,1;三条指令完成附着网络以及激活之后才可执行。

示例

优化前指令->
AT+CREG=1   //=1的时候是查询网络状态,模组上电默认为1
OK
AT+CREG?
+CREG: 1,1     
AT+CREG=2   //=2的时候是基站定位
OK
AT+CREG?	
+CREG: 2,1,"xxxx","xxxx",2  // 中间参数为16进制,第一个字符串得到的是LAC,第二个字符串得到的是CI
基站定位可以到该网站查询:http://www.gpsspg.com/bs.htm
简化版指令->单独使用AT+LOCATION=1,不必设置AT+CREG=2,
AT+LOCATION=1(return:<latitude>,<longitude>OK)
xx.xxxxx,xxx.xxxxxx(小数点后固定为6位)
OK  
直接返回经纬度 无需转换
->at+location这句指令需要联网获取地理位置信息,所以时间的长久取决于网络情况的好坏,而且在使用前如果没有手动附着激活的话,它会自动去做这两件事情,要的时间就更长了。想要可靠有快速,建议先使用at+cgatt=1; at+cgdcont=1,"IP","cmnet" ;at+cgact=1,1;附着激活并保证具备联网能力

获取基站下发时间

相关指令 AT+CCLK?

指令解读 该指令在内部进行处理,在模块初始化时,模块获取了基站下发的时间后,将该时间存储在芯片的RTC寄存器中,使用AT+CCLK?即可读取出时间。

注意使用联通卡获取的时间是有问题的。

示例

AT+CCLK ?
+CCLK: "17/10/07,02:50:55+08"	
//该时间为零时区时间,17年10月7日2点50分55秒。+08为时区,我们这里是东八区,所以本地时间是10点50分55秒
OK

HTTP

相关指令:

AT+HTTPGET=<url>	//统一资源标志符,可以是域名或者是IP地址
AT+HTTPPOST=<url>,<content_type>,<body_content>   //<content_type> : 网络文件的类型和网页的编码的内容类型
					          //<body_content> : body的文本

示例

AT+CGATT=1  //附着网络,如果需要上网,这条指令是必选的
+CGATT:1
OK
AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
OK
AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了
OK
AT+HTTPGET="http://wiki.ai-thinker.com/gprs_download"	//连接网站,请求网站资源
OK
紧接着接受的是服务器响应的信息

MQTT

示例:

 AT+CGATT=1          //附着网络
 OK
 AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
 OK
 AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了
 OK
 AT+MQTTCONN="www.anthinkerwx.com",1883,"12345",120,0,"Ai-thinker","123456" //客户端等待和连接服务器,同时发送CONNECT
 OK// 注意:(MQTT的服务器需要自己搭建)
 AT+MQTTPUB="test","124563",0,0,0			      //客户端向服务端传输一个应用消息
 +MQTTPUBLISH: 1, test, 6, 124563
 OK
 AT+MQTTSUB="test",1,0				     //客户端向服务端发送SUB报文用于创建订阅
 OK
 AT+MQTTDISCONN					     //客户端发给服务端的DISCONNECT控制报文,表示客户端正常断开连接

透传模式和心跳包的设置

Init…

+CREG: 3
+CIEV: service,  0
+CIEV: roam, 0
+CREG: 3
+CIEV: service,  1
+CIEV: roam, 0
+CREG: 1
+CREG: 0
+CREG: 1
A9
V01.03.20170926R //固件版本信息
Ai Thinker Co.LTD
READY	//初始化完成标志   前面的+CIEV: service, 1等等,是网络注册信息,在网络情况不好的时候,会在READY后面输出,没有影响。出现	+CIEV: service, 1;+CREG: 1;表明SIM初始化成功,网络正常。 初始化过程中如果没有检测到SIM卡,初始化信息中会出现NO SIM CARD
AT+CCID	//查询SIM ,序列号唯一,可以用来判断卡是否正常,如果是从安信可购买的物联网卡,可以用此序列号在官网查询电话号码,充值缴费等等。
+CCID: 898607B1101700823754
OK
AT+CREG=1  // =1的时候是查询网络状态,模组上电默认为1
AT+CREG?	//查询网络注册情况
+CREG: 1,5	//第一个参数1表示允许注册入网;第二个参数5表示已注册,处于漫游状态,如果是1的话,表示已注册本地网络,出现其他参数表示不正常
OK
AT+CSQ	//查询信号强度 第一个参数为信号强度值
+CSQ: 31,99	//信号强度取值为0-31,信号强度最好保持在23以上
OK
AT+CGATT=1  //附着网络,如果需要上网,这条指令是必选的
+CGATT:1
OK
AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
OK
AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了
OK
AT+CIPSTART="TCP","122.114.122.174",46875	//连接TCP服务器,
CONNECT OK	//此处为安信可透传云服务器,请自行修改端口
OK
AT+CIPHCFG?	//查询心跳包的设置
+CIPHCFG:0,,	//心跳包的默认设置发送心跳包时间间隔为0,后面为空
OK
AT+CIPHCFG=1,"55FAFBEE"	//设置发送心跳包内容,长度不能低于3个字节,16进制格式
OK
AT+CIPHCFG=2,"55AFBFEE"	//设置接受回应包内容,长度不能低于3个字节,16进制格式
OK
AT+CIPHCFG=0,15	//设置发送心跳包的时间15秒钟
OK
AT+CIPHCFG?	//查询心跳包的设置
+CIPHCFG:15,55FAFBEE,55AFBFEE	//通过上面指令设置发送间隔为15秒,心跳包与回应包后两位参数
OK
AT+CIPHMODE=1	//启动心跳包,该命令只能在连接服务器成功以后用
OK
AT+CIPTCFG?	//查询透传默认参数
+CIPTCFG:3,200,50,2000
//3表示最大尝试发送失败次数,200是重发延时,单位毫秒,50是触发发送的包长度,2000是触发发送时间,单位毫秒,从输入最后一个字符算起,延至超过2000毫秒,系统也会自动发送数据
OK  //请注意,心跳包的设置不是必须的,如果想自己发送心跳包或者不发送心跳包,可以不设置这些模组自带的心跳包指令。另外,心跳包的发送包设置后,是模组自动发送的,不需要人为控制,但是回应包是需要服务器设置发给模组的,即需要写代码定时返回数据给模组。如果模组超过三次以上没有接受到服务器发回来的回应包,模组会自动关闭心跳包,模组会接收到这样的数据  +CIPHMODE:0 ; OK. 
AT+CIPTMODE=1	//启动透传模式,该指令也是只能在连接服务器成功以后使用
OK
SEND DATA TO SERVER		//发送到服务器的数据
SERVER SEND DATA TO DEVICE	//收到的服务器的数据
+++	//退出透传模式,和前一次发送时间超过2秒,输入+++,就可以退出透传模式
注意,如果是单片机,不要加回车换行符,如果用的是安信可的串口调试工具,请取消勾选发送新行
OK
AT+CIPHMODE=0 	//退出心跳包模式
OK

多链接

示例

AT+CCID          //查询CCID值 用来检测是否插入SIM、
+CCID: 898602B8191790486325      //此ID唯一 
AT+CREG?     //查询SIM的网络注册状态
+CREG: 1,5 //第一个参数1表示允许注册入网;第二个参数5表示已注册,处于漫游状态,如果是1的话,表示已注册本地网络,出现其他参数表示不正常
OK
AT+CSQ           //查询信号强度 第一个参数为信号强度值
+CSQ: 31,99  //信号强度取值为0-31,信号强度最好保持在23以上
OK
AT+CSQ           //查询信号强度 第一个参数为信号强度值
CSQ: 31,99  //信号强度取值为0-31,信号强度最好保持在23以上
OK
AT+CGATT=1   //附着网络,如果需要上网,这条指令是必选的
+CGATT:1
OK
AT+CGDCONT=1,"IP","CMNET"   /设置PDP参数
OK
AT+CGACT=1,1     //激活PDP,正确激活以后就可以上网了
OK
AT+CIPSTATUS? //查询ip连接情况,共有8路,实际最多支持同时开4路tcpip连接
+CIPSTATUS:
0,IP GPRSACT 
1,IP INITIAL 
2,IP INITIAL 
3,IP INITIAL 
4,IP INITIAL 
5,IP INITIAL 
6,IP INITIAL 
7,IP INITIAL 
OK

AT+CIPSTART="TCP","122.114.122.174",36779 //连接TCP服务器,用户请修改自己的服务器
CONNECT OK
OK

AT+CIPSEND=5,"qwert" //发送5个字节的字符,注意此种方式只支持可见字符
OK
AT+CIPSEND=5	//发送5字节的数据,此种方式可以发送任意二进制数据
12345
OK
AT+CIPSEND//发送字符,以CTRL+Z(16进制的0x1a)结尾
qwert
OK
+CIPRCV:21,Server Send Data Test //收到服务器发送过来的数据,内容也可以是二进制任意数据

AT+CIPSTATUS?          //查询链路状态
+CIPSTATUS:
0,CONNECT OK 
1,IP INITIAL 
2,IP INITIAL 
3,IP INITIAL 
4,IP INITIAL 
5,IP INITIAL 
6,IP INITIAL 
7,IP INITIAL 
OK
AT+CIPCLOSE  //关闭该链路
OK
AT+CIPMUX? /查询是否开启多连接
+CIPMUX:0
OK

AT+CIPMUX=1     //开启多链接
OK

AT+CIPSTART="TCP","122.114.122.174",36779  //发起第一个TCP连接
+CIPNUM:0    //只有点开启多链接的时候才会有,1为返回的链路号
CONNECT OK
OK
AT+CIPSTART="TCP","www.baidu.com",80   //发起第二路连接  
+CIPNUM:1    //只有点开启多链接的时候才会有,1为返回的链路号
CONNECT OK
OK
AT+CIPSTART="TCP","www.hao123.com",80      //发起第三路连接
+CIPNUM:2    //只有点开启多链接的时候才会有,2为返回的链路号
CONNECT OK
OK
AT+CIPSTATUS
+CIPSTATUS:
0,CONNECT OK 
1,CONNECT OK 
2,CONNECT OK 
3,IP INITIAL 
4,IP INITIAL 
5,IP INITIAL 
6,IP INITIAL 
7,IP INITIAL 
OK
AT+CIPCLOSE=3   //关闭链路号为3的连接
+CME ERROR:50   //链路3实际上没有创建
AT+CIPCLOSE=2   //关闭链路号为2的连接
OK
AT+CIPCLOSE=1   //关闭链路号为1的连接
OK
AT+CIPSTATUS
+CIPSTATUS:   //只剩下链路0,其他两路关闭
0,CONNECT OK 
1,IP CLOSE 
2,IP CLOSE 
3,IP INITIAL 
4,IP INITIAL 
5,IP INITIAL 
6,IP INITIAL 
7,IP INITIAL 
OK

AT+CIPSTART="TCP","www.baidu.com",80
+CIPNUM:1
CONNECT OK
OK

AT+CIPSTART="TCP","www.hao123.com",80
+CIPNUM:2
CONNECT OK
OK

AT+CIPSTART="UDP","121.41.97.28",60006
+CIPNUM:3
UDP BIND OK
OK

AT+CIPSTATUS?
+CIPSTATUS:   //可以看到0-3链路号都被占用,建立了4路IP连接
0,CONNECT OK 
1,CONNECT OK 
2,CONNECT OK 
3,SOCKET OK 
4,IP INITIAL 
5,IP INITIAL 
6,IP INITIAL 
7,IP INITIAL 
OK
AT+CIPSEND=0,5,"qwert"//链路0发送5个字节的字符,"qwert",本指令只支持可见字符
OK

A9/A9G使用安信可微信公众号以及A9Tracker_app获取定位信息

相关指令

AT+GIZQRCODE	//获取二维码字符串,用来制作二维码扫码绑定,或者直接在微信上手动该字符串输入绑定
AT+GIZTRACKER=1,0,10,1	//连接服务器 
http://wiki.ai-thinker.com/gprs/a9g/a9tracker	APP对接教程
http://wiki.ai-thinker.com/gprs/a9g/MP		微信对接教程

指令解析

AT+GIZTRACKER=< on/off >,[server],[upload interval],[use LBS],[pk],[ps]
n/off      值:0/1.该参数为0时关闭,设置为1为自动上传
serve      选择服务器:0为安信可服务器;1为自定义服务器(第一次使用的时候必须附带PK,PS参数,连接成功后,这两个参数会被保存)
up in      上传数据的时间间隔(s),默认值为0(不上传)
use LBS    值:0/1;设置1,从LBS获得定位信息;设置0,从GPS获取定位信息。当GPS信号弱,可以选择从LBS获取信息(A9只能从LBS获取信息)。默认值为0。
pk ps      产品的key 和secret.这些是在自己创建产品时用到的,详见9/A9G十分钟对接机智云创建属于自己产品的程:http://www.jianshu.com/p/e3d86a263be5

示例

AT+GIZQRCODE
+GIZQRCODE:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx//一长串字符串
AT+GIZTRACKER=1,0,10,1 —>参数3为上传定位信息的时间间隔,参数4为选择使用基站定位功能还是GPS功能上传定位信息1->LBS,0->GPS
+GIZTRACKER:Start —>返回值
OK
+GIZWITS:sign in end
+GIZWITS:conn end —>连接服务器成功
OK
注意:该命令会自动保存,开机之后自动运行该命令连接服务器。如果需要停止运行使用At+GIZTRACKER=0;

A9/A9G十分钟对接机智云创建属于自己产品的教程

功能解读 该功能的实现,需要客户首先子机智云官网申请开发者账号,创建产品,获得产品的 Product Key和 Product Secret ,然后,常见上报的数据点类型,按以下方式发送数据即可上传到机智云服务器。

A9G(GPS)

===== GPS(简化版) ===== 相关指令 AT+LOCATION=X 示例 At+LOCATION=0(return:<latitude>,<longitude>OK) xx.xxxxx,xxx.xxxxxx(小数点后固定为6位) OK

GPS定位

相关指令

AT+GPS=1,开 GPS	
AT+GPS=0,关闭 GPS
AT+GPS? ,查询 GPS 的状态
AT+GPSRD=N,N 是数字表示 N 秒输出一条 NEMA 信息从 AT 串口。
AT+LOCATION=X	//X=1获取的是基站的地址,X=2是获取的是GPS的地址

注意,在打开GPS之后,模组的GPS_TXD会以9600波特率默认输出定位信息,这个不影响整个模组的波特率,例如A9G模组的工作波特率是115200,发送AT指令开启GPS,这个时候GPS_TXD会以9600波特率输出信息,AT串口依然是115200。

另外,请注意,该定位信息会输出GNGGA GNRMC而不是 GPGGA和GPRMC,模组使用的是混合定位系统,包括了GPS,BDS和GNNS(全球导航系统)。解释一下输出信息头的组成,例如GPGGA,拆分为GP+GGA->定位系统+输出数据类型 ,GP为GPS定位系统,GGA为时间、位置、卫星数量的输出信息,同理GNGGA即为GN+GGA->定位系统+输出数据类型,GN为全球导航系统, GGA为时间、位置、卫星数量的输出信息,其他指令请依次类推。
最后,模组默认的是GPS+BDS混合模式输出,那么输出的信息即为GN开头的数据,如果设置为单独模式,则为该模式开头的数据输出,例如设置为GPS模式,则输出信息为GPGGA。

示例

AT+GPS=1		//开启GPS功能
OK

AT+GPSRD=N		//N秒输出一条 NEMA 信息 从 AT 串口
+GPSRD:
$GNGGA,000840.261,2236.3719,N,11350.4081,E,0,0,,153.2,M,-3.2,M,,*4F
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$BDGSA,A,1,,,,,,,,,,,,,,,*0F
$GPGSV,1,1,00*79
$BDGSV,1,1,00*68
$GNRMC,000840.261,V,2236.3719,N,11350.4081,E,0.000,0.00,060180,,,N*5C
$GNVTG,0.00,T,,M,0.000,N,0.000,K,N*2C

AT+LOCATION = 2				//获取GPS的地址信息,前提是GPS能够看得到卫星才能够返回,否则会返回GPS NOT FIX NOW

GPS扩展指令

相关指令

AT+GPSMD=1    GPS模式(暂时不支持单独的BD模式,bd系统暂时只覆盖亚洲)
AT+GPSMD=2    GPS+BD模式
模组默认的是GPS+BDS混合模式输出,那么输出的信息即为GN开头的数据,如果设置为单独模式,则为该模式开头的数据输出,例如设置为GPS模式,则输出信息为GPGGA。

示例

AT+GPS=1      先打开GPS
AT+GPSMD=x    x=1或者2,选择开启那个模式, 默认为GPS+BDS模式
At+GPSRD=x    数字x表示 x 秒输出一条 NEMA 信息从 AT 串口

GPS的低功耗模式

相关指令

AT+GPSLP=x	//GPS的低功耗设置,x的取值分别是0,1,2
AT+GPSLP=0	//正常模式		   ----  电流的值测试在0.063A左右
AT+GPSLP=1	//串口低功耗模式	
AT+GPSLP=2	//GPS低功耗模式    ----  电流的值测试在0.034A左右
//模组GPS的默认的默认模式是正常模式,设置GPS模式的时候不会立即生效,需要过一段时间才会生效

示例:

AT+GPS=1	//开启GPS
AT+GPSRD=10     //10秒输出一条 NEMA 信息
AT+GPSLP=2      //设置GPS模式为低功耗模式

AGPS

相关指令

AT+AGPS=1,开 AGPS,同时会打开 GPS 使用时先关闭GPS功能。
AT+AGPS=0,关闭 AGPS,
AT+AGPS? ,查询 AGPS 的状态
AT+GPSRD=N,N 是数字表示 N 秒输出一条 NEMA 信息从 AT 串口。
注意,AGPS是辅助定位功能,加快GPS的定位时间,在使用之前建议先附着和激活网络,因此,要先使用命令附着和激活网络。
注意,在打开GPS之后,模组的GPRS_RXD(因为GPS的芯片是接在gprs模组上进行通信,所以模组的GPRS_RXD实际上是gps芯片的TXD引脚)会以9600波特率默认输出定位信息,这个不影响整个模组的波特率,例如A9G模组的工作波特率是115200,发送AT指令开启GPS,这个时候GPRS_TXD会以9600波特率输出信息,AT串口依然是115200。

示例:

AT+CGATT=1  //附着网络,如果需要上网,这条指令是必选的
+CGATT:1
OK
AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
OK
AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了
OK
AT+GPS=0
OK

AT+AGPS=1
+AGPS:GPD OK
+AGPS:OK
OK

AT+GPSRD=N
OK
+GPSRD:
$GNGGA,050041.129,2236.1052,N,11350.2770,E,0,0,,3.2,M,-3.2,M,,*4D
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$BDGSA,A,1,,,,,,,,,,,,,,,*0F
$GPGSV,4,1,14,05,59,296,,02,53,008,,06,37,068,,19,35,142,*74
$GPGSV,4,2,14,13,32,180,,12,28,252,,20,20,255,,25,15,288,*7F
$GPGSV,4,3,14,17,14,145,,29,11,323,,09,10,040,,15,08,205,*76
$GPGSV,4,4,14,30,03,112,,193,,,*75
$BDGSV,1,1,00*68

GPS指示灯的状态

相关指令

AT+GPNT=x  	//设置GPS指示灯的状态,x=0或者x=1;
AT+GPNT=0	//GPS灯为闪烁状态
AT+GPNT=1	//GPS灯为电平状态 
      

示例

AT+GPNT=?   //查询x可以设置的值
+GPNT: (0:led flash,1:led notice)
OK
AT+GPNT=0	//设置GPS灯的状态
OK

设置模组的低功耗模式

相关指令:

AT+SLEEP=x	//设置模组的低功耗模式,x的取值分别是0,1,2
AT+SLEEP=0	//关闭低功耗模式  --- 进入低功耗的电流值是00.213A
AT+SLEEP=1	//进入GPIO低功耗模式,GPIO25引脚拉低进入模组低功耗,引脚拉高将退出低功耗,GPIO25默认是高电平
AT+SLEEP=2	//串口低功耗模式,可以通过串口唤醒  ----  还有那么一点问题********
 注意: 进入串口低功耗模式,在该模式串口可以接收和发送数据,模组会在低功耗和正常模式下正常切换。
       进入GPIO口低功耗模式,在接受到数据。短信,电话不会被唤醒,需要控制引脚拉高,退出低功耗模式
       GPIO26用于低功耗模式的通知GPIO(如果进入了GPIO低功耗模式,通过用示波器连接GPIO26引脚,可以检测GPIO26引脚的电平判断是否收到数据)
       

示例1(GPIO低功耗)

AT+SLEEP=1  //GPIO低功耗模式 	
OK
//发送命令成功之后,将GPIO25引脚和GND引脚进行相连,之后继续发送AT指令是没有任何效果的:

示例2(串口低功耗)

AT+SLEEP=2  //串口低功耗模式
OK
//进入串口低功耗的时候,模组消耗的电流会降低,但是还是可以发送数据
AT
OK
//模组发送数据,会自动退出低功耗,此时消耗电流又会升高

教程:http://www.jianshu.com/p/e3d86a263be5