我是靠谱客的博主 魁梧未来,最近开发中收集的这篇文章主要介绍GPRS常见知识点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1心跳功能

1.1 防止掉线。运营商为了防止终端挂在网上不传数据,在一定时间(一般为2分钟)内检测到有终端没有传输数据时,将会把终端踢下线。
1.2实现远程监控,可以知道终端的在线情况。

2、在线时间设置
目前应用中,一般使用40-60秒。

3、工作模式
3.1永远在线。则终端必须通过心跳,来维持,否则会因为(1.1)被踢下线。即需要一定的流量维持DTU在线。
3.2定时收发。1、中心呼叫方式:可以使用电路呼叫(即拨打电话),或者使用短信的方式,激活DTU上线。
                    2、当终端需要发送数据时,DTU建立连接发送数据。

GPRS DTU:相当于MCU+Gprs Modem通过MCU控制Modem实现了,网络的永久在线。也实现了PPP连接,这里一般是MCU
GPRS Modem:一般都是带有TCP/IP协议栈的,但是没有PPP协议即链路层协议。

http://company.mcuol.com/tjfelick/ProductDetail_76614.htm
GTM900c的一些参数,
http://wm.sim.com/product.aspx?id=1007
Simcom900a的一些参数

/*---------------------------------------------------------------------------------------------------------*/
GPRS(General Package Radio Service),通用分组业务。利用数据分组交换原理。当传送数据时,首先把数据打成一个个包,然后利用某个信道的一个时隙来传送数据。不传送不占信道,所以是按流量收费,而不是按占用信道的时间收费。
GPRS服务类型有CLASS A, CLASS B, CLASS C三种。A可以同时使用网络和电话功能;B在上网东风时候,会将电话功能屏蔽,当有电话进来时会自动奇幻网络;C则是单纯的网络应用,没有电话功能。
GPRS的速度有29种标准(即不同的上传和下载速度的组合),国内常用的是CLASS 8和CLASS 10两种,原理上为“4+1”和“4+2”,即4为下载速度为4倍的通道时槽速度,一条信道的速率为13.4kbps,理论速度为13.4*4=53.6Kbps,1和2是上传的速度,即CLASS 8 为13.4kbps。

GPRS缺点:
1、相对于无线专网成本不低,性价比优势不大;通信协议比专网复杂很多,入门有难度,不如无线专用简单易用。
2、受公网业务开通状况及i型您好覆盖范围的影响较大,能否在某处使用,完全取决于运行商的系统建设情况,不如无线专网灵活。
3、运行费用较高,GPRS按流量计费,通过网络的无用流量也会被计费。
4、实时性差,尤其是节假日系统的负荷,系统及网络阻塞严重,信息不畅,不能及时发送或者收到有用信息,会误事。
5、系统安全性较差,公网的安全性远不如专网。

GPRS可能出现的问题:
1、模块开机连接激战的时间长,要达到40秒左右。
2、天气不好时,连接GPRS时间长,大概要20秒作于,而且模块对命令回复正常,但是很多时候,服务器没有收到连接请求。
3、数据延迟,可能一段时间后,服务器才会收到之前GPRS模块发出的数据。造成模块判断失败。
解决的思路:
1、模块返回OK,说明命令成功到达模块且格式正确,并不表示连接基站收到数据处理了相应的任务。
2、由1,对于命令要判断OK之后的状态信息,对于没有状态信息的命令,就没有办法这样做。
3、应用层的心跳是必须的。用来判断是否还处于连接。

GPRS常见故障:
一、GPRS网络共享硬件故障:
1、信号强度低,措施:使用外置天线,馈线长1.5m。
2、电源功率余量小,措施:使用电流较大的电源,因为GPRS模块不拨号时工作电流为50ma,拨号时持续电流为200-1000ma,在留有余量的情况下,使用2A的电源适配器。
二、GPRS网络共享硬件故障:
1、不能连接,措施:需要重新连接,优势需要多次启动才能解决问题。GPRS网络是在无宽带连接的情况下的备用选择。因为,无线信号,共享服务稳定性,系统网络配置等都会影响其使用的稳定性。

GPRS网络共享白天或深夜一般比较正常。但是在通话高峰时段如(晚7:00-10:00)卡的现象较严重,因为在这些时段,移动基站的容量有限,且话音业务优先分配,当话务量接近饱和时GPRS的物理信道(时隙)分配给话音业务。造成GPRS连接拒绝和数据丢包率,出现掉线。
因为语音和GPRS占用相同的信道(时隙),所以在语音通话时,GPRS必然断开,当结束后要重新连接GPRS。

常用的几个GPRS模块:
1、GPRS DTU(GPRS数传单元,常称GPRS透传模块)
2、GPRS/GSM Modem(纯的GPRS/GSM调制解调器, 常称GPRS猫)
3、带TCP/IP协议栈的GPRS Modem(将Modem和TCP/IP协议栈封装在一起)

