# sanleny-jt808 **Repository Path**: SanLeny/sanleny-jt808 ## Basic Information - **Project Name**: sanleny-jt808 - **Description**: JT/T808-2011 java 实现体系 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 20 - **Forks**: 4 - **Created**: 2019-11-11 - **Last Updated**: 2025-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 **JT/T808-2011 java 实现体系** 主要技术 Spring Boot 2.2.1.RELEASE, Spring 5.2.1.RELEASE ,Netty 4.1.43Final ### 目的 实现 doc 中的 JT-808 协议,本项目主要实现的是 《驾图终端808通信协议标准_V1.00.docx》 doc 中还包含 TCP/UDP 测试工具 ### 项目入口 cn.sanleny.jt808.server.Application ### TCP 服务 对外暴露端口,默认 8864 cn.sanleny.jt808.server.framework.server.Jt808TcpServer ### 核心模块 cn.sanleny.jt808.server.framework 该模块主要实现了 TCP的连接管理、 JT808 协议消息的解析,以及对终端的响应等功能 ### 协议处理模块 `cn.sanleny.jt808.server.protocol` 该模块主要是对各种 GPRS 协议的解析,以及相应的业务处理 对于这些具体的协议处理类只需要继承抽象类 `cn.sanleny.jt808.server.framework.handler.AbstractProtocolProcess` ,实现其中的 `resolve` 和 `process` 方法即可。 > tip:可以在 `resolve` 方法中解析消息数据数组,也可以直接返回一个体类,交由 CGLIB 的动态代理类 `cn.sanleny.jt808.server.framework.aop.ResolveMethodInterceptor` 来处理,前提是你的实体类得符合解析的规则:需要在对应的实体类上增加注解 `@Jt808Resolver` ,类中的字段上增加注解 `@Jt808Field` ## 其它 目前只实现了一部分的功能,后续会继续完善的... 如果认为此项目对你有帮助,请在右上角轻点下 start 让作者更有动力的持续完善哦 ... ## 测试数据 记录了一些相关的测试数据,方便测试,以下都是16进制编码 ### 接收数据 --------------------------------------------------------------------------- ### 链路心跳(0x0002) 7E0002000060081900027803A5AF7E ### 终端注册(0x0100) 7E0100002D60081900027805BC002C001E34343033306B6172746F7200000000000000000000000000004D38393030303201D4C1423939383838AE7E ### 终端鉴权(0x0102) 7E0102001A60081900027805C1313233367D027D0281000006600819000278000305BF00313233367D029D7E ### 位置信息 (0x0200) 7E0200004F502820408000481F000000000000000301584CC106CA88610043000001031911010912460104000016EA020209B7E3273147314A433534343452373235323336382C2C1791BC823637363135303000000000EEEEEEEEEEA17E ### 终端请求时间(0x0F00) 7E0F00000060081900027812F8EE7E ### 数据上行透传(0x0900) #### 行车数据(0xF0) 7E0900003760081900027801E2F0191107100230000000000000000000000002AD007D01000000000000CF55005700570B00570000002A002C00000C02005705820103E8012C7E #### 行程报告(0xF1) 7E0900003C600819000278163BF10410131422431911121233030000FB0000D7ED0010000012CE0006000000000000000000000000000000000000000000007F4C7F4C006A0AC60057527E ### 定位数据批量上传(0x0704) 7E07040219201610090002008E000E010214000000000000000301584D5A06CA875D005000000000191207164630010400000000020200BE000000000000000301584D5F06CA8761005000000000191207164635010400000000020200BE000000000000000301584D5F06CA8761005000000000191207164640010400000000020200BE000000000000000301584D5F06CA8761005000000000191207164645010400000000020200BE000000000000000301584D5F06CA8761005000000000191207164650010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164655010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164700010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164705010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164710010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164715010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164720010400000000020200BF000000000000000301584D5F06CA8761005000000000191207164725010400000000020200C0000000000000000301584D5F06CA8761005000000000191207164730010400000000020200C0000000000000000301584D5F06CA8761005000000000191207164735010400000000020200C0E17E --------------------------------------------------------------------- ### 发送数据 cn.sanleny.jt808.server.web.TestController postman 工具请求接口 http://localhost:8080/test/search//search/{type}/{no} 测试方法: 1、打开网络调试助手请求工具,连接服务并发送 HEX 链路请求包:`7E0002000060081900027803A5AF7E` 以确保请求到达服务器 2、使用postman 工具或浏览器请求接口: http://localhost:8080/test/search/1/600819000278 返回数据OK,可以在后台或者网络调试助手工具上看到发送的HE并包,即代表请求成功 ## 致谢 作者 hylexus 的项目 **[jt-808-protocol](https://github.com/hylexus/jt-808-protocol)**