JT/T808协议报文解析

发布时间: 2026-07-13 15:03:18

0:前言

JTT808协议包由如下几部分组成:

1. 标识位始终为7E,一个字节。

2. 消息头由消息ID + 其余字节组成 这里规定共12字节,转义后不定。

3. 消息体占用字节数要根据具体需上传的数据确定。

4. 校验码是从消息头的第一个字节到消息体的最后一个字节逐字节按位异或的来,占一个字节,转义后不定。

 

若消息头、消息体及校验码中出现 0x7e,则要进行转义处理,转义规则定义如下:

0x7e <————> 0x7d后紧跟一个0x02

0x7d <————> 0x7d后紧跟一个0x01

转义处理过程如下:发送消息时:消息封装——>计算并填充校验码——>转义;接收消息时:转义还原——>验证校验码——>解析消息。

示例:

发送一包内容为0x7e 0x30 0x7e 0x08 0x7d 0x55 0x7e的数据包,则经过封装如下:0x7e 0x30 0x7d 0x02 0x08 0x7d 0x01 0x55 0x7e

1:终端注册

消息名称: 终端注册

消息ID0x0100

 

消息体格式:

字段1:省域ID,占二个字节

字段2:市县域ID,占二个字节

字段3:制造商ID和终端型号,共占用24个字节,其中后20字节为终端型号

字段4:终端IDIMEI号,BCD码,占

字段5:车牌颜色,占一个字节

字段6:车辆标识,占4个字节

 

 

示例:

7E01000035495061553747000000000000000000000000000000000000000000000000000000000000086349506155374700313233345B7E

解析:

7E

消息头

0100 消息头之消息ID

00354950615537470000 消息头其余部分

消息体

0000省域ID

0000市县域ID

000000000000000000000000000000000000000000000000制造商ID和终端型号,注意:从终端型号20个字节里,借最后一个字节做IMEI

0863495061553747 此处为w1 5G模组的IMEI号码:IMEI号码为15位借了一位

00车牌颜色

31323334 车辆标识

校验码

5B

7E

 

2:终端鉴权

消息名称: 终端鉴权

消息ID: 0x0F02

 

消息体格式:

字段116字节鉴权码

 

示例:

7E0102001C49506161664300006B486D66347769324D76534A37685568537E

解析:

7E

消息头

0102 消息头之消息ID

001C4950616166430000 消息头其余部分

消息体

6B486D66347769324D76534A37685568 鉴权码

校验码

53

7E

3:位置信息汇报

消息名称: 位置信息汇报

消息ID: 0x0200

 

消息体格式:

字段1:报警标志位,4个字节,保留

字段2:定位状态,  0x01 是普通定位,0x02 是差分定位,0x04 RTK 固定解,0x05 RTK 浮点解,一个字节

字段3:卫星信号强度大于42 以上的卫星个数,一个字节

字段4:卫星信号强度大于40 以上的卫星个数,一个字节

字段5:卫星信号强度大于35 以上的卫星个数,一个字节

字段6:纬度,四个字节

字段7:经度,四个字节

字段8:高度,两个字节

字段9:速度,两个字节

字段10:方向,两个字节

字段11:时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:

7E0200002800000000000000380000000001080C130158C53506C9DED603E8001E003C250430110333C47E

 

解析:

7E

消息头

0200 消息头之消息ID

00280000000000000038 消息头其余部分

消息体

00000000 报警标志位,保留

01 定位状态,  0x01 是普通定位

08 卫星信号强度大于42 以上的卫星个数

0C 卫星信号强度大于40 以上的卫星个数

13 卫星信号强度大于35 以上的卫星个数

0158C535 纬度*1000000的十六进制

06C9DED6 经度同上

03E8 高度

001E 速度

003C 方向

250430110333 时间(BCD),格式:yymmddhhmmss

校验码

C4

7E

4:健康数据之心率

消息名称: 健康数据

消息ID: 0x0F01

 

消息体格式:

字段1: 心率值,长度(1字节),取值范围[0-255]

字段2: 保留字段,长度(4字节)

字段3: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:

7E0F01001749506161664300024E000000002504301021430A7E

解析:

7E

消息头

0F01 消息头之消息ID

00174950616166430002 消息头其余部分

消息体

4E 心率值

00000000 保留字段

250430102143 时间(BCD),格式:yymmddhhmmss

校验码

0A

7E

5:蓝牙信标

消息名称: 扫描蓝牙信标

消息ID: 0x0F02

 

消息体格式:

字段1: 长度(1字节),扫描到有效蓝牙信标的个数,(超过4,取其中信号最好的前4)

字段2: 如果存在,第一条蓝牙信标信息

