app及Java服务端实现JT808协议的定义解析

时间:2024-03-29 16:41:44

app及Java服务端实现JT808协议的定义解析,

网上很多帖子已经对JT808协议做了说明,我在这里就不做过多的赘述了。

最近接到一个项目是打车类的,所以对这协议做了研究

刚开始是 一头雾水,大约花了一周的时间 ,仔细阅读文档慢慢清晰起来,原理很简单 :


就是根据 协议结构发送接收字符串。  对!  就是这么简单!!!

自己参考一些博客 实现了App和java服务端这种协议的对话,实现了心跳,位置上传等功能,其他的都是一样的道理了  就不再实现了。


扫码加入圈子后 提问 可为您免费提供详细的解答,为您写代码提供详尽的思路

app及Java服务端实现JT808协议的定义解析


关注公众号获取代码,公众号:jszj2014215

app及Java服务端实现JT808协议的定义解析app及Java服务端实现JT808协议的定义解析

或者联系QQ付费获取: 2637405696



通信协议定义

一、 协议定义

协议标准

协议格式JTT808协议格式)

标识位

消息头

消息体

检验码

标识位

在消息体属性保留1415位区别是客户端还是服务器端

乘客141150

司机14015位1

特别说明,所有协议的返回协议为服务器通用应答

消息ID

消息名

发起方

适用版本

 

0x0002

心跳包

司机端、乘客端

通用

 

0x0200

定位包

司机端、乘客端

通用

 

0x0201

附近车辆

乘客端

快租

 

0x8201

附近车辆应答

服务端

快租

 

0x0400

提交订单

乘客端

通用

 

0x8400

订单结果

服务端

通用

 

0x0401

订单取消

乘客端

通用

 

0x0402

新单提醒

服务端

快租

 

0x8402

抢单

司机端

快租

 

0x0403

抢单结果

服务端

快租

 

0x0404

乘客上车

司机端

快租

 

0x0405

到达目的地

司机端

快租

 

0x0406

接单状态

服务端

快租

 

0x0407

还车申请

乘客端

通用

 

 

 

 

 

 

 

 

 

 

i. 乘客

1. 心跳协议

消息ID:0x 00 02

终端心跳数据消息体为

2. 实时定位坐标协议-

消息ID0x 02 00

位置信息汇报消息体由位置基本信息和位置附加信息项列表组成,消息结构图如图3所示:  

 

位置基本信息

位置附加信息项列表

 

3 位置汇报消息结构图  

位置附加信息项列表由各位置附加信息项组合,也可没有,根据消息头中的长度字段确定。

位置基本信息数据格式见表16。  

 

16位置基本信息数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

报警标志

DWORD

报警标志位定义见表18

4

状态

DWORD

状态位定义见表17  

8

纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万 分之一度  

12

经度

DWORD

以度为单位的经度值乘以10的6次方,精确到百万 分之一度  

16

高程

WORD

海拔高度,单位为米(m)

18

速度

WORD

1/10km/h  

20

方向

WORD

0~359,正北为0,顺时针  

21

时间

BCD[6]

YY-MM-DD-hh-mm-ss(GMT+8时间,本标准中之后涉及的时间均采用此时区)  

 

17 状态位定义

状态  

0

0:ACC关;1: ACC开  

1

0:未定位;1:定位  

2

0:北纬;1:南纬  

3

0:东经;1:西经  

4

0:运营状态;1:停运状态  

5

0:经纬度未经保密插件加密;1:经纬度已经保密插件加密  

6~9

保留  

10

0:车辆油路正常;1:车辆油路断开  

11

0:车辆电路正常;1:车辆电路断开  

12

0:车门解锁;1:车门加锁  

13~31

保留  

 

18报警标志位定义

位  

定义  

处理说明  

0

1:紧急报警,触动报警开关后触发  

收到应答后清零  

1

1:超速报警  

标志维持至报警条件解除  

2

1:疲劳驾驶  

标志维持至报警条件解除  

3

1:预警  

收到应答后清零  

4

1:GNSS模块发生故障  

标志维持至报警条件解除  

5

1:GNSS天线未接或被剪断  

标志维持至报警条件解除  

6

1:GNSS天线短路  

标志维持至报警条件解除  

