认识和选用常用的几种 GPRS 模块

我在这里把常见的GPRS模块分成3

(1)GPRS DTU(GPRS数传单元,常称GPRS透传模块)
(2)GPRS/GSM modem (这是一种纯的GPRS/GSM调制解调器,常称为GPRS猫)
(3) 包含tcp/ip协议栈的GPRS modem (其将GPRS/GSM modem 和tcpip协议栈封装在一起,内部有cpu,flash,ram,控制单元等硬件,和dtu功能类似)

GPRS DTU的理解及应用

GPRS DTU 内部封装了完善的TCP/IP等协议栈,可为无线传输传输提供透明的TCP/IP通道。主要应用于工业领域,而GPRS modem通常要完成类似的功能必须借助于PC机的软件和硬件资源,如CPU、Memory和TCP/IP协议栈等,所以我们经常可以看到PC接一个无线的Modem来连接到外部的数据网。

采用了GPRS的微控制器系统可以实现无线数传输领域的复杂应用,在远程抄表、工业控制、遥感/测、智能交通领域都得到了广泛的应用,下面是一个典型的应用:

在使用了RFID技术的公交领域,非接触卡得到了普便的应用,乘客的刷卡交易数据通常都存储在车载的读卡机具中,如果采用特定设备依次对每辆车的数据提取是一个非常繁杂的工作,而采用无线传输方式的优势显然是不言而喻的,通过车载无线设备,可以以灵活的方式将乘客的交易数据传输到数据中心进行统一处理,此外还可以实现远程的公交调度控制以及公交车电子站牌GPRS信息发布的发布等等。

当然,采用GPRS进行无线传输仍然存在一些问题需要更好地解决,比如传输的可靠性问题、传输速率等,目前GPRS的理论带宽是171.2Kbps,实际应用带宽在40Kbps左右。

GPRS无线设备连接到外部数据网两种方法的比较!

我们使用GPRS无线设备做数传的时候,在连接到外部数据网时通常有两种方法:

( I ).拨号上网:常见的如拨ATD *99***#

( II ).指定Server的IP地址、Port端口号,使用特定的AT指令来连接到外部的数据网,也即internet

例如:Simcom的GPRS模块SIM300C采用的指令为:

AT+CIPSTART = "TCP","211.247.26.252","3030",即可连接具有公网IP地址为211.247.26.252,TCP端口号为3030的Server。

两种方式各有特点:拨号上网的方式采用的是外部的协议栈,需要用户自己来实现PPP、TCP、UDP等协议栈,而第二种方式则采用模块自带的协议栈,用户的底层应用程序不需要实现上述较为复杂的协议栈。所以,早期的GPRS无线模块多不带协议栈,常用第一种方式做数传。而自身带有通讯协议栈的GPRS模块多采用第二种方式。

当然,二者各有优缺点,采用第一种方式,实现起来较为复杂,但是使用灵活,用户的数据封装比较灵活,可以适应用户的特殊应用。采用第二种方式,由于自身带有完备的通讯协议栈,所以用户实现起来较为简单,但成本较高,数据的封装格式也较为固定。

  GPRS DTUGPRS MODEM有什么区别?

GPRS DTU全称GPRS数据终端单元,在软件设计上,它封装了协议栈内容并且具有嵌入式操作系统,硬件上可看作是嵌入式PC加无线接入部分的结合, 用于串口数据可靠传输;

GPRS MODEM是接入GPRS分组网络的一个物理通道,它本身不具有操作系统,必须依附于计算机(在功能类似与有线MODEM),在计算机操作系统之上才能进行PPP拨号连接,通常是与PC结合使用,实现拨号上网。

从某种角度来说,GPRS DTU是嵌入式PC与GPRS MODEM的结合。

 GPRS DTU的四个核心功能:

1)内部集成TCP/IP协议栈
GPRS DTU内部封装了PPP拨号协议以及TCP/IP协议栈并且具有嵌入式操作系统,从硬件上,它可看作是嵌入式PC与无线GPRS MODEM的结合;它具备GPRS拨号上网以及TCP/IP数据通信的功能。
2)提供串口数据双向转换功能
GPRS DTU提供了串行通信接口,包括RS232,RS485,RS422等都属于常用的串行通信方式,而且GPRS DTU在设计上大都将串口数据设计成“透明转换”的方式,也就是说GPRS DTU可以将串口上的原始数据转换成TCP/IP数据包进行传送,而不需要改变原有的数据通信内容。因此,GPRS DTU可以和各种使用串口通信的用户设备进行连接,而且不需要对用户设备作改动。
3)支持自动心跳,保持永久在线
GPRS通信网络的优点之一就是支持GPRS终端设备永久在线,因此典型的GPRS DTU在设计上都支持永久在线功能,这就要求DTU包含了上电自动拨号、采用心跳包保持永久在线(当长时间没有数据通信时,移动网关将断开DTU与中心的连接,心跳包就是DTU与数据中心在连接被断开之前发送一个小数据包,以保持连接不被断开)、支持断线自动重连、自动重拨号等特点。
4)支持参数配置,永久保存
   GPRS DTU作为一种通信设备,其应用场合十分广泛。在不同的应用中,数据中心的IP地址及端口号,串口的波特率等都是不同的。因此,GPRS DTU都应支持参数配置,并且将配置好的参数保存内部的永久存储器件内(一般为FLASH或EEPROM等)。一旦上电,就自动按照设置好的参数进行工作。
