金笛工业手机论坛  

返回   金笛工业手机论坛 > 开发者乐园 > 短信开发资料

短信开发资料 短信开发技巧,代码分析

回复
 
LinkBack 主题工具 显示模式
旧 2012-08-09   #1 (permalink)
普通会员
 
hek320 的头像
 
注册日期: 2012-01-12
帖子: 50
hek320 正向着好的方向发展
默认 DTU透传模式研究


DTU即数据传输终端,在这个产品之前数据的传输其实就是一个无线的modem,远端数据采集器通过无线modem拨号上网的方式连接到M2M监控平台。第一阶段的产品也就是一个适合于应用在恶劣环境下的无线modem,为了解决DTU适合于不同的M2M平台简化远端数据采集器的程序代码兼容各种数据采集器,因此,需要解决DTU进行数据的透传,透传模式是采集终端与平台之间进行直接数据处理的一种通信方式,DTU不改变原有的采集终端与M2M平台的通信方式 远端数据采集器与M2M平台直接进行各行业协议的对接。透传模式的建立是:上电后DTU主动连接到对应的M2M平台建立一个透明的通道。

1原理及应用
透传模式将本地异步串口通信转换成基于 TCP/UDP 协议的网络通信。其主要目的是将串行通信的简单设备实现在网络上的通信,而这些设备不需要做任何改变,为此,透传模式定 义了一系列相关的操作参数,这些参数的定义实现了网络连接所需要的属性。当DTU工作在透传模式时,在设备串口与网络之间的工作方式就象路由器的路由过程 。
透传模式的工作方式不同于客户端或服务端设备(客户端设备通常指PLC、RTU等数据采集设备,服务端设备指系统中心服务器),当客户端发起通讯请求时,在两设备之间数据传输之前,DTU必须与远端服务中心建立网络连接,也就是说,客户端设备(例如PLC) 要与数据中心进行数据传输时,首先客户端设备与DTU设备的串口连接,DTU 在进入透传模式后,自动被调用去与服务器中心设备建立网络连接,当网络连接被建立后,数据就可 以在这条链路上实现双向数据传输了。
DTU 进入透传模式后,既可以作为客户端模式也可作为服务端模式。工作在透传模式下的DTU将自动完成串口到网络通信的转换,所有数据可透明的在两设备之间双向传输 。
透传模式的建立首先要用AT命令定义所有相关的参数,然后再用一特殊AT命令进入透传模式 。
DTU一旦进入透传模式,将不再接收任何AT命令,通过与主机串口的连接,DTU专注于处理本地设备串口的数据,DTU不对数据做任何处理(即透明传输)。在这种模式下,需要特殊说明的是自动波特率不起作用,在进入透传模式之前,固定波特率必须设置,不能设置成自动波特率 。
通过串口连续输入 3 个 “+” 号,间隔在半秒以内输入,DTU将退出透传模式进入命 令模式,此时DTU切换到命令模式并可再次响应AT命令。

2 激活
通过对应的AT指令,DTU将强制进入透传模式。当这个命令被执行后,如果DTU 登录GPRS网络成功,它将关闭所有打开的socket连接,并断开与 ISP 的连接,进入重新启动阶段。当 DTU 重启后工作在透传模式时,它将设置串口为固定波特率,同时串口参数的设置根据其参数中定义而定。
上线后,它将根据参数定义创建socket,发送注册信息 , 注册信息包含从ISP得到的动态IP地址、监听端口号,这个监听端口号一旦设置,此时设备工作在服务器模式,DTU将等待远程客户端设备的连接 。
在下列情况发生时 ,DTU 将断开 socket 连接 :
a) 远端服务器关闭了透传模式的 socket 连接 。
b) IATO 设置的时间超时 。
c) 设备从串口接收到由 DSTR 设置的字符串
通过输入 “+++” 可退出透传模式,退出后BDRF设置的波特率参数将是控制DTU 的波特率。

3 断线重连
这里的断线重连机制包含两部分 ,一个是 DTU 拨号与移动/联通建立 PPP 连接的重新建立过程,一旦DTU 在接入GPRS/CDMA 网络出现异常,此时DTU将自动检测网络, 重新拨号上线;另一个是DTU上线后,DTU与数据中心建立的TCP连接的重连过程,在无线网络通信环境里,网络连接的断线是不可避免的,因此在DTU内部设置自动重连机制, 一旦网络通信链路断开( 即TCP连接断开),DTU自动重新建立与数据中心的TCP连接。

4 数据包传输
DTU 可将接收到的数据缓存起来,打包然后通过网络传输到远端系统。DTU在发送数据时,有如下4种触发条件,当遇到下列条件之一时数据将被打包发送。
a) 从串口接收到最大字节数,数据将被发送。
b) 可设置最大传输单元,DTU可按照最大传输单元大包进行数据传输。
c) 当遇到特定字符时,发送数据;
d) 发送数据间隔时间超时时,发送数据,即每隔这个间隔时间后,设备就发送数据。
上诉4个条件只要有一个条件成立,数据就会被发送,这些参数可通对应的AT命令设置。
当为 UDP 传输时,数据包的大小是根据一次性写入串口数据包的大小有关。当为 TCP通信时,数据包在传输之前要被合并,这个遵循TCP协议的相关规定 。

5 结束透传任务
结束透传任务可通过如下方式 :
a) 通过串口向 DTU 传输断开连接的字符串,这个字符串在专门的参数设置中,针对短连接有效,如果是长连接,此时DTU根据参数设置的时间间隔重新与数据中心建立 TCP 的连接 。
b) 等待非激活时间超时,在超时时间范围内假如没有数据传输,DTU将断开此连接。
这两个条件中只有有一个条件产生,DTU将离线,透传任务将被结束,此时DTU处于等待重新建立连接的触发条件的发生 。
hek320 当前离线   回复时引用此帖
回复

书签


当前查看此主题的会员: 3 (0 位会员和 3 位游客)
 

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 19:17


Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2024,Jelsoft Enterprises Ltd.