An open API service indexing awesome lists of open source software.

https://github.com/tx7do/go-jt808


https://github.com/tx7do/go-jt808

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# go-jt808

## 协议一览表

| 协议名称 | 是否支持 | 备注 |
|------------------|------|-----------------------------------------------------------|
| JT/T 808 2011版本 | 支持 | JT/T808 2011《道路运输车辆卫星定位系统终端通信协议及数据格式》协议 |
| JT/T 808 2013版本 | 支持 | JT/T808 2013《道路运输车辆卫星定位系统终端通信协议及数据格式》协议 |
| JT/T 808 2019版本 | 支持 | JT/T808 2019《道路运输车辆卫星定位系统终端通信协议及数据格式》协议 |
| JT/T 809 | 支持 | JT/T809《道路运输车辆卫星定位系统终端通信协议及数据格式》协议 |
| JT/T 905 | 支持 | JT/T905 出租汽车服务管理信息系统运营专用设备-通讯协议 |
| JT/T 1078 2016版本 | 支持 | JT/T 1078《道路运输车辆卫星定位系统视频通信协议》协议 |
| JT/T 1257 2016版本 | 支持 | JT/T 1257《营运货车能耗在线监测》 |
| T/JSATL | 支持 | 苏标 T/JSATL《道路运输车辆主动安全智能防控系统(通讯协议规范)》协议(基于JT/T808-2013) |
| T/GDRTA(主动安全-粤标) | 支持 | 粤标 T/GDRTA 2020《道路运输车辆智能视频监控报警系统通讯协议规范》协议(基于JT/T808-2019) |
| GB/T 32960 | 支持 | GB/T32960.3-2016 电动汽车远程服务与管理系统技术规范 |

## JT808数据结构解析

### 数据包[Packet]

| 头标识 | 数据头 | 数据体/分包数据体 | 校验码 | 尾标识 |
|:-----:|:------:|:----------------------:|:---------:|:---:|
| Begin | Header | Payload/SubDataPayload | CheckCode | End |
| 7E | - | - | - | 7E |

### 数据头[Header]

| 消息ID | 消息体属性 | 协议版本号(2019版本) | 终端手机号 | 消息流水号 | 消息总包数(依赖是否分包) | 包序号(依赖是否分包) |
|:-----:|:----------------------------:|:-------------:|:---------------:|:------:|:-------------:|:-----------:|
| MsgId | HeaderMessagePayloadProperty | Version | TerminalPhoneNo | MsgNum | PacketCount | PacketIndex |

#### 数据头-消息体属性[HeaderMessagePayloadProperty]

| 版本标识(2019版本) | 是否分包 | 加密标识 | 消息体长度 |
|:------------:|:--------:|:-------:|:----------:|
| VersionFlag | IsPacket | Encrypt | DataLength |

#### 消息体属性[Payload]

> 根据对应消息ID:MsgId

***注意:数据内容(除去头和尾标识)进行转义判断***

转义规则如下:

1. 若数据内容中有出现字符 0x7e 的,需替换为字符 0x7d 紧跟字符 0x02;
2. 若数据内容中有出现字符 0x7d 的,需替换为字符 0x7d 紧跟字符 0x01;

反转义的原因:确认JT808协议的TCP消息边界。