GPRS DTU的扩展功能:
   较为专业的GPRS DTU还提供一些扩展功能,主要包括:支持数据中心域名解析、支持远程参数配置/远程固件升级、支持远程短信/电话唤醒、支持本地串口固件升级、提供短信通道、提供DTU在线/离线电平指示等。这些扩展功能可以增强系统的可靠性,以及方便用户的使用及维护。
在工作方式上,GPRS DTU于GPRS MODEM的最大区别就是GPRS DTU内部CPU在主动进行控制拨号和处理TCP/IP协议包.而GPRS MODEM则是被动的,需要外部设备来进行拨号和进行TCP/IP协议包处理.

  使用时该如何选择?

如果是要求数据长期可靠传输, 那么应当采用GPRS DTU,通过GPRS网络平台,实现与监控中心端的数据通信。
即便现场是计算机,可以设置拨号网络, 但是在无人值守的情况要进行自动传输,也建议使用GPRS DTU,因为普通计算机的操作系统(如Windows)的拨号网络主要是针对普通用户的上网业务(如浏览网页,收发Email等)设计的,而不是针对数据可靠收发应用来设计的.
例如,对于断线重拨的处理上,Windows操作系统最多是提示网络断线,而并不进行自动重拨.而对于无人值守的应用领域,自动重拨应该是最基本的要求.而专业的GPRS DTU在这些方面处理都是非常完善的.

因此,在需要数据长期可靠传输的领域,都应选择使用GPRS DTU. 如果只是用于无线上网,则可以选择GPRS MODEM.

    下面来说说GPRS DTU和带tcpip协议栈的gprs modem的区别:
GPRS DTU上面已经说的很清楚了,带tcpip协议栈的gprs modem与它的差别在于,它在操作上还和普通的gprs modem很相似,即:所有对模块的操作只能用AT命令,尤其是发送和接收数据都要通过专用的AT命令。(注:这一点很不方便,你需要在自己的客户端编写读写串口设备的程序,读写的实质就是想串口读数据和写如AT命令,不能发挥带操作系统嵌入式系统的作用,而且有的时候会有副作用,本文最后说明。所以,建议如果嵌入式系统采用的cpu是单片机的话,因为单片机资源有限建议使用gprs dtu或者带协议栈的gprs modem,你要用纯gprs modem的话,将非常麻烦,你自己需要实现tcpip协议栈,难度很大。如果是使用像嵌入式linux操作系统的嵌入式无线上网,可以买个纯的gprs/gsm MODEM,成本也低)对于带tcpip协议栈的gprs modem它们都有自己的一套专用的tcpip at命令,所有使用它要看对应的at命令手册,在使用前,需要在minicom等类似串口操作工具上测试,模块的好坏。下面是我的带tcpip协议栈的gprs modem
(huawei gtm900B)在minicom下的测试记录:
AT+CGDCONT=1,"IP","CMNET"
OK
AT+CSQ
+CSQ: 11,0

