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

发布于 2018-10-23 | 作者: @蟹堡王 | 来源: blog.csdn.net | 转载于: blog.csdn.net

JT808终端校验码校验规则,位置信息解析规则

1、背景

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

2、格式说明

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

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

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

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

消息头内容如下:

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

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 是位置数据,是最重要的数据之一,但是在此之前需要终端设备和服务器进行鉴权识别等。

4、附件

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

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