GPRS本质论

2023-11-04

GPRS DTU最基本的用法是:在DTU中放入一张开通GPRS功能的SIM卡,DTU上电后先注册到GPRS网络,然后通过GPRS网络和数据处理中心建立连接。这条连接涉及了无线网络运营商,因特网宽 带供应商,用户公司的网络情况,以及用户的电脑配置等环节,因此要建立这条连接需要把各部分都配置好。

在本质上,DTU和数据处理中心建立的是SOCKET连接。DTU是SOCKET客户端,数据处理中心是SOCKET的服务端。SOCKET连接有TCP协议和UDP协议之分,DTU和中心要使用相同的协议,这个一般都有配置软件进行配置。

给DTU配置好中心的IP地址和端口号后,则把DTU通过串口和用户的设备相连。DTU和水文、电力、气象、环保等用户设备通过串口连起来放置在现场。

DTU上电后首先注册到移动的网络,然后发送建立SOCKET的请求包给移动,移动把这个请求发送到因特网。中心的服务端软件接收到请求后建立连接,并发送应答信息。

DTU发送的请求信息是因特网上的数据包,有一些原因会阻止中心收到连接请求包,这样也就不能建立连接。最常见的有中心的电脑上有杀毒软件、防火墙等把这些数据包给屏蔽了。另一是中心电脑是通过路由器上网的,在路由器上要设置数据转发。SOCKET连接建立后就可以双向通信了。

工作过程

GPRS DTU上电后,首先读出内部FLASH中保存的工作参数(包括GPRS拨号参数,串口波特率,数据中心IP地址等等,事先已经配置好)。

GPRS DTU登陆GSM网络,然后进行GPRS PPP拨号。拨号成功后,GPRS DTU将获得一个由移动随机分配的内部IP地址(一般是10.X.X.X)。也就是说,GPRS DTU处于移动内网中,而且其内网IP地址通常是不固定的,随着每次拨号而变化。 我们可以理解为GPRS DTU这时是一个移动内部局域网内的设备,通过移动网关来实现与外部Internet公网的通信。这与局域网内的电脑通过网关访问外部网络的方式相似。

GPRS DTU主动发起与数据中心的通信连接,并保持通信连接一直存在。 由于GPRS DTU处于移动内网,而且IP地址不固定。因此,只能由GPRS DTU主动连接数据中心,而不能由数据中心主动连接GPRS DTU。这就要求数据中心具备固定的公网IP地址或固定的域名。数据中心的公网IP地址或固定的域名作为参数存储在GPRS DTU内,以便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应用系统中最为常用的方式。

核心功能

