基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

 

演示平台:http://gps.lingx.com

账号:admin,密码:123456

1. 开发环境

    操作系统:Windows 系列/Linux 系列/MacOS 32 位或 64 位都可以
    Java 环境:JDK 1.6/1.7 32 位或 64 位都可以
    WEB 容器:Tomcat 6.0/7.0 是当前的开发环境, Jetty、JBoss 等也是可以的,项目
是标准 Servlet 2.5 工程
    数据库:MySQL 5.5+,推荐使用 MariaDB 5.5
    浏览器:谷歌 chrome、火狐 Firefox

2. 第三方依赖

    Spring 3.2:主要应用 IOC、AOP、事件、JDBC、事务管理、工作调度
    druid 1.0:数据库连接池
    fastjson 1.1:JSON 格式化工具
    log4j 2.3:日志工具
    guava 18.0:内部缓存
    ExtJS 4.2:前端展示

3. 平台架构

 

 

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

      1、数据库是 Mysql 数据库,存储车辆信息、位置数据、用户权限。
      2、协议解码器是后台服务程序,用于监听与监控 GPS 设备监控,可以对设备协议进行
扩展。
      3、WEB 管理平台是标准的 Servlet2.5 工程,运行于 Tomcat、Jetty、JBoss 容器中。

      4、微信服务号用于与公众号后台进行对接,使得微信用户方便查车。

      5、APP 数据端口提供 APP 所需的功能,供苹果与安卓 APP 进行远程调用与操作。

3.1. 协议解码器

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

     

      1、终端设备是北斗或GPS设备可以多个设备连接到服务器,一般是通过TCP或UDP
方式进行连接。
       2、NETTY 是异步通信框架支持高连接数、高并发作为数据入口。是 Java 主流的服
务器框架。
       3、队列缓存数据接收后放入缓存后通过先进先出的队列算法进行数据管理,等待
数据处理。
       4、解析线程是协议解析通过多线程并发处理,可以根据需要处理的并发量进行优
化并发数。
       5、数据处理是协议解析后,根据不同类型的数据进行不同的处理后写入数据库。
       6、数据库存储上报的各种数据信息。

3.2. WEB 管理平台

 

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

       1、数据库是 MYSQL5.5,5.6。
       2、基础框架有 Spring 对象配置管理、DRUID 数据库连接池、JSON 转换工具。

4. 实现功能

      4.1.车辆定位

      车辆定位可实现所有的车辆在同一幅地图上同时显示,根据车辆的位置和数量,系统自动将地图调整到最合适的比例尺,所有车辆的实时位置和状态一目了然。车辆快速闪动表示车辆正在运行,车辆慢闪表示车辆停止,如图1-1所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-1

        4.2.车辆卫星图

        通过卫星地图,可查看到车辆周边的道路和建筑物的清晰实体图景,如图1-2所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-2

          4.3.车辆行驶轨迹

          可查询任意时段的车辆行车轨迹,地图自动以连续的蓝色线条描述需监控车辆的运行路线,直观、明了。

          系统还可以以动态形式回放车辆运行轨迹,让您清晰、细致地了解车辆的历史运行状态,如图1-3所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-3

            4.4.行车里程

            系统可根据设定的时段输出该车的开车时间、停车时间、行车里程,如图1-4所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-4

            4.4.车辆行驶报表

            系统可根据设定时段输出该车在何时、何地停车,停车多长时间。同时,可得出该段时间内该车的行驶里程、行驶时间等,并可将报表内容以Execl格式保存,如图1-5所示。

 基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-5

               4.5.手机查车

               用户可通过手机微信公众端登陆系统平台,查看车辆的实时情况,可直接在手机中查看地图,并进行相关车辆的控制功能、既简便、又实用,如图1-6所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-6

                    4.5.围栏报警

                   自由设置围栏、进出围栏报警、围栏内开门、关门报警、围栏内限速报警,监控车辆的合理使用范围及安全,如图1-7所示。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

图1-7

                    4.5.微信报警

                    可设定车辆紧急情况联系人,当车辆遇到紧急情况时,系统可自动将报警信息发送到联系人的微信上进行提醒。

                    4.6.扩展功能

                    4.6.1.车辆每个月所行驶的里程、速度自动生成报表统计。

                  北斗GPS定位平台能自动对每一辆车所行驶的里程及速度一一记录在案,并在每个月指定的日期里,自动生成统计报表,数据既精确又能对里程不正常的车辆进行分析比对,再通过系统的历史轨迹功能,可轻松发现问题所在。

                   4.6.2.油量自动对比统计。

                   系统会根据行驶里程及速度参数推算出合理油耗,并对实际加油量进行比对分析,为节油标兵或耗油达人提供奖励、处罚依据。

                   4.6.3.车辆保险、年检、保养到期自动提示。

                   系统会自动对年检、保险、保养将要到期时,发出短信和系统页面提示。

                   4.6.4.路况信息及时提醒。

                   对于建立了路况信息点采集的城市,如上海、北京等,系统会以颜色标注的形式提示道路交通拥堵状况,便于调度管理车辆选择合理路线降低油耗。

                 4.6.5.交通违章及保险赔付查询。

                   系统可直接登录交通安全信息网、保险网查询车辆的违章和出险理赔信息,防止出现“被违章”或“被理赔”等情况。

                   4.6.6.系统后台24小时监控。

                   一旦发生报警求助后,系统主控界面会显示报警信息,中心值班员可联系委托人确认警情,必要时可联动110处警。

                   4.6.7.信息点标注。

                   可在地图上标注企业自己的网点,及送货到达目的地,收费站,加油站等标注点,方便操作。标注点将在“车辆跟踪”和“行车轨迹回放”显示出来。通过更多网点的标注,您可以确定最有效的运输路径,并可清楚的知道车辆是否按规定运行。

 

5. 代码部分

                    5.1.Maven 管理部分

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统

                 核心接口:com.lingx.gps.protocol.IProtocol该接口定义了协议解析的框架接口,Netty接收原始报文后通过调用判定是属于哪个协议,再给相应的协议进行解析。具 体 请 参 考 部 标 JT/T808 的 实 现 类 :com.lingx.gps.protocol.bubiao.BubiaoProtocol

谢谢观看!看完有建议的老铁们可以加下我微信,技术交流。

基于部标Jt/T809协议和Java Netty框架构建北斗GPS定位系统