虚拟化容器,大数据,DBA,中间件,监控。

北斗部标JTT808协议解析说明示例

26 05月
作者:admin|分类:应用管理

北斗部标808协议解析说明示例

1.背景

实习的时候接触到北斗部标的808协议,有一次对接项目时对方说收到的数据中显示车辆的速度是400千米/时,这是肯定不对的,于是从原始数据本身入手,手动解析一下试试。

2.格式说明

部标协议中有几个重要的点,下面先说明一下。

数据类型如下,需要注意每个数据类型所占的字节数。


消息结构如下,每条消息都是由以下部分构成。

202.png


标识位一般是指传输过来的数据,我们默认数据都是以0x7E开头。




消息头内容如下:

202005261738561449386.png


非常重要的位置信息如下(消息ID是0x0200)

202005261738569799065.png

202005261738567383312.png



3.解析示例

我们服务器收到一段包含0200定位信息的数据,我们需要手动解析出来。


7E-02-00-00-3C-06-48-08-35-42-96-02-3D-00-00-00-00-00-08-00-42-02-1F-D9-34-07-22-75-80-00-11-02-60-01-3A-17-08-25-14-42-57-01-04-00-04-32-92-02-02-00-00-03-02-00-00-25-04-00-00-00-00-2B-04-00-00-00-00-30-01-11-31-01-14-77-7E-1C-0D

1

字段 数据类型 数据 解析 说明

标识位 BYTE 7E 数据开始的标志位

消息体ID WORD 0200 位置信息ID

消息体属性 WORD 003C 短消息,不加密 详见附件里的消息体属性格式

终端手机号 BCD[6] 064808354296 终端手机号

消息流水号 WORD 023D 第573条 从0开始累加

--------- ---------- --------- --------- -----------

报警标志 DWORD 00000000

状态 DWORD 00080042 暂不解析 详见附件里状态位表25

纬度 DWORD 021FD934 35.641652 转换成十进制,精确到百万分之一

经度 DWORD 07227580 119.698816 转换成十进制,精确到百万分之一

高程 WORD 0011 17 转换成十进制,海拔高度,单位是m

速度 WORD 0260 60.8 转换成十进制,1/10km/h

方向 WORD 013A 314 转换成十进制,0-359,正北为 0,顺时针

时间 BCD[6] 170825144257 17年8月25日14时42分47秒

--------- ---------- --------- --------- -----------

附件信息ID BYTE 0104 暂不解析 按照附加消息列表解析

4.解析说明

①对接的客户提到的车辆速度400多,是因为客户没有按照协议处理数据,跟设备传输的数据没有关系。

②部分数据例如报警标志位和状态没有解析,自己按照协议里的表格解析就行。

③消息ID 0200 是位置数据,是最重要的数据之一,但是在此之前需要终端设备和服务器进行鉴权识别等。

5.附件

交通部道路运输车辆卫星定位系统部标JTT808、809、796标准大全

JT/T 808-2011《道路运输车辆卫星定位系统 终端通讯协议及数据格式》

————————————————

版权声明:本文为CSDN博主「@蟹堡王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/baidu_32523857/java/article/details/82787485


历史上的今天
05月
26
浏览1806 评论0
返回
目录
返回
首页
MySQL Router实现MySQL的读写分离 Shell 基本运算符