7

1:终端主电源欠压  

标志维持至报警条件解除  

8

1:终端主电源掉电  

标志维持至报警条件解除  

9

1:终端LCD或显示器故障  

标志维持至报警条件解除  

10

1:TTS模块故障   

标志维持至报警条件解除  

11

1:摄像头故障   

标志维持至报警条件解除  

12~17

保留  

  

18

1:当天累计驾驶超时  

标志维持至报警条件解除  

19

1:超时停车  

标志维持至报警条件解除  

20

1:进出区域  

收到应答后清零  

21

1:进出路线  

收到应答后清零  

22

1:路段行驶时间不足/过长  

收到应答后清零  

23

1:路线偏离报警  

标志维持至报警条件解除  

24

1:车辆VSS故障  4

标志维持至报警条件解除  

25

1:车辆油量异常  

标志维持至报警条件解除  

26

1:车辆被盗(通过车辆防盗器)  

标志维持至报警条件解除  

27

1:车辆非法点火  

收到应答后清零  

28

1:车辆非法位移  

收到应答后清零  

29

1:碰撞侧翻报警  

标志维持至报警条件解除  

30~31

保留  

  

 

19 位置附加信息项格式

字段  

数据类型  

描述及要求  

附加信息ID

BYTE

1~255  

附加信息长度

BYTE

  

附加信息

 

附加信息定义见表20   

 

20附加信息定义

附加信息ID  

附加信息长度  

描述及要求  

0x01

4

里程,DWORD,1/10km,对应车上里程表读数  

0x02

2

油量,WORD,1/10L,对应车上油量表读数  

0x03

2

行驶记录功能获取的速度,WORD,1/10km/h  

0x04

2

需要人工确认报警事件的ID,WORD,从1开始计数

0x05~0xF

 

保留  

0x11

1或5

超速报警附加信息见表21  

0x12

6

进出区域/路线报警附加信息见表22  

0x13

7

路段行驶时间不足/过长报警附加信息见表23  

 

表 21 超速报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

0:无特定位置;  

1:圆形区域;  

2:矩形区域;  

3:多边形区域;  

4:路段  

1

区域或路段ID

DWORD

若位置类型为0,无该字段  

 

表 22 进出区域/路线报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

1:圆型区域;  

2:矩形区域;  

3:多边形区域;  

4:路线  

1

区域或线路ID

DWORD

  

5

方向

BYTE

0:进; 1:出  

 

表 23 路线行驶时间不足/过长报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

路段ID

DWORD

  

4

路段行驶时间

WORD

单位为秒(s)  

6

结果

BYTE

0:不足;1:过长  

3. 附近车辆坐标协议-发送

消息ID0x 02 01

位置信息汇报消息体由位置基本信息和位置附加信息项列表组成,消息结构图如图3所示:  

 

位置基本信息

位置附加信息项列表

 

3 位置汇报消息结构图  

位置附加信息项列表由各位置附加信息项组合,也可没有,根据消息头中的长度字段确定。

位置基本信息数据格式见表16。  

 

16位置基本信息数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

报警标志

DWORD

报警标志位定义见表18

4

状态

DWORD

状态位定义见表17  

8

纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万 分之一度  

12

经度

DWORD

以度为单位的经度值乘以10的6次方,精确到百万 分之一度  

16

高程

WORD

海拔高度,单位为米(m)

18

速度

WORD

1/10km/h  

20

方向

WORD

0~359,正北为0,顺时针  

21

时间

BCD[6]

YY-MM-DD-hh-mm-ss(GMT+8时间,本标准中之后涉及的时间均采用此时区)  

 

17 状态位定义

状态  

0

0:ACC关;1: ACC开  

1

0:未定位;1:定位  

2

0:北纬;1:南纬  

3

0:东经;1:西经  

4

0:运营状态;1:停运状态  

5

0:经纬度未经保密插件加密;1:经纬度已经保密插件加密  

6~9

保留  

10

0:车辆油路正常;1:车辆油路断开  

11

0:车辆电路正常;1:车辆电路断开  

12

0:车门解锁;1:车门加锁  

13~31

保留  

 

18报警标志位定义

位  

定义  

处理说明  

0

