技术支持

DTU命令传输模式实战

 



1、功能简介

 

    在GFDTU)系列产品中所有的指令均以AT+I为前缀,简称AT+I命令。在很多工控、金融领域的数据终端产品中,可直接输出命令去控制外接设备。GPRS/CDMA DTU作为一个带TCP/IP 功能的扩展MODEM,可从串口接收数据终端发来的AT+I 命令,根据命令执行相应的操作。通过命令模式可最大化的利用本产品所具有的功能,可灵活的控制本产品,实现多样化的功能。

 

    GF(DTU)系列根据应用扩展实现了以下命令:设置GPRS/CDMA 通信参数、激活/断开GPRS连接、激活/终止多个TCP/UDP连接、发送/接收TCP/UDP报文、远程参数修正、串口数据流量控制设置及各种特殊功能的参数设置等功能,详细功能可参见AT+I命令手册。

 

   命令模式的灵活性使得产品表现的功能就越强大,但对用户的编程能力要求较高,如果用户具有较强的编程能力,同时要实现较为灵活的控制方式,建议采用此种工作模式,以发挥产品的最大工作性能。

 

2、原理及应用

 

    在GFDTU)系列产品中提供了12条直接通过SOCKET实现通信的AT+I命令,通过这12条命令可实现TCPUDP数据链路的建立,同时根据不同参数的配置可使产品即可作为服务端也可作为客户端使用,通过数据链路实现数据通信过程中,可根据SOCKET句柄获取其相关的状态信息,这些信息包括侦听端口是否有远程客户端建立的连接及远程客户端的IP地址和端口号信息、各条链路是否接收到数据及其接收到的数据长度、各句柄当前是连接还是断开状态,通过这些状态信息的反馈,即可提供完善的数据通信保障机制及链路维护机制,因此在命令模式下,可建立完善的数据透明传输机制和数据链路保障机制,使得产品可灵活的应用于对数据通讯要求较高的场合,例如金融领域,在命令模式下可保证每次传输的数据都能被正确的接收,避免因为误传导致金融交易的不可靠性。

 

3、客户端模式

 

    客户端模式是较为普遍的一种应用模式,在这种模式下,DTU是发起连接得主动方,通过命令控制DTU去与远程主机建立通信链路,通信链路建立成功后,双方就可以在这条链路上实现双向数据传输,对这条链路的取决于主机,根据链路的维护方式可将工作方式分为长连接和短连接模式,当为长连接时,此时主机不会断开这个连接,除非有异常发生导致该链路得中断,否则这条链路将一直维持下去,在这种情况下,数据可随时通过这条链路进行收发;当为短连接模式时,可由主机根据设定好的条件(例如在一定时间范围内没有数据流量或发送完数据后立刻断开此连接)去断开此连接,主机将不维持这条链路,需要数据传输时,再重新建立连接。长连接与短连接主要是在TCP协议情况下建立连接适用,同时对于连接的维护都是通过主机发送命令来控制的。

 

    客户端模式应用领域较为广泛,只要是多点对一点的通信都可采用此种模式。

 

4、服务器模式

 

    在命令模式下,DTU作为服务器模式使用时,DTU可建立2个监听socket,此时DTU将一直处于监听等待状态,监听由远程客户端发起的连接。远程客户端要建立通讯必须要知道服务器设备的IP地址和监听端口号。

 

    做为服务器模式使用时,存在两种可能性,一种是DTU本身具有固定IP地址;另一种是DTU是动态分配的IP地址,下面将分别阐述。

 

    DTU具有固定IP地址:DTU具有的固定IP地址是移动APN网或联通的VPDN网络内的IP地址,这个地址是移动/联通分配的内网地址,这项业务需要跟运营商的数据部联系,以开通此项业务。具有固定IP地址的DTU上线后,其地址就被固定,其他设备可根据这个IP地址就可与其建立数据链路,实现网络通信,此时客户端设备也必须是APNVPDN网络内的设备,客户端设备可以使数据中心服务器(该服务器必须与移动/联通的数据中心通过专线相连)也可以是DTU设备。

 

    DTU不具有固定IP地址:此时DTU在建立监听端口之前,须执行AT+IUP1命令,通过这条命令,DTU在拨号上线之后,会根据RRSV设置的参数发送注册命令,具体的注册过程参见IP注册模式,上线成功后,通过命令可建立监听端口,等待客户端的连接信息,同时客户端设备需要再注册服务器上去获取服务端设备的注册信息,目的是为了得到作为服务端的DTUIP地址,根据这个IP地址就可以建立点到点的数据传输了。

 

5、相关AT+I命令介绍

 

    在命令模式下,主要是通过产品提供的扩展socket编程接口AT+I命令集来实现,这些命令包括:

 

AT+ISTCP:创建一个基于TCP协议的SOCKET连接,根据设置的远端主机IP地址和监听端口号参数,去建立与远端主机的TCP连接。

 

AT+ISUDP:创建一个基于UDP协议的无连接的SOCKET,当通过该socket发送数据时,数据发送到目的地是设置的远端主机IP地址和监听端口号上。

 

AT+ILTCP:创建一个TCP监听SOCKET,可作为服务端使用,用来等待监听远程客户端向本机发起的TCP连接,连接一旦建立则会创建一个新的句柄,实际的收发数据操作是通过新创建的句柄来完成。

 

AT+ILSST:获取一个监听SOCKET的连接属性,通过这个命令可查看某一个监听SOCKET的所有连接的信息,即远端与本机创建的TCP连接。

 

AT+ISST:获取某一特定的socket句柄的状态,即该socket句柄所接收的数据是否为0,不为0说明该句柄接收到数据,其值就是接收到的数据量大小。

 

AT+ISCS:获取某一个SOCKET的属性,0表示正常,不为0说明该socket异常并且被关闭。

 

AT+ISSND:通过指定的socket句柄发送数据,数据长度要和具体发送的数据流大小一致。这里的“%”标志是自动发送标志。

 

AT+ISRCV:通过指定的SOCKET句柄接收该SOCKET句柄所接收到的数据。

 

AT+IGPNM:获取某个socket句柄的远端主机信息,包含远端主机的IP地址和端口号。

 

AT+ISDMP:清除缓冲区中的数据。

 

AT+ISFSH:发送缓冲区中的数据,这里“%”标志是表示发送是否有返回,加上“%”,发送数据后将等待返回,如果没有返回将报错,如果不加上“%”,则不等待返回,直接返回状态。

 

AT+ISCLS:关闭指定的SOCKET句柄,同时断开这条链路。

 

AT+IUP:通过命令方式使DTU拨号上线,去与GPRS/CDMA网络建立PPP连接。

 

AT+IDOWN:通过该命令可使DTU下线,离开GPRS/CDMA网络。

 

AT+IRP4:查看已建立的socket的属性。

 

各条指令的参数及详细说明可参开AT+I命令集。

 

6、应用场合

 

应用场合:

 

a.   实现点对多点通信;

 

b.   需要灵活控制数据收发,以保证数据可靠的传输;

 

透传模式的数据链路保障机制不能满足要求的情况下,可在命令模式下建立可靠的数据链路保障机制和产品注册机制,以便中心随时识别设备身份;

北京嘉复欣科技有限公司
电话:010-88153193 010-88153195 010-88153197   传真:010-88122129
地址:北京市海淀区曙光花园智业园A座6C  邮编:100097
京ICP备09060823号   网站管理入口
工控展览网提供技术支持