GPRS DTU(GPRS数据终端单元)内部封装完整的TCP/IP等协议栈,为无线传输提供透明的TCP/IP通道。
GPRS Modem是接入GPRS分组网络的一个物理通道,需要借助于外部的控制来完成DTU的功能。即DTU是使用Modem+MCU的组合。

DTU的四个核心功能:
1、内部集成TCP/IP协议栈;
2、提供串口数据双向的转换功能;
3、支持自动心跳保持永久在线;
4、支持参数配置,永久保存。

Modem的功能:
带TCP/IP协议栈的Modem在操作上还和普通的Gprs modem很类似,即:对所有的模块的操作时能用AT命令,尤其是发送和结束数据都要通过专用的AT命令。(这里就要自己实现串口的读写程序)
/*----------------------------------------------------------------------------------------------------------*/
2012-12-13
http://bbs.csdn.net/topics/210057079
GPRS 建立连接的过程中的一些注意事项。
http://bbs.csdn.net/topics/210029689
用AT指令操作GPRS模块时的一些概念

现在的理解,
关于AT指令建立了和网络的连接,相当于路由器,
但是和PC端的交互之间的协议
是PPP,
所以这个PPP需要PC端来执行,
同理将控制GPRS模块的MCU看做PC,这里就需要PC实现PPP来操作才可以。

是依靠模块自己建立GPRS网络连接,
还是自己使用PPP协议实现网络连接,

又似乎里边使用AT指令建立的网络连接是模块自己调用PPP完成的。

链路层:
硬件链路层
数据链路层

使用AT指令,这里的网络建立是有模块来维持的,
模块初始化流程 

AT //确认串口正常,模块出厂默认波特率=9600 
OK 
ATE0 //关闭回显 
OK 
AT+CPIN? //检查SIM工作是否正常 
+CPIN: READY 
OK 
AT%SLEEP=0 //关闭睡眠模式,GTM900-A模块默认是开启睡眠模式的,睡眠后,可以降低功耗,但是睡眠后的第一条AT指令会不响应 
OK 
AT+CREG=1 //设置模块网络注册提示,当模块从GSM网络中掉线后,会自动上报+CREG: 1,0 
OK 
AT+CREG? //检查GSM网络注册情况 
+CREG: 1,1 
OK 

AT //确认串口正常,模块出厂默认波特率=9600 
OK 
ATE0 //关闭回显 
OK 
AT+CPIN? //检查SIM工作是否正常 
+CPIN: READY 
OK 
AT%SLEEP=0 //关闭睡眠模式,GTM900-A模块默认是开启睡眠模式的,睡眠后,可以降低功耗,但是睡眠后的第一条AT指令会不响应 
OK 
AT+CREG=1 //设置模块网络注册提示,当模块从GSM网络中掉线后,会自动上报+CREG: 1,0 
OK 
AT+CREG? //检查GSM网络注册情况 
+CREG: 1,1 
OK 
AT+CSQ //检查当地的网络信号强度,31最大,0最小。建议该命令空闲时,循环发送,了解网络信号状态 
+CSQ: 27,99 
OK 
AT+CGREG=1 //设置模块GPRS网络注册提示,当模块从GPRS网络中掉线后,会自动上报+CGREG: 1,0 
OK 
AT+CGREG? //检查GPRS网络注册情况。建议该命令空闲时,循环发送,了解模块注册网络状态 
+CGREG: 1,1 
OK 
at+cgatt=1 //GTM900-A模块默认是不附着GPRS网络的,因此如果需要使用GPRS功能,必须手动设置附着 
OK 
AT+CGATT? 
+CGATT: 1 
OK 
AT+CLIP=1 //设置来电号码显示功能 
OK 
AT+CNMI=2,1,0,0,0 //设置短信接收上报的机制,如果不需要短信功能可以不设置。该命令设置成功需要开机30S左右的时间 
OK 
AT+CMGF=0 
OK 
AT+CSCA? 
+CSCA: "+8613800851500",145 //短信中心号码,一般卡内都有。不需要另外设置 
OK 
AT+CGMI 
HUAWEI 
OK 
AT+CGMM 
GTM900B 
OK 
AT+CGMR 
HW REVISION: C 
SW REVISION: 01.202SP1T //请注意版本号,方便技术上的交流沟通 
OK 
AT+CGSN 
030CNE7A69005499 
OK 
AT+CIMI 
460008191362007 
OK

推荐短信流程