1:紧急报警,触动报警开关后触发  

收到应答后清零  

1

1:超速报警  

标志维持至报警条件解除  

2

1:疲劳驾驶  

标志维持至报警条件解除  

3

1:预警  

收到应答后清零  

4

1:GNSS模块发生故障  

标志维持至报警条件解除  

5

1:GNSS天线未接或被剪断  

标志维持至报警条件解除  

6

1:GNSS天线短路  

标志维持至报警条件解除  

7

1:终端主电源欠压  

标志维持至报警条件解除  

8

1:终端主电源掉电  

标志维持至报警条件解除  

9

1:终端LCD或显示器故障  

标志维持至报警条件解除  

10

1:TTS模块故障   

标志维持至报警条件解除  

11

1:摄像头故障   

标志维持至报警条件解除  

12~17

保留  

  

18

1:当天累计驾驶超时  

标志维持至报警条件解除  

19

1:超时停车  

标志维持至报警条件解除  

20

1:进出区域  

收到应答后清零  

21

1:进出路线  

收到应答后清零  

22

1:路段行驶时间不足/过长  

收到应答后清零  

23

1:路线偏离报警  

标志维持至报警条件解除  

24

1:车辆VSS故障  4

标志维持至报警条件解除  

25

1:车辆油量异常  

标志维持至报警条件解除  

26

1:车辆被盗(通过车辆防盗器)  

标志维持至报警条件解除  

27

1:车辆非法点火  

收到应答后清零  

28

1:车辆非法位移  

收到应答后清零  

29

1:碰撞侧翻报警  

标志维持至报警条件解除  

30~31

保留  

  

 

19 位置附加信息项格式

字段  

数据类型  

描述及要求  

附加信息ID

BYTE

1~255  

附加信息长度

BYTE

  

附加信息

 

附加信息定义见表20   

 

20附加信息定义

附加信息ID  

附加信息长度  

描述及要求  

0x01

4

里程,DWORD,1/10km,对应车上里程表读数  

0x02

2

油量,WORD,1/10L,对应车上油量表读数  

0x03

2

行驶记录功能获取的速度,WORD,1/10km/h  

0x04

2

需要人工确认报警事件的ID,WORD,从1开始计数

0x05~0xF

 

保留  

0x11

1或5

超速报警附加信息见表21  

0x12

6

进出区域/路线报警附加信息见表22  

0x13

7

路段行驶时间不足/过长报警附加信息见表23  

 

表 21 超速报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

0:无特定位置;  

1:圆形区域;  

2:矩形区域;  

3:多边形区域;  

4:路段  

1

区域或路段ID

DWORD

若位置类型为0,无该字段  

 

表 22 进出区域/路线报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

1:圆型区域;  

2:矩形区域;  

3:多边形区域;  

4:路线  

1

区域或线路ID

DWORD

  

5

方向

BYTE

0:进; 1:出  

 

表 23 路线行驶时间不足/过长报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

路段ID

DWORD

  

4

路段行驶时间

WORD

单位为秒(s)  

6

结果

BYTE

0:不足;1:过长  

 

4. 附近车辆坐标协议-返回

消息ID0x8201

消息体数据见下表

起始字节

字段

数据类型

描述及要求

0

车辆数

WORD

  

1

车辆定位项

 

车辆定位项数据格式见表57   

 

表 57 车辆定位项数据格式

起始字节

字段

数据类型

描述及要求

0

车辆纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

4

车辆经度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

8

车牌号码

String

*交通管理部门颁发的机动车号牌  

 

5. 提交订单协议

消息ID0x0400

消息体数据如下表

起始字节

字段

数据类型

描述及要求

0

车辆纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

4

车辆经度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

8

乘客人数

Byte

乘客人数

9

车牌号码

String

*交通管理部门颁发的机动车号牌  

 

6. 订单成功协议-返回

消息ID0x8400

消息体数据如下表

起始字节

字段

数据类型

描述及要求

0

结果

Byte

0:成功/确认;1:失败;2:消息有误;3:不支持

1

订单号

BCD[9]

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

10

车牌号码

String

*交通管理部门颁发的机动车号牌  

 

7. 订单取消协议

消息ID0x0401

消息体数据如下表

起始字节

字段

数据类型