字段3: 如果存在,第二条蓝牙信标信息

字段4: 如果存在,第三条蓝牙信标信息

字段5: 如果存在,第四条蓝牙信标信息

 

蓝牙信息的组成

字段(1-n).1: 蓝牙mac地址,长度(12字节) ,编码格式:ascii.

字段(1-n).2: 蓝牙rssi,长度(1字节),rssi的绝对值,数值型

字段(1-n).3: 蓝牙信标电量,长度(1字节),数值型,取值范围[0-100]

 

示例:

7E0F02001B495061553747002501ED992B674EED603C250429191716B87E

解析:

7E

消息头

0F02 消息头之消息ID

001B4950615537470025 消息头其余部分

消息体

01 扫描到有效蓝牙信标的个数,这里扫描到一个

ED992B674EED603C25042919 这个蓝牙信标的mac地址

17 蓝牙信标rssi

16 蓝牙信标电量

校验码

B8

7E

6:健康数据之血氧

消息名称: 健康数据

消息ID: 0x0F03

 

消息体格式:

字段1: 血氧值,长度(1字节),取值范围[0-100]

字段2: 保留字段,长度(4字节)

字段3: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:

7E0F03001700000000000000006200000000250430095158687E

解析:

7E

消息头

0F03 消息头之消息ID

00170000000000000000 消息头其余部分

消息体

62 血氧值

00000000 保留字段

250430095158 时间(BCD),格式:yymmddhhmmss

校验码

B8

7E

 

 

 

7:健康数据之计步

消息名称: 健康数据

消息ID: 0x0F04

 

 

消息体格式:

字段1: 久坐时长,长度(2字节),取值范围[0-1440],以分钟为单位

字段2: 步数,长度(4字节),取值范围[0-1000000..]

字段3: 运动时长,长度(4字节),取值范围[0-1440.],以分钟为单位

字段4: 卡路里消耗,长度(4字节),取值范围[0-100000],上传的是卡路里要转化为千卡

字段5: 距离,长度(4字节),取值范围[0-100000],以米为单位

 

字段6: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

 

示例:

7E0F0400162730173400080000000000C80002000200001D320000006F250814150101857E

解析:

7E

消息头

0F04 消息头之消息ID

00164950616166430002 消息头其余部分

消息体

000000C8 步数

0002 久坐时长

0002 运动时长

00001D32 卡路里消耗

0000006F 距离

250814150101 时间(BCD),格式:yymmddhhmmss

85 校验码

7E

8:健康数据之温度

消息名称: 健康数据

消息ID: 0x0F05

 

消息体格式:

字段1: 温度,长度(4字节),实际温度值乘以10,取值范围[0-1000]

字段2: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:

7E0F050016495061616643000100000054250430100125507E

解析:

7E

消息头

0F05 消息头之消息ID

00164950616166430001 消息头其余部分

消息体

00000054 实际温度值乘以10

250430100125 时间(BCD),格式:yymmddhhmmss

校验码

50

7E

9:健康数据之SOS

消息名称: 健康数据之SOS

消息ID: 0x0F06

 

消息体格式:

字段1: SOS报警状态,长度(1字节)

字段2:报警状态,四个字节

字段3:电量+定位状态,四个字节

字段4:纬度,四个字节

字段5:经度,四个字节

字段6:高度,四个字节

字段7:速度,四个字节

字段8:方向,四个字节

 

字段9: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:
7E
0F06001D273015351643271001000000006400000101CE1DA507295276003B000700002607071523087C7E

解析:

7E

消息头

0F06 消息头之消息ID

001D2730153516432710 消息头其余部分

消息体

01  SOS报警状态

00000000  报警状态

64000001  64 :电量100  00 00   01:定位状态 01单点 02差分 04固定解 05浮点解

01CE1DA5 纬度*1000000的十六进制

07295276 经度同上

 

003B  高度

0007  速度

0000  方向

 

260707152308 时间(BCD),格式:yymmddhhmmss

校验码7C

 

7E

10:健康数据之血压

消息名称: 健康数据

消息ID: 0x0F07

 

消息体格式:

字段1: 收缩压(高压)(1字节),取值范围[0-255]单位(单位:毫米汞柱(mmHg)

字段2: 舒张压(低压)(1字节),取值范围[0-255]单位(单位:毫米汞柱(mmHg)

字段3: 时间(BCD),长度(6字节),格式:yymmddhhmmss

 

示例:

7E0F07001449506161664300037450250430100858567E

解析:

7E

消息头

0F07 消息头之消息ID

00144950616166430003 消息头其余部分

消息体

74 收缩压

50 舒张压

250430100858 时间(BCD),格式:yymmddhhmmss

校验码

56

7E