(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使用场合一般可以从以下几个实际应用角度来讲:

(1) 现场只能使用无线通信环境

当数据采集现场的设备需要在移动中工作,或者采集现场处于野外等情况下,无法提供有线通信的环境。这个时候,采用GPRS无线网络就可能是一个好的选择,因为GPRS网络的覆盖率在国内已经很高,全国大部分地区均有GPRS信号覆盖。

(2) 现场终端的传输距离分散

由于GPRS网络是覆盖全国的公共网络,因此采用GPRS来传输数据的一大优势就是现场采集点可以分步在全国范围,数据中心与现场采集点之间的距离不受限制。无线公网通信(包括GPRS/CDMA网络,3G网络等)这个非常显著的优点是专用无线通信网络(比如数传电台,WiMax,WLAN等)无法达到的。

(3) 适当的数据实时性要求

国内GPRS网络,其传输数据的延时为秒级范围。在绝大部分时间下,GPRS数据通信的平均整体延时为2秒左右。也就是说,从GPRS DTU端发送的数据包将大致在2秒钟后到达数据中心。反之,从数据中的数据包也大致在2秒钟后到达GPRS DTU。

总的来说,GPRS这种实时性,可以满足大多数行业应用的要求。 但是,对于一些特定的应用系统,如果不能承受2秒左右的平均延时,那么GPRS通信方式就可能是不适合的。(另外,CDMA网络的传输延时也是1秒-2秒左右)。

从另一个角度来讲,如果我们要设计的系统希望通过GPRS网络来传输数据,那么就要在设计通信协议时候考虑这种延时的情况。

(4) 适当的数据通信速率

GPRS DTU与数据中心的数据通信速率一般在10kbps-60kbps之间。从也就是说,GPRS DTU可以持续不断地以10bps-60kbps的速度向中心发送数据,反之亦然。(补充说明:国内CDMA网络的数据通信平均速率可以达到40kbps-90kbps左右)从系统应用可靠性角度来讲,我们认为当应用系统本身的数据平均通信量在30kbps以内的时候,使用GPRS网络来进行数据传输是比较适合的。

也可以从另外一方面,例如果通过GPRS网络来进行远程传输数据,那么就需要把数据平均通信量控制在30kbps之内。(注意:这里的平均持续通信速率和瞬间通信速率是有区别的,与设备串口波特率也不是同一个概念)

以上的几点可以用于判断应用系统是否适合采用GPRS网络进行数据传输,如果这几个方面都比较符合的话,那么采用GPRS DTU进行数据传输是非常合适的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPRS本质论 的相关文章

  • iOS开发环境xcode搭建

    1 到 https developer apple com download 或者在APP store下载 2 下载完成后会在launchpad显示 点击安装
  • python计算机视觉- 相机模型与参数标定

    文章目录 相机投影模型 针孔相机模型 像主点偏移 内参矩阵 畸变现象 畸变矫正 外参矩阵 两类参数 相机标定 线性回归 最小二乘 非线性优化 标定过程 实验过程 MATLAB进行标定 相机投影模型 针孔相机模型 针孔照相机模型是计算机视觉中
  • 我以前的博客在ITEYE上

    我以前的博客 https www iteye com blog user jiasudu 这个是我以前的博客 密码忘记了 就不搬家了 大家可以去看看 主要是十多来年记录ofbiz的资源 可以说是大全
  • 第九站:速学JavaScript中的函数

    js函数 欢迎来到 JavaWeb的奇妙冒险 教学系列 在本站中 我们将深入探索Web开发的精彩世界 在学习的过程中 我们既要保持轻松愉快 又要确保高质量的教学内容 准备好进入第九站的学习之旅了吗 让我们开始吧 文章目录 js函数 介绍 定
  • IDEA 登陆Gitee账户登录不上解决方案

    Mark一个IDEA2021 1连接gitee的bug 点击VCS想要share on Gitee时出现idea loading information for gitee窗口 然后始终连接不上Gitee 可能的解决方案 检查自己的Gite
  • [报错解决]name 'keras_applications' is not defined

    加载模型报错 解决方案 pip install keras applications 1 0 4 no deps pip install keras preprocessing 1 0 2 no deps pip install h5py
  • Python脚本批量造数据、跑定时任务协助测试

    目录 批量造数据 结合python pytest fixture 实现定时任务接口调用 目录结构 定时任务 批量造数据 连接Mysql的信息 1 import pymysql 2 数据库连接信息 3 多个库要有多个conn 4 conn p
  • CVE-2022-23222 Linux Kernel ebpf 权限提升漏洞

    漏洞背景和描述 eBPF extended Berkeley Packet Filter 是一种可以在 Linux 内核中运行用户编写的程序 而不需要修改内核代码或加载内核模块的技术 简单来说eBPF 让 Linux 内核变得可编程化了 由
  • 零基础学习WEB前端开发(六):HTML超链接标签

    一 超链接 二 用法及分类 基本语法 外部链接 内部链接 空连接 下载链接 其他元素链接 锚点链接 一 超链接 HTML使用标签 a 来设置超文本链接 超链接可以是一个字 一个词 或者一组词 也可以是一幅图像 您可以点击这些内容来跳转到新的
  • Generated Knowledge Prompting for Commonsense Reasoning

    本文是知识图谱系列相关的文章 针对 Generated Knowledge Prompting for Commonsense Reasoning 的翻译 常识推理的生成知识提示 摘要 1 引言 2 生成知识提示 3 实验设置 4 实验结果
  • 一个自动将状态机生成代码的软件

    如果你是一个程序员 对状态机应该有一定的了解 甚至会经常使用 使用状态机的时候 一般都是自己设计程序去实现状态机 但 当要维护代码时 就会显得不方便 特别是比较复杂的时候 我幻想着有一个软件 能在图形界面上设计状态图 然后自动生成C C 代
  • 都掏出来了,大学四年珍藏的26个宝藏网站,全部整理好给大家!!!

    文章目录 前言 哔哩哔哩 慕课网 编程学习网站 菜鸟教程 W3cSchool 刷题网站 力扣 牛客网 在线编程模块 CodeTop 赛码网 蓝桥杯ACM刷题网站 实用工具 Processon ioDraw 在线JSON解析 在线进制转换 博
  • Verilog状态机

    状态机定义 有限状态机 Finite State Machine 表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型 有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路 一般来说 除了输入部分和输出部分外 有限状态机
  • java中的多线程、同步代码块、同步方法、锁

    一 java中实现多线程的三种方式 1 继承Thread类的方式进行实现 2 实现Runnable接口的方式进行实现 3 利用Callable接口和Future接口方式实现 1 继承Thread类的方式进行实现 步骤 自定义一个类继承Thr
  • 常见的SQL注入分类

    SQL注入分类 用SQLmap来判断 类别 按 SQLMap 分类SQL 注入类型有以下 5 种 1 UNION query SQL injection 可联合查询注入 2 Stacked queries SQL injection 可多语
  • C++的变量存储类型的生命周期与作用域

    auto类型 非静态的局部变量存储类型都是auto 这些数据存储在栈区 不初始化变量的值时随机的 C 中的auto还可以自动推导类型 生命周期 块内 作用域 块内 程序 include
  • OPT3001光照传感器驱动教学

    OPT3001自学笔记 OPT3001是一款低功耗环境光照度采集IC 之前的项目中有用到这颗芯片 因此在这里给大家分享一下 如果这篇文章刚好能帮到你那就更好了 一 OPT3001的寄存器 单片机是通过IIC协议读写OPT3001的寄存器来控
  • 软件测试基础理论学习记录一

    今天是学习 软件测试 的第一天 由于刚开始的综述比较简单 就一次性把前三章看完了 主要包括软测背景 软件开发过程和软测实质三部分内容 1 软件测试背景 通过几个比较有名的软件错误案例 如Intel奔腾浮点除法缺陷等 引出 软件缺陷 的概念
  • Rust数据结构——排序算法(一)

    Rust数据结构 排序算法 一 0x01 常见的排序算法 排序算法是数据结构中很常见的算法 如果你了解过数据结构 那么对 常见的排序算法有哪些 这个问题的回答都懒得答了 那么我还是来列举下吧 选择排序 插入排序 希尔排序 冒泡排序 快速排序
  • TypeScript 常用的工具类型

    TypeScript 常用的工具类型 总结了常用的工具类型 文章目录 TypeScript 常用的工具类型 Awaited

随机推荐

  • App测试经典面试题及参考答案

    正己守道 厚德载物 App测试面试题及参考答案 最近整理了一些关于App测试的面试题 本参照答案是本人在工作实践中总结 仅代表个人观点 如有错误 请谅解 1 问 说一些你在测试过程中常用到的adb命名 答 回答本问题时 首先不要想到哪个命名
  • Python中的继承

    Python中的继承 文章目录 Python中的继承 继承的概念 一 继承的语法 单继承 多继承 二 子类与父类 1 子类重写父类方法 2 子类调用父类的同名方法和属性 super 调用父类方法 小汇总 结语 继承的概念 面向对象编程 OO
  • NSX-T 架构(3)

    传输节点 Edge 在第一篇我们提到了Edge Edge节点 VMware NSX Edge节点是专用于运行无法分发到管理程序的网络服务的服务设备 它们被分组在一个或多个集群中 代表一个能力池 Edge不是一个干活的实例 它是个池 里面专门
  • 龙书笔记(5)

    今天说下颜色和光照 一 颜色 1 颜色表示 RGB数据可用2种不同的结构表示 1 D3DCOLOR eg D3DCOLOR brightRed D3DCOLOR ARGB 255 255 0 0 四个参数的顺序是 Alpha r g b 2
  • 用户界面的需求分析与设计原则

    一 引言 用户界面是人与计算机之间的媒介 用户通过用户界面来与计算机进行信息交换 因此 用户界面的质量 直接关系到应用系统的性能能否充分发挥 能否使用户准确 高效 轻松 愉快地工作 所以软件的友好性 易用性对于软件系统至关重要 目前国内软件
  • python课程设计——单项选择标准化考试

    功能要求 本系统采用序列或字典保存单个试题 每个数据应当包括 题干 选项 答案等信息 本系统功能 1 试题录入 可以随时添加试题 2 试题抽取 每次从试题库中可以随机抽出N道题 N由键盘输入 3 答题 用户可实现输入自己的答案 4 自动判卷
  • MySQL基础语句

    文章目录 前言 帮助信息 注释 数据库操作类语句 连接数据库 查看数据库列表 展示所有数据库 查询当前数据库叫啥 创建数据库 删除数据库 修改数据库编码格式 使用某个数据库 查看当前数据库下所有数据表 表操作 表的约束 查询表结构 查询某个
  • 看懂低压降稳压器(LDO)一篇就够了

    电源管理是电子系统中的的一个基本模块 智能手机 电脑和我们所熟知的绝大多数电子产品都需要这个模块去实现本身的功能 随着人们对电子产品便携性的追求 计算能力的增长 以及传感器的多样化 电源管理设计有了更高的要求 为了满足新的电源设计上的更高的
  • ctfshow php特性

    web89 要求使用get方式传递数据 intval函数如果数组里有值 就输出1 构造payload num 0 web90 这里使用了 intval num 0 函数调用 其中第二个参数为 0 表示使用合适的进制进行转换 intval 函
  • 巴比特

    摘要 元宇宙变得越来越重要 因为它为企业提供了一种与来自世界各地的用户进行交流和协作的新途径 从小企业到大公司 每个品牌都可以踏入虚拟世界 并从中获益 那么一般的企业如何将业务转移到元宇宙呢 这7个步骤了解一下 热点资讯 Meta 宣布大幅
  • 偏微分方程(Partial Differential Equation II)

    数学物理方法 正交曲面坐标系下的分离变量 球函数 勒让德方程的解 勒让德函数 连带勒让德函数 球谐函数 柱函数 贝塞尔方程的解 贝塞尔函数 球贝塞尔方程 偏微分方程 Partial Differential Equation I 偏微分方程
  • php网页如何适应手机端,PC网页的移动端适配兼容性应该如何实现自动适配

    概念 移动时代的今天 现如今随着智能手机的不断发展 移动端搜索的比例也在不断增加 而传统的PC站点在手机端的用户体验度很差 这容易导致大量用户的流失 所以做一个对应的手机站是非常有必要的前端代码的编写永远逃不过 兼容 二词 从前PC时代 因
  • 第四届“泰迪杯”数据分析技能赛通知

    各有关单位 为推广我国高校数据分析实践教学 培养学生数据分析的应用和创新能力 增加校企交流合作和信息共享 提升我国高校的教学质量和企业的竞争能力 由泰迪杯数据分析技能赛组织委员会主办 广东泰迪智能科技股份有限公司承办 广东省工业与应用数学学
  • cgminer 2.2.4 参数详解!

    日期 2012 02 13 分类 Cgminer 版权声明 转载时请以超链接形式标明文章原始出处和作者信息及本声明 http bitcoin blogbus com logs 192244223 html cgminer2 2 4已经发布
  • 用Cookie添加登录界面的记住密码功能

    在网上看到很多关于cookie记录登录密码的功能 但是大部分都是jsp界面 最近刚好有个项目用到了cookie功能 所以编写了这个介绍 补全一下 1 第一步 首先需要在登录界面中写一个form表单 这个不用多说
  • kubernetes理论概念详情(K8S)

    1 优势 2 四组基本概念 3 核心组件 4 其他概念 5 基本命令
  • frp安全内网穿透,安全远程windows,暴露服务

    目录 概述 公网服务器端 内网Windows客户端 外网Windows客户端 附加 暴露多台内网Windows客户端 附加 暴露服务 总结 概述 frp 是一个专注于内网穿透的高性能的反向代理应用 支持 TCP UDP HTTP HTTPS
  • pip在线安装selenium

    最近发布了selenium3 0 但是会有很多莫名其妙的报错 原来可执行的代码也报错了 所以要重新安装回2 0 一 2 7 10之后的python安装包自带了Pip和setuptools 如果你没有安装可以去官网单独下载然后安装 a 下载地
  • js取值方式

    1 根据class id 取 input 标签的value 值 jQuery className val idName val javaScript document getElementById idName value 2 根据clas
  • GPRS本质论

    GPRS DTU最基本的用法是 在DTU中放入一张开通GPRS功能的SIM卡 DTU上电后先注册到GPRS网络 然后通过GPRS网络和数据处理中心建立连接 这条连接涉及了无线网络运营商 因特网宽 带供应商 用户公司的网络情况 以及用户的电脑