请选择 进入手机版 | 继续访问电脑版

[配置安装使用] DTU简介以及使用方法 485 232串口调试

技术实战 技术实战 3186 人阅读 | 0 人回复

DTU

DTU (Data Transfer unit),是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备。

image.png

Data Terminal Unit -- 数据终端单元

DTU是指数据终端设备(Data Termanit unit),可以理解为下位GPRS发射终端,在进行通信时,传输数据的链路两端肯定存在DTU.在它的作用下对所传信息进行格式转换和数据整理校验。

GPRS DTU全称GPRS数据传输单元,在国内目前实际上对GPRS DTU具有更加明确的约定:GPRS DTU是专门用于将串口数据通过GPRS 网络进行传送的GPRS无线设备。

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在线/离线电平指示等。

设备

有各式各样的此类设备,电商平台也有多款

image.png

本人手上的是这款,淘宝搜索了下型号,找到了店铺

从详情里找到了官方文档地址,下载了说明书

image.png

说明

该设备就是可以连接各类串口,然后将对串口数据的访问包装成TCP的形式,所以我们只需要一个tcp客户端即可与之通信,设备就相当于一个tcp服务端。

客户端连接服务端,必然需要IP地址,以及端口号。

不管买哪款设备,商家都有对应的指导文档,也都有对应的查询 、设置IP以及端口号的方法,总之会拿到IP和端口号。

简陋的设备可能一个设备一个串口,高级点的就可以支持多个串口,通过端口区分连接,具体看厂家文档。

通常三个步骤:

电源接通

连接网络(插网线,部分设备是4G插卡)

连接串口

模拟

本人使用的网络调试助手,只要是可以模拟客户端的工具即可

自己写代码也可以

image.png

如上图所示,与串口的通信,也就是与串口的读写,就被转换成了客户端与服务器端的读写通信。

common_log.png 转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-187-1-1.html

关注下面的标签,发现更多相似文章
    黄小斜学Java

    疯狂的字节X

  • 目前专注于分享Java领域干货,公众号同步更新。原创以及收集整理,把最好的留下。
    包括但不限于JVM、计算机科学、算法、数据库、分布式、Spring全家桶、微服务、高并发、Docker容器、ELK、大数据等相关知识,一起进步,一起成长。
热门推荐
海康摄像头接入 wvp-GB28181-pro平台测试验
[md]### 简介 开箱即用的28181协议视频平台 `https://github.c
[若依]微服务springcloud版新建增添加一个
[md]若依框架是一个比较出名的后台管理系统,有多个不同版本。
[CXX1300] CMake '3.18.1' was not
[md][CXX1300] CMake '3.18.1' was not found in SDK, PATH, or