上面的测试记录记录了两种IO模式(黑体部分为设置IO模式的参数),第二种方式(等号后第一参数为1):模块对输入输出数据进行转换(ascii和十六进制数进行转化,比如:想发送 0x1A 到对方,需要把0x1A转成2 字节:0x31,0x41,也就是可显字符’1’和’A’。发送的时候,发送的为字符串:”1A”,即:AT%IPSEND=”1A”。当模块收到用户这样的输入,在内部会把数据还原成有效数据0x1A。(注:模块中字符之间的转化是自动的,代码固化在里面)同样当等号后第一参数为1 的时候,模块收到TCP/UDP 连接方的数据,比如0x1A,会转换成相应的字符串"1A"输出。),这个时候用户也要对输入和输出数据进行相应转换(用户在自己客户端编程实现字符之间的转换,上面一大堆16进制数就没有转换的结果)。
第一种方式(等号后第一参数为0),不需要对输入的数据进行编码,但这个时候用户一定要确保输入的数据为可显字符且不能为分号(;)、引号("),推荐使用模式1。上面显示的telnet南京大学bbs后显示的结果,能正确显示Ascii的字符。
   注意:HUAWEI GTM900B可以用我的《GPRS模块在Linux平台上ppp拨号上网总结与心得》中第1和3种方式拨号成功,用第2种方式,可能由于带tcpip协议栈的副作用,使得一直出现"LCP: timeout sending Config-Requests" LCP配置报文发送超时而失败, 不能成功拨号!

认识和选用常用的几种 GPRS 模块相关推荐

  1. 认识和选用常用的几种 GPRS 模块(转)

    源:http://blog.sina.com.cn/s/blog_4d80055a0100e8kr.html 我在这里把常见的GPRS模块分成3种: (1)GPRS DTU(GPRS数传单元,常称GP ...

  2. 常用的几种GPRS模块介绍 GPRS模块选哪个好

    常用的几种GPRS模块介绍 GPRS模块选哪个好 所属分类:公司新闻发布时间:2018-12-05 GPRS模块采用GPRS的嵌入式系统可以实现无线数据传输领域的复杂应用,在远程抄表.工业控制.遥感遥 ...

  3. 常用的几种 GPRS 模块

    常见的GPRS模块分成3种: (1)GPRS DTU(GPRS数传单元,常称GPRS透传模块) (2)GPRS/GSM modem (这是一种纯的GPRS/GSM调制解调器,常称为GPRS猫) (3) ...

  4. springmvc常用5种注解_砂石骨料线常用的5种破碎设备、5种筛分和制砂设备特点比较...

    砂石骨料生产主要分为矿山开采.破碎.筛分及整形制砂几个环节,一般根据原料特性.系统规模.场地布置条件.系统工艺等进行设备选型,涉及的主要设备有破碎机.振动筛.制砂机,辅助设备有带式输送机.给料机.石粉 ...

  5. 51单片机下载完程序后不亮_程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍...

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

  6. sql优化常用的几种方法_Hive常用性能优化方法实践全面总结

    Apache Hive作为处理大数据量的大数据领域数据建设核心工具,数据量往往不是影响Hive执行效率的核心因素,数据倾斜.job数分配的不合理.磁盘或网络I/O过高.MapReduce配置的不合理等 ...

  7. 药店app的布局html,APP界面常用的8种页面布局

    学习UI设计的时候,经常要接触到页面的布局,布局的方式会直接影响一个APP的视觉效果,好的布局方式,往往能带来舒服的视觉效果,更能得到用户的接受与好评. 由于手机屏幕尺寸的限制,无法直接把所有内容在一 ...

  8. 简单介绍一下常用的几种无位置传感器的控制方式

    近年来,直流无刷电机的无位置传感器技术日益受到人们的关注,无位置传感器控制技术已成为直流无刷电机控制技术的一个发展方向.下面就简单介绍一下常用的几种无位置传感器控制方式: 1.反电势过零检测法 在直流 ...

  9. 程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍

    单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计.方便了逻辑的设计.丰富了逻辑的输出.不同厂家的单片机需要不同编程IDE来实现编 ...

最新文章

  1. 「PSR 规范」PSR-2 编码风格规范
  2. leetcode 两数相加c++_167. 两数之和 II - 输入有序数组
  3. Java Spring IOC用法
  4. 2021奢侈品营销启示录
  5. HTML5---新增客户端储存
  6. sqlserver2014内存数据库特性介绍
  7. CCF201803-3 URL映射(100分)【文本处理+暴力】
  8. overflow c语言_C语言表结构(一)
  9. 20190813 On Java8 第一章 对象的概念
  10. steam一键授权工具_Sam Haynor的100个STEAM项目
  11. 昱君金融超市西祠版开通了
  12. PHP获取中国所有的大学,全国300所大学的BBS论坛.doc
  13. 计划三年投入十亿资金,统信UOS生态腾飞加速
  14. Dubbo thread pool is exhausted
  15. 找直系亲属——并查集
  16. Ubuntu 18.04.2 LTS Bionic Beaver 发布
  17. 工程师高级职称计算机考试成绩查询,高级工程师证书查询(高级工程师职称查询系统)...
  18. Spring Cloud升级之路 - Hoxton - 10. 网关重试带Body的请求Body丢失的问题
  19. 以太坊系列 - 以太坊硬分叉和升级足迹
  20. 查找数组中重复的数字

热门文章

  1. uniapp实现video视频禁止拖拽快进功能,禁止拖动进度条快进
  2. 【阿里云2020校招提前批】中间件核心部门疯狂直推中!
  3. Linux下安装Oracle18c
  4. 计算机文化基础0008 17秋在线作业1,川大《计算机文化基础0008》17秋在线作业1(100分)...
  5. 嵌入式设备的JTAG,Angle,和ICE三种调试笔记
  6. 王阳明: <一> 破山中之贼易,破心中之贼难
  7. fh admin mysql版本_在用mysql-front的时候遇到显示:程序注册时间到期程序将被限制模式下运行。...
  8. 树莓派CM4_3xPCIE扩展板(SSD+WIFI6+USB3.0+5G+4G)——硬件介绍
  9. clickhouse建表异常 DB::Exception: No macro ‘shard‘ in config
  10. Unity射击游戏发射子弹的方法和提升流畅性的小技巧