at+cpms? //确认短信存储器为SIM卡 
+CPMS: "SM",0,40,"SM",0,40,"SM",0,40 
OK 
at+cmgf=1 //设置短信格式为文本 
OK 
at+cmgl="ALL" //读取全部短信内容 
+CMGL: 7,"REC READ","8613595751794",,"07/05/11,09:02:21+00",145,13 
>12344rtkmh 
+CMGL: 8,"REC READ","8613595751794",,"07/05/11,09:05:06+00",145,13 
>12344rtkmh 
+CMGL: 9,"REC READ","8613595751794",,"07/05/11,09:06:53+00",145,13 
>12344rtkmh 
OK 
//由于关机或其他原因造成SIM卡内可能有未读的短信,或已读的短信,根据你们的需要检查每条短信是否需要进行处理。如果不需要直接全部删除。 
at+cmgd=1,4 //全部删除 
OK 
//开始发送短信 
at+cmgs="13828817252" //发送号码,引号引起。 
> //大于号是从模块收到,没有0xOD 0x0A。收到后,送短信内容。 
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
0x1A //发送0x1A,结束短信内容,并发送。 
+CMGS: 15 //发送成功序号,0-255轮回 
OK 
//接收短信,设置AT+CNMI=2,1,0,0,0后,收到短信会自动上报 
+CMTI: "SM",1 //模块自动上报 
+CMTI: "SM",2 
at+cmgr=1 //根据序号读取短信 
+CMGR: "REC UNREAD","8613828817252",,"07/05/25,14:05:52+32",145,36,0,0,"8613800755500",145,5 
mjtag 
OK 
at+cmgd=1,1 //读完后,请直接删除该序号的短信,避免二次处理 
OK 
+CMTI: "SM",1 //序号1的位置删除后,新短信来,就会填入序号1 
+CMTI: "SM",3 //序号2没删除,再来短信就继续序号3 
at+cmgr=3 
+CMGR: "REC UNREAD","8613828817252",,"07/05/25,14:22:03+32",145,36,0,0,"8613800755500",145,2 
Dj 
OK


AT+CSQ //检查当地的网络信号强度,31最大,0最小。建议该命令空闲时,循环发送,了解网络信号状态 
+CSQ: 27,99 
OK 
AT+CGREG=1 //设置模块GPRS网络注册提示,当模块从GPRS网络中掉线后,会自动上报+CGREG: 1,0 
OK 
AT+CGREG? //检查GPRS网络注册情况。建议该命令空闲时,循环发送,了解模块注册网络状态 
+CGREG: 1,1 
OK 
at+cgatt=1 //GTM900-A模块默认是不附着GPRS网络的,因此如果需要使用GPRS功能,必须手动设置附着 
OK 
AT+CGATT? 
+CGATT: 1 
OK 
AT+CLIP=1 //设置来电号码显示功能 
OK 
AT+CNMI=2,1,0,0,0 //设置短信接收上报的机制,如果不需要短信功能可以不设置。该命令设置成功需要开机30S左右的时间 
OK 
AT+CMGF=0 
OK 
AT+CSCA? 
+CSCA: "+8613800851500",145 //短信中心号码,一般卡内都有。不需要另外设置 
OK 
AT+CGMI 
HUAWEI 
OK 
AT+CGMM 
GTM900B 
OK 
AT+CGMR 
HW REVISION: C 
SW REVISION: 01.202SP1T //请注意版本号,方便技术上的交流沟通 
OK 
AT+CGSN 
030CNE7A69005499 
OK 
AT+CIMI 
460008191362007 
OK

推荐短信流程

at+cpms? //确认短信存储器为SIM卡 
+CPMS: "SM",0,40,"SM",0,40,"SM",0,40 
OK 
at+cmgf=1 //设置短信格式为文本 
OK 
at+cmgl="ALL" //读取全部短信内容 
+CMGL: 7,"REC READ","8613595751794",,"07/05/11,09:02:21+00",145,13 
>12344rtkmh 
+CMGL: 8,"REC READ","8613595751794",,"07/05/11,09:05:06+00",145,13 
>12344rtkmh 
+CMGL: 9,"REC READ","8613595751794",,"07/05/11,09:06:53+00",145,13 
>12344rtkmh 
OK 
//由于关机或其他原因造成SIM卡内可能有未读的短信,或已读的短信,根据你们的需要检查每条短信是否需要进行处理。如果不需要直接全部删除。 
at+cmgd=1,4 //全部删除 
OK 
//开始发送短信 
at+cmgs="13828817252" //发送号码,引号引起。 
> //大于号是从模块收到,没有0xOD 0x0A。收到后,送短信内容。 
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
0x1A //发送0x1A,结束短信内容,并发送。 
+CMGS: 15 //发送成功序号,0-255轮回 
OK 
//接收短信,设置AT+CNMI=2,1,0,0,0后,收到短信会自动上报 
+CMTI: "SM",1 //模块自动上报 
+CMTI: "SM",2 
at+cmgr=1 //根据序号读取短信 
+CMGR: "REC UNREAD","8613828817252",,"07/05/25,14:05:52+32",145,36,0,0,"8613800755500",145,5 
mjtag 
OK 
at+cmgd=1,1 //读完后,请直接删除该序号的短信,避免二次处理 
OK 
+CMTI: "SM",1 //序号1的位置删除后,新短信来,就会填入序号1 
+CMTI: "SM",3 //序号2没删除,再来短信就继续序号3 
at+cmgr=3 
+CMGR: "REC UNREAD","8613828817252",,"07/05/25,14:22:03+32",145,36,0,0,"8613800755500",145,2 
Dj 
OK


最后

以上就是魁梧未来为你收集整理的GPRS常见知识点的全部内容,希望文章能够帮你解决GPRS常见知识点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部