描述及要求

0

订单号

BCD[9]

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

9

订单取消原因

String

长度不超过50个汉字

 

 

8. 还车申请协议-发送

a) 消息ID0407

消息体数据如下表

起始字节

字段

数据类型

描述及要求

0

租客纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

4

租客经度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万分之一度  

8

订单号

BCD[9]

 格式  YYYYMMDDHHMMSSXXXX,例 201707061113550001

 

9. 

ii. 司机

1. 心跳协议

消息ID0x0002

消息体为空

2. 位置上传协议

消息ID0x0200

位置信息汇报消息体由位置基本信息和位置附加信息项列表组成,消息结构图如图3所示:  

 

位置基本信息

位置附加信息项列表

 

3 位置汇报消息结构图  

位置附加信息项列表由各位置附加信息项组合,也可没有,根据消息头中的长度字段确定。

位置基本信息数据格式见表16。  

 

16位置基本信息数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

报警标志

DWORD

报警标志位定义见表18

4

状态

DWORD

状态位定义见表17  

8

纬度

DWORD

以度为单位的纬度值乘以10的6次方,精确到百万 分之一度  

12

经度

DWORD

以度为单位的经度值乘以10的6次方,精确到百万 分之一度  

16

高程

WORD

海拔高度,单位为米(m)

18

速度

WORD

1/10km/h  

20

方向

WORD

0~359,正北为0,顺时针  

21

时间

BCD[6]

YY-MM-DD-hh-mm-ss(GMT+8时间,本标准中之后涉及的时间均采用此时区)  

 

17 状态位定义

状态  

0

0:ACC关;1: ACC开  

1

0:未定位;1:定位  

2

0:北纬;1:南纬  

3

0:东经;1:西经  

4

0:运营状态;1:停运状态  

5

0:经纬度未经保密插件加密;1:经纬度已经保密插件加密  

6~9

保留  

10

0:车辆油路正常;1:车辆油路断开  

11

0:车辆电路正常;1:车辆电路断开  

12

0:车门解锁;1:车门加锁  

13~31

保留  

 

18报警标志位定义

位  

定义  

处理说明  

0

1:紧急报警,触动报警开关后触发  

收到应答后清零  

1

1:超速报警  

标志维持至报警条件解除  

2

1:疲劳驾驶  

标志维持至报警条件解除  

3

1:预警  

收到应答后清零  

4

1:GNSS模块发生故障  

标志维持至报警条件解除  

5

1:GNSS天线未接或被剪断  

标志维持至报警条件解除  

6

1:GNSS天线短路  

标志维持至报警条件解除  

7

1:终端主电源欠压  

标志维持至报警条件解除  

8

1:终端主电源掉电  

标志维持至报警条件解除  

9

1:终端LCD或显示器故障  

标志维持至报警条件解除  

10

1:TTS模块故障   

标志维持至报警条件解除  

11

1:摄像头故障   

标志维持至报警条件解除  

12~17

保留  

  

18

1:当天累计驾驶超时  

标志维持至报警条件解除  

19

1:超时停车  

标志维持至报警条件解除  

20

1:进出区域  

收到应答后清零  

21

1:进出路线  

收到应答后清零  

22

1:路段行驶时间不足/过长  

收到应答后清零  

23

1:路线偏离报警  

标志维持至报警条件解除  

24

1:车辆VSS故障  4

标志维持至报警条件解除  

25

1:车辆油量异常  

标志维持至报警条件解除  

26

1:车辆被盗(通过车辆防盗器)  

标志维持至报警条件解除  

27

1:车辆非法点火  

收到应答后清零  

28

1:车辆非法位移  

收到应答后清零  

29

1:碰撞侧翻报警  

标志维持至报警条件解除  

30~31

保留  

  

 

19 位置附加信息项格式

字段  

数据类型  

描述及要求  

附加信息ID

BYTE

1~255  

附加信息长度

BYTE

  

附加信息

 

附加信息定义见表20   

 

20附加信息定义

附加信息ID  

附加信息长度  

描述及要求  

0x01

4

里程,DWORD,1/10km,对应车上里程表读数  

0x02

2

油量,WORD,1/10L,对应车上油量表读数  

0x03

2

