H7710s-DDP协议(抄录)
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。
H7710s-DDP协议(抄录)相关推荐
- 全球主流云桌面传输协议
转载:https://zhuanlan.zhihu.com/p/40351781 ⚽ 2018年世界杯都来了,你还在看几年前的云桌面传输协议文章吗?来看新鲜出炉的! 上期我们谈到了影响云桌面性能的三个 ...
- 【RDMA】16. RDMA之DDP(Direct Data Placement)
[RDMA]RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/det ...
- 16. RDMA之DDP(Direct Data Placement)
转自:https://zhuanlan.zhihu.com/p/408817872 前一段时间比较忙所以没有更新专栏,只是对一些读者的疑问进行了回复,近期开始恢复更新.最近在研究iWARP的实现,就先 ...
- 编译安装linux内核步骤
编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...
- 十个最适合 Web 和 APP 开发的 NodeJS 框架
在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一.全球各地的开发者张开双臂拥抱 NodeJS. 对于新手来 ...
- 为pc编译配置安装当前最新的内核
搜索公众号:itxxgh (IT学习干货),全公益.免费.定期,提供,<IT学习教程>.不会骚扰大家,仅仅需轻点关注,也会传播<中华传统文化>传播正能量. 或扫描二维码 1 ...
- 十个最适合 Web 和 APP 开发的 NodeJS 框架 1
十个最适合 Web 和 APP 开发的 NodeJS 框架 在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之 ...
- 如何编译Linux内核
内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核 ...
- 互联网P2P优化管理标准体系研讨会召开
2008年5月4日消息 随着互联网新技术的不断发展和互联网新应用的不断涌现,互联网已经成为电视.广播.报纸等传统媒介之外的另一个重要的内容传播渠道.近几年来,以P2P技术为代表的互联网内容传播新技术突 ...
- 超大功率远程应急广播系统(大功率扬声器的应用)
系统概述 1.接收控制系统框图 超大功率远程应急广播系统是针对应急广播研发的一套通信系统,其接收控制系统框图如图(1)所示: 2.发射系统框图 发射系统框图如图(2)所示. 3.接收控制系统功能 接收 ...
最新文章
- abb外部轴零位校准_新品发布 | ABB机器人节拍最快的冲压自动化以及ABB紧凑型车身内喷解决方案...
- android中getLocationInWindow 和 getLocationOnScreen的区别
- 【C#-枚举】枚举的使用
- Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”
- Open vSwitch 概述
- QVector、QList、QLinkedList类用法区别
- 网页html代码大全
- adams功能区不显示_百科Esri大赛获奖作品分享:融合OSM道路网和百度POI数据的城市功能区识别...
- 【Excel从头开始】-2 快速填充/快速分析
- keystone 存储 android,KeyStone存储器架构
- MYS-6ULX-IOT 开发板测评——实现简单的物联网应用
- UnityShader学习——非真实感渲染
- 服务器组装 华硕主板,华硕主板装机教程 华硕主板装机步骤
- python 桑基图 地理坐标_利用Python+Excel制作桑基(Sankey)图
- pandas美国人口分析实例
- Compute Shader次世代优化方案
- 在线客服系统解决方案:时尚(服饰美妆)行业
- simulink仿真单相全控桥整流电路电阻负载(含仿真文件)
- Python使用过程中报错集锦
- B轮融资逾2亿高瓴创投领投,最懂金融的RPA厂商金智维有何不凡之处?
热门文章
- 习题8.16 (简单方法)输入一个字符串,内有数字和非数字字符
- 通信专业顶刊_通信类期刊排名_2016通信期刊排名_2016通信前沿新技术
- 金山打字通——绿色安全无捆绑下载
- sl400上面安装ubuntu
- 获取windows7 trustedInstaller权限
- 360保存html,360极速浏览器怎么保存网页为图片?
- STAMP:Short-TermAttention/MemoryPriorityModelfor Session-basedRecommendation
- boobooke播布客
- 实验任务(四)---恶意代码技术
- LightningChart数据可视化工具图形控件教程47-SurfaceGridSeries3D(曲线网格系列3D)