GPRS DTU工作的原理与应用场景
GPRS DTU是属于物联网无线数据终端设备的中一种,它主要是利用公用运营商的GPRS网络(又称G网)来为用户提供无线长距离数据传输的功能。一般都是采用的高性能工业级8/16/32位通信处理器和工业级的无线模块,以嵌入式实时操作系统作为软件支撑平台,同时提供RS232和RS485(或RS422)接口,可以直接连接到串口设备,实现数据透明传输的功能。因此,在GSM系统的基础上构建GPRS系统时,GSM系统中的绝大部分部件都不需要作硬件改动,只需作软件升级。有了GPRS,用户的呼叫建立时间大大缩短,几乎可以做到“永远在线”。此外, GPRS是以营运商传输的数据量而不是连接时间为基准来计费,从而令每个用户的服务成本低。
GPRS DTU工作原理介绍:
GPRS DTU通过数据中心的IP地址(如果是采用中心域名的话,先通过中心域名解析出中心IP地址)以及端口号等参数,向数据中心发起TCP或UDP通信请求。在得到中心的响应后,GPRS DTU即认为与中心握手成功,然后就保持这个通信连接一直存在,如果通信连接中断,GPRS DTU将立即重新与中心握手。
由于TCP/UDP通信连接已经建立,就可以进行数据双向通信了。
对于dtu模块来说,只要建立了与数据中心的双向通信,完成用户串口数据与GPRS网络数据包的转换就相对简单了。一旦接收到用户的串口数据,DTU就立即把串口数据封装在一个TCP/UDP包里,发送给数据中心。反之,当DTU收到数据中心发来的TCP/UDP包时,从中取出数据内容,立即通过串口发送给用户设备。 通过有线的数据采集中心,同时与很多个GPRS DTU进行双向通信。
GPRS DTU的应用场景:
在日常中判断应用系统是否适合采用GPRS网络进行数据传输,如果这几个方面都比较符合的话,那么采用GPRS DTU进行数据传输是非常合适的。
1、现场只能使用无线通信环境当数据采集现场的设备需要在移动中工作,或者采集现场处于野外等情况下,无法提供有线通信的环境。这个时候,采用GPRS无线网络就可能是一个好的选择,因为GPRS网络的覆盖率目前已经很高,全国大部分地区均有GPRS信号覆盖。
2、现场终端的传输距离分散由于GPRS网络是覆盖全国的公共网络,因此采用GPRS来传输数据的一大优势就是现场采集点可以分步在全国范围,数据中心与现场采集点之间的距离不受限制。无线公网通信(包括GPRS/CDMA网络,3G网络等)这个非常显著的优点是专用无线通信网络(比如数传电台,WiMax,WLAN等)无法达到的。
3、 适当的数据通信速率GPRS DTU与数据中心的数据通信速率一般在10kbps-60kbps之间。从也就是说,GPRS DTU可以持续不断地以10bps-60kbps的速度向中心发送数据,反之亦然。(补充说明:国内CDMA网络的数据通信平均速率可以达到40kbps-90kbps左右)
从系统应用可靠性角度来讲,我们认为当应用系统本身的数据平均通信量在30kbps以内的时候,使用GPRS网络来进行数据传输是比较适合的。
从另一个角度来讲,如果我们要设计的系统希望通过GPRS网络来传输数据,那么就需要把数据平均通信量控制在30kbps之内。
4、适当的数据实时性要求目前的GPRS网络,其传输数据的延时为秒级范围。在绝大部分时间下,GPRS数据通信的平均整体延时为2秒左右。也就是说,从GPRS DTU端发送的数据包将大致在2秒钟后到达数据中心。反之,从数据中的数据包也大致在2秒钟后到达GPRS DTU。
从另一个角度来讲,如果我们要设计的系统希望通过GPRS网络来传输数据,那么就要在设计通信协议时候考虑这种延时的情况。
GPRS的这种实时性,可以满足大部分行业应用的需求。 但是,对于一些特殊的应用系统,如果不能承受2秒左右的平均延时,那么GPRS通信方式就可能是不适合的。(另外,CDMA网络的传输延时也是1秒-2秒左右)。
GPRS DTU工作的原理与应用场景的更多相关文章
- GPRS DTU的工作原理和应用场景有哪些
GPRS DTU是属于物联网无线数据终端设备的中一种,它主要是利用公用运营商的GPRS网络(又称G网)来为用户提供无线长距离数据传输的功能.一般都是采用的高性能工业级8/16/32位通信处理器和工业级 ...
- GPRS DTU概念及DTU的工作原理(转)
源:http://blog.csdn.net/bichenggui/article/details/7889638 最近需要开发一个基于GRPS DTU数据传输的数据中心方案,于是找了一些资料.个人觉 ...
- GPRS的工作原理、主要特点
源:http://blog.csdn.net/sdudubing/article/details/7682467 GPRS的工作原理.主要特点: 引 言 近年来,通信技术和网络技术的迅速发展,特别是无 ...
- 购买GPRS DTU时应该怎么选择
GPRS DTU如今是一种被广泛应用的物联网无线数据终端,主要是利用GPRS网络为用户提供无线长距离数据透传功能,在电力.环保.物流.气象等行业领域有着广泛应用.目前市场上的GPRS DTU产品眼花缭 ...
- 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?
在日常开发中,尤其是业务开发,少不了利用 Java 对数据库进行基本的增删改查等数据操作,这也是 Java 工程师的必备技能之一.做好数据操作,不仅仅需要对 Java 语言相关框架的掌握,更需要对各种 ...
- [转帖]Docker五种存储驱动原理及应用场景和性能测试对比
Docker五种存储驱动原理及应用场景和性能测试对比 来源:http://dockone.io/article/1513 作者: 陈爱珍 布道师@七牛云 Docker最开始采用AUFS作为文件系统 ...
- 第36讲 谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景
在日常开发中,尤其是业务开发,少不了利用 Java 对数据库进行基本的增删改查等数据操作,这也是 Java 工程师的必备技能之一.做好数据操作,不仅仅需要对 Java 语言相关框架的掌握,更需要对各种 ...
- Dockerfile多阶段构建原理和使用场景
本文转载自Dockerfile多阶段构建原理和使用场景 导语 Docker 17.05版本以后,新增了Dockerfile多阶段构建.所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 ...
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
随机推荐
- 微服务实战系列(八)-网关springcloud gateway自定义规则
1. 场景描述 先说明下项目中使用的网关是:springcloud gateway, 因需要给各个网关服务系统提供自定义配置路由规则,实时生效,不用重启网关(重启风险大),目前已实现:动态加载自定义路 ...
- Kafka日志段读写分析
引子 之所以写这篇文章是因为之前面试时候被面试官问到(倒)了,面试官说:"你说你对Kafka比较熟?看过源码? 那说说kafka日志段如何读写的吧?" 我心里默默的说了句 &quo ...
- FastReport.Mono添加了新的条形码ITF-14
FastReport.Mono 是一款为Mono Framework设计的功能全面的报表生成工具.FastReport.Mono 是一个多平台的报表解决方法.它可以应用于Windows, Linux, ...
- ECharts系列:玩转ECharts之常用图(折线、柱状、饼状、散点、关系、树)
一.背景 最近产品叫我做一些集团系列的统计图,包括集团组织.协作.销售.采购等方面的.作为一名后端程序员,于是趁此机会来研究研究这个库. 如果你仅仅停留在用的层面,那还是蛮简单的. 二.介绍 ECha ...
- SPI应用 用SPI控制一个数字电位器
Controlling a Digital Potentiometer Using SPI In this tutorial you will learn how to control the AD5 ...
- [POI2009]ARC-Architects
[POI2009]ARC-Architects 题意: 给定一个序列,从中挑选k个数,满足下标单调递增,并且字典序最小: 思路: 由于字典序最小,所以考虑贪心,即前面的数尽可能大,所以用单调队列维护最 ...
- mac常用指令
mkdir demo //创建一个文件夹 touch index.html // 创建一个html文件 rm rouch index.html //删除找个index.html文件 rmdir dem ...
- Androng,一个针对Android的Pong克隆
下载application from Android market 下载source - 532 KB 内容 IntroductionAndroid游戏开发 活动视图绘图使用CanvasAnimati ...
- 感觉学java学到自己的瓶颈期了,各种框架乱七八糟,感觉好乱。该怎么办!?
通常我们都会有这样的一个疑问! 解决办法 这时候,你需要的是分清条理,重整知识架构 GitHub开源社区有一个这样的项目,我觉得非常好,很适合Java有基础但是想进阶提升的人. 项目简介 本期介绍的开 ...
- Python解析yaml配置文件
1.代码测试 import yaml fd = open('fileName.yaml', 'r') dict_tmp = yaml.load(fd) fd.close() print dict_tm ...