行驶记录功能获取的速度,WORD,1/10km/h  

0x04

2

需要人工确认报警事件的ID,WORD,从1开始计数

0x05~0xF

 

保留  

0x11

1或5

超速报警附加信息见表21  

0x12

6

进出区域/路线报警附加信息见表22  

0x13

7

路段行驶时间不足/过长报警附加信息见表23  

 

表 21 超速报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

0:无特定位置;  

1:圆形区域;  

2:矩形区域;  

3:多边形区域;  

4:路段  

1

区域或路段ID

DWORD

若位置类型为0,无该字段  

 

表 22 进出区域/路线报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

位置类型

BYTE

1:圆型区域;  

2:矩形区域;  

3:多边形区域;  

4:路线  

1

区域或线路ID

DWORD

  

5

方向

BYTE

0:进; 1:出  

 

表 23 路线行驶时间不足/过长报警附加信息消息体数据格式

起始字节  

字段  

数据类型  

描述及要求  

0

路段ID

DWORD

  

4

路段行驶时间

WORD

单位为秒(s)  

6

结果

BYTE

0:不足;1:过长  

 

 

3. 

4. 

a) WEB接口开发

i.  登录

1. 参数:用户名、签名

2. 返回:用户ID、用户名、手机号等信息

ii.  手机号验证

1. 参数:用户ID、手机号码、验证码

2. 返回:0 成功 ;其他 失败

iii. 

iv. 获取验证码

1. 参数:手机号码

2. 返回:验证码

v.  历史订单查询

1. 参数:乘客ID、起始时间、终止时间

2. 返回:乘客ID、乘客姓名、订单号、取车时间、取车地点、还车时间、还车地点

vi.    车辆信息

1. 参数:车牌号码

2. 返回:车牌号码、车型信息(XX座等信息)

vii.    提交订单

1. 参数:乘客ID、取送方式(上门取送或到店取送)、取车城市、取车位置(客户位置)、还车城市、还车位置(客户位置)、取车时间、还车时间、车牌号码

2. 返回值 0 成功,其他失败

viii.  会员个人信息添加

1. 参数:头像、昵称、姓名、性别、年龄、行业、公司、职业、手机号码、密码、国籍、户籍、住址、准驾车型、驾驶证有效期起、驾驶证有效期止、

2. 返回值:0 成功 其他失败

ix.    会员个人信息编辑

1. 参数:头像、昵称、年龄、行业、公司、职业、国籍、户籍、住址、准驾车型、驾驶证有效期起、驾驶证有效期止

x.    会员个人信息查询

1. 参数:乘客ID

2. 返回:乘客头像、昵称、姓名、性别、年龄、行业、公司、职业、手机号码、密码、国籍、户籍、住址、准驾车型、驾驶证有效期起、驾驶证有效期止

xi. 会员账户查询

xii. 实名认证

1. 参数:用户ID、真实姓名、身份证号

2. 返回:0 成功 1 身份证号已被注册过,其他失败

xiii.  客户信息查询

1. 参数:订单号

2. 返回:乘客昵称、乘客姓名、乘客电话、乘客评价等级

xiv.  钱包信息查询

1. 参数:乘客ID

2. 返回:支付方式、余额、银行卡绑定信息、优惠券信息、积分

xv.  修改密码

1. 参数:原密码、新密码、用户ID

2. 返回:0 成功 其他失败

xvi.  版本查询

1. 参数:现版本号

2. 返回:新版本号

xvii.  用户指南

1. 参数:用户类型(乘客或司机)

2. 返回:用户帮助大类型、子类型、具体帮助项名、具体帮助项内容

xviii.  行程安全

1. 参数:用户ID、用户类别

2. 返回:紧急求助教程内容、紧急联系人信息(姓名、手机号码)

xix.  更换手机号

1. 参数:用户ID、新手机号码

2. 返回:0 成功;1新手机号码已注册过,不能使用;其他失败

xx. 注销账号

1. 参数:用户ID

2. 返回:0 成功 ;其他失败

xxi. 电话客服

1. 参数:无

2. 返回:客服电话号码

xxii. 开具发票

1. 参数:

xxiii. 开票历史

1. 参数:用户ID、起始日期、终止日期

2. 返回: