H7710s-DDP协议
1数据帧格式
起始标志 (1Byte) | 包类型 (1Byte) | 包长度 (2Byte) | DTU身份识别 (11Byte) | 数据 (0-1024Byte) | 结束标志 (1Byte) |
0x7B |
|
|
|
| 0x7B |
1.1DTU端发送的协议包
包类型 | 包类型描述 | 传输类型 |
0x01 | 终端请求注册 | GPRS |
0x02 | 终端请求注销 | GPRS |
0x04 | 无效命令或协议包(一般在查询或设置指令时使用) | GPRS |
0x05 | 接收到DSC用户数据的应答包 | GPRS |
0x09 | 发送给DSC的用户数据包 | GPRS |
0x0b | 查询DTU参数的应答包 | GPRS |
0x0d | 设置DTU参数的应答包 | GPRS/SMS |
0x0e | 提取DTU日志的应答包 | GPRS |
0x0f | 远程升级的回应包 | GPRS/SMS |
1.2DSC端发送的协议包
包类型 | 包类型描述 | 传输类型 |
0x81 | 注册成功 | GPRS |
0x82 | 注销成功(DSC向DTU发送此指令时会让DTU重新启动 | GPRS |
0x83 | DSC要求DTU向DSC重新注册 | GPRS |
0x84 | 无效命令或协议包(一般不使用) | GPRS |
0x85 | 接收到DTU用户数据的应答包 | GPRS |
0x89 | 发送给DTU的用户数据包 | GPRS |
0x8b | 查询DTU参数 | GPRS |
0x8d | 设置DTU参数 | GPRS/SMS |
0x8e | 提取DTU日志 | GPRS |
0x8f | DSC通知DTU远程升级的数据包 | GPRS/SMS |
0x13 | 通过远程唤醒DTU,不需要应答包。 | SMS |
0x14 | 短信通知启用DDP管理通道,不需要应答包。 | SMS |
1.3字节序说明
协议内容中所涉及的短整形和长整型数据字段,均要采用网络字节序。
发送方要先将本地字节序转换成网络字节序,接收方在使用前要转换本地字节序。
2帧内容
2.1注册包
2.1.1终端注册(DTU ->DSC)
起始标志 (1Byte) | 包类型 (1Byte) | 包长度 (2Bytes) | DTU身份识别码 (11Bytes) | 本地移动IP (4Bytes) | 本地移动端口 (2Bytes) | 结束标识 (1Byte) |
0x7b | 0x01 | 0x16 |
|
|
| 0x7b |
2.1.2注册应答(DSC->DTU)
1)注册成功
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x81 | 0x10 |
| 0x7b |
2)无效的命令或数据
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x84 | 0x10 |
| 0x7b |
2.2注销包
2.2.1 终端注销 DTU->DSC
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x02 | 0x10 |
| 0x7b |
2.2.2 注销应答包 DSC->DTU
1)注销成功
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x82 | 0x10 |
| 0x7b |
注:DSC可以主动发送此指令让DTU重新启动
2)无效的命令或数据
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x84 | 0x10 |
| 0x7b |
2.3 发送用户数据包
2.3.1 DTU 发送给DSC的数据包
UDP传输
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) | 用户数据 (0->1024bytes) |
0x7b | 0x09 | 0x10 |
| 0x7b |
|
TCP 传输
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 用户数据 (0->1024bytes) | 结束标志 (1byte) |
0x7b | 0x09 |
|
|
| 0x7b |
2.3.2 DSC应答收到正确数据包(一般不用)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x85 | 0x10 |
| 0x7b |
2.3.3 DSC发送给DTU的数据包 DSC ->DTU
Udp传输
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) | 用户数据 (0->1024bytes) |
0x7b | 0x89 | 0x10 |
| 0x7b |
|
TCP 传输
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 用户数据 (0->1024bytes) | 结束标志 (1byte) |
0x7b | 0x09 |
|
|
| 0x7b |
2.3.4 DTU应答收到正确数据包(一般不用)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x85 | 0x10 |
| 0x7b |
2.4 DTU参数查询
2.4.1 查询DTU参数(DSC ->DTU)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 查询类型 (1bytes) | 请求序号 (n bytes) | 结束标志 (1byte) |
0x7b | 0x8b |
|
|
|
| 0x7b |
查询类型
0x00 查询所有参数
0xN1 查询移动服务参数
0xN2 查询RTU参数
0xN3 查询SMS设置参数
0xN4 查询运行参数
0xN5 查询系统参数
0xN6 查询IP通道参数
N7~0xFF 保留
其中 N1 —— N7 的值应与参数定义的大类ID一致。
为了统一处理,查询结果均参数分包方式。同时简化流程控制,采用一问多答的方式,即DSC发出查询请求后,DTU组织查询结果,将返回结果拆分成1个或多个包,然后依次上传,每个分包包含分包标识,包序号和总包数。
具体说明如下:
请求序号用于参数查询分包处理,该字段可能为空,也可能为N个字节,每个字节代表一个请求序号。
DSC首次发出参数查询请求时,该字段一定为空;
如果当前查询内容需要分包,DSC在收到DTU回复后,如果发现丢包,会再次发出查询请求,此时会将请求序号字段置为此次需要查询的包序号序列。
例:
DSC--->>>DTU:7b 8b xx xx ... xx 00 7b
丨---请求查询所有参数
DTU--->>>DSC:共有四个分包,DSC只接到了其中的第一个和第三个分包
DSC--->>>DTU:7b 8b xx xx ... xx 00 02 04 7b
丨 丨丨查询第二个和第四个分包
丨---请求查询所有参数
DTU--->>>DSC:重发上次的第二个和第四个分包
2.4.2 正确查询DTU参数应答包(DTU->DSC)
协议包格式:
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 选项数据 (0-1024bytes) | 结束标志 (1byte) |
0x7b | 0x0b |
|
|
| 0x7b |
选项数据=分包信息+查询参数
分包信息=分包标识+总包数+包序号
分包标识=0x00
总包数=M(M >= N)
包序号=N(N >= 1)
分包信息的三个字段长度均为1 字节。
参数格式如下(Options data)
大类(1byte) | 标识(1byte) | 长度(2bytes) | 值 |
|
|
|
|
选项长度包括整个选项类型格式包长度
2.5 DTU参数设置
2.5.1 设置DTU参数 DSC->DTU
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 选项数据 (0-1024bytes) | 结束标志 (1byte) |
0x7b | 0x8d |
|
|
| 0x7b |
设置内容已TLV(Tag(Type)—Length—Value)方式打包,一次可以设置多个。
在组织命令数据时,所有参数均需要以字符串的形式给出(格式如管理工具上的显示),比如IP地址是nnn.nnn.nnn.nnn的格式、开关型的值是EN/DIS......,长度是字符串长度。
一次性发出的设置指令包长不能超过1024。
举例:
如果设置通道的IP地址:
大类(1byte) | 标识(1byte) | 长度(2bytes) | 值 |
0x06 | ** | 9 | 127.0.0.1 |
如果设置短信参数设置允许:
大类(1byte) | 标识(1byte) | 长度(2bytes) | 值 |
0x03 | ** | 3 | DIS |
2.5.2 设置DTU参数应答包 DTU ->DSC
协议包格式:
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x0d | 0x10 |
| 0x7b |
应答1:设置成功 7B 0D 00 10 31 33 39 30 30 30 30 30 30 30 30 7B
应答1:错误参数 7B 04 00 10 31 33 39 30 30 30 30 30 30 30 30 7B
2.6 查询DTU日志
2.6.1 查询日志包(DSC -> DTU)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 查询起点 (2bytes) | 请求记录数 (2bytes) | 结束标志 (1byte) |
0x7b | 0x8e | 0x14 |
|
|
| 0x7b |
请求记录数 = 0:表示查询当前所有日志
*注:日前所支持的最大查询数量为120记录数
2.6.2查询DTU日志应答包(DTU->DSC)
协议包格式
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结果包 (0-1024bytes) | 结束标志 (1byte) |
0x7b | 0x0e |
|
|
| 0x7b |
2.7 升级协议包
2.7.1 升级请求包(DSC->DTU)
起始标志 (1B) | 包类型 (1B) | 包长度 ((2B) | DTU身份识别码 (11B) | IP (4B) | Port (2B) | 联网方式 (1B) | 用户名 (16B) | 密码 (16B) | 文件长度 (4B) | 版本号 (20B) | 文件名称(64B) | 结束标志 (1B) |
0x7b | 0x8f |
|
|
|
|
|
|
|
|
|
| 0x7b |
注意:
版本号,文件名称均为可见字符串,如果内容不足规定长度,剩余部分以 0 填充。
2.7.2升级请求回应包(DTU-DSC)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结果标志 (1byte) | 结束标志 (1byte) |
0x7b | 0x0f |
|
| 0失败,1成功 | 0x7b |
2.8 远程唤醒 (DSC -> DTU)
协议包格式
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | 结束标志 (1byte) |
0x7b | 0x13 | 0x10 |
| 0x7b |
2.9 远程启用DDP管理通道(DSC->DTU)
起始标志 (1byte) | 包类型 (1byte) | 包长度 (2bytes) | DTU身份识别码 (11bytes) | DSC IP (4 bytes) | DSC Port (2bytes)
| 通讯方式 (1 byte) | 心跳间隔 (2 bytes) | 结束标志 (1byte) |
0x7b | 0x14 | 0x19 |
|
|
|
|
| 0x7b |
参数包含DSC IP/PORT/通讯协议/心跳时间。注意,0x13和0x14这两个DDP命令一定是通过短信发送到DTU的。短信重启命令的格式与注销应答包的格式相同,实现时参考 4。