天气与日历 切换到窄版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

此广告位出租
查看: 23|回复: 0

[Java源码] java可应用于各种车辆监管场景和轻松构建车联网平台

[复制链接]

2680

主题

0

回帖

2819

积分

管理员

积分
2819
发表于 2024-11-4 16:25:58 | 显示全部楼层 |阅读模式
java可应用于各种车辆监管场景和轻松构建车联网平台
不仅仅是TCP/UDP网关。基于Spring Boot 2.x技术,将硬件接口的复杂对接转化为简单易用的接口和消息推送方式,具备设备管理、数据分析和消息推送等多种能力,可广泛应用于各种车辆监管场景和应用平台。 bartender作为本网关的接口服务,能够为车辆联网监管和部标标准的实现提供强有力的支持,助力车辆监管的智能化和规范化。#车联网 #网关 #部标 #车辆监管 #车辆管理






系统配置要求[td]
配置项规格
CPU内存1w台设备以内2核4G
硬盘每100台设备1年20G
操作系统Linux
支持设备类型[td]
设备类型协议
康凯斯有线/OBD接电设备康凯斯私有协议
奇果OBD设备奇果私有协议
零一OBD设备零一私有协议
车葫芦OBD设备车葫芦私有协议
车易控行车记录仪JT808部标协议
合正行车记录仪合正私有协议
新源润无线设备新源润私有协议
ADAS设备JT1078部标协议
支持报警类型[td]
类别报警项
设备自带报警电瓶拆除报警、非法拆除报警、震动报警、
风险地点报警、防劫持报警、开盖报警、
位移报警、pseudo base station报警
异常驾驶行为-疲劳/打电话/抽烟
平台判断报警超速报警、进敏感区域报警、出敏感区域报警、
掉线报警、停车超时报警、分离报警、
出省报警、敏感区域停留报警、未进常用区域超时报警、
原地设防报警、进电力围栏报警、
出电子围栏报警、围栏内报警、围栏内停车超时报警
名词说明[td]
概念定义
报文硬件上行数据,例如定位、心跳、报警、OBD等信息。
服务器时间平台接收报文时间。
定位时间报文中GPS定位时间,即硬件使用自身GPS模块获得的GPS定位时间。
在线/离线状态平台收到硬件最后一条报文10分钟后,更新设备状态为离线。上报报文期间为在线。
停车/行驶状态时速大于5视为行驶,否则停车。离线时设备速度为0。
里程根据上报定位点,按GPS时间排序,累加定位点间距获得。
停留点从开始停车到行驶的一段时间视为停留点,停留时长最少10分钟。
轨迹将历史定位数据按定位时间排序绘制的路线。
轨迹分段将轨迹分隔为多个行程段。分隔条件默认为,点间距超过10米,定位时间间距超过15分钟。
安装说明
下载 docker-compose.yml 以及 lvn_bootstrap.sh,如果需要自定义可以使用文本编辑器对其中的参数进行自定义,两个文件放置在相同目录。
快捷安装
直接运行lvn_bootstrap.sh,适用于新服务器直接部署运行,会自动安装相关依赖的环境如docker、docker-compose
自定义安装
如已安装对应环境,可跳过该步骤,顺序执行下一个
安装docker

[color=rgb(51, 102, 153) !important]复制代码

安装docker-compose

[color=rgb(51, 102, 153) !important]复制代码

添加项目私库地址
  • echo '{ "insecure-registries": [ "123.234.31.106" ],  "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] }' >>/etc/docker/daemon.json

[color=rgb(51, 102, 153) !important]复制代码

启动docker
  • systemctl start docker
  • systemctl enable docker.service

[color=rgb(51, 102, 153) !important]复制代码

定义环境变量
  • export \
  •   LVN_DEPLOY_PATH=/user/local/lvn/ \
  •   LVN_CLIENT_ID=yiqiyongche \
  •   LVN_CLIENT_SECRET='$2a$10$FsEwMOG57LvYUzZMehWnperN1nXnWXZLLWM516HFXn7rMPEoS4Da.' \
  •   LVN_APP_CODE=03pf80c2bae96vc49b80b917bea776d7123123asfasfas

[color=rgb(51, 102, 153) !important]复制代码

  • LVN_DEPLOY_PATH: 项目日志以及持续化文件保存的地方
  • LVN_CLIENT_ID、LVN_CLIENT_SECRET、LVN_APP_CODE:填写项目授权或试用时分发的KEY、CODE
使用账号密码登录docker私库

[color=rgb(51, 102, 153) !important]复制代码

启动
  • docker-compose up -d

[color=rgb(51, 102, 153) !important]复制代码

定义声明端口定义
  • 9000,网关服务端口
  • 9010,授权服务端口
  • 8012,应用服务端口
  • 7005,告警处理服务端口
  • 12061,部标协议TCP端口
  • 3306,Mysql数据库端口
  • 6379,Mysql数据库端口
环境变量[td]
环境变量作用是否必填示例
LVN_DEPLOY_PATH部署目录,日志以及持久化文件会存储在此目录/user/local/lvn/
LVN_CLIENT_ID终端ID必填yiqiyongche
LVN_CLIENT_SECRET终端秘钥必填xxxxxx
LVN_BAIDU_GEO_KEY百度逆地理编码key必填xxxxxxx,xxxxx
LVN_GAODE_WIFI_KEY高德智能定位解析key非必填xxxxxxx,xxxxx
LVN_GAODE_LBS_KEY高德lbs解析key非必填xxxxxxx,xxxxx
** 本项目逆地理编码、基站解析、热点解析调用两大地图商(百度和高德)的api,调用秘钥(key)需按调用量需求申请对应的配额,代码内默认使用了个人版key,不支持生产环境。 https://lbsyun.baidu.com/apiconsole/center#/home https://console.amap.com/dev/key/app
使用说明1. API鉴权
初次使用时我们会提供调用终端的鉴权信息client_id和client_secret,调用鉴权接口可获取凭证access_token,之后便可开始使用其他业务API接口。


鉴权接口 POST /oauth/token
此接口返回的token_type和access_token使用' '(空格)连接后,在请求header中携带调用业务接口。
请求参数
[td]
名称位置类型必选说明
grant_typequerystring固定参数
client_idquerystring客户端ID
client_secretquerystring客户端密钥
成功返回示例
  • {
  •   "access_token": "this_is_an_example_access_token",
  •   "token_type": "bearer",
  •   "expires_in": 40528,
  •   "scope": "all",
  •   "jti": "483fb3cf-e63b-415d-93bd-bdd4f12a8213"
  • }

[color=rgb(51, 102, 153) !important]复制代码

返回结果
[td]
状态码状态码含义说明数据模型
200OK成功Inline
返回数据结构
[td]
名称类型必选约束中文名说明
» access_tokenstringtruenone鉴权tokennone
» token_typestringtruenone鉴权类型none
» expires_inintegertruenone多少秒后token过期none
2. 设备接入与消息接收
系统搭建完成后,若使用第三方硬件,需将硬件配置到对应协议的TCP(UDP)上线端口,若使用我司设备,可联系客服配置。 如图所示,首先添加设备以确保设备上线,若需接收设备实时定位和告警,需开启事件推送。


设备-添加接口 GET /devices/syn
支持相同型号批量添加,使用默认参数,可绕过鉴权。
请求参数
[td]
名称位置类型必选说明
clientIdquerystring客户端ID
categoryNoquerystring设备型号,长名称
deviceNumsquerystring设备号,批量使用逗号间隔
返回结果
[td]
状态码状态码含义说明数据模型
200OK成功Inline
设备-批量启停推送接口 GET /devices/batch
若设备导入时没有指定启用状态,则默认启用,不需要批量启用。若导入时指定设备初始状态为停用,则需要使用该接口控制,停用时,不推送定位状态、事件信息。
请求参数
[td]
名称位置类型必选说明
devicesquerystring需要启停的设备编号,多个时用逗号间隔
isEnablequerystring0:启用 1:停用
返回结果
[td]
状态码状态码含义说明数据模型
200OK成功Inline
3. 验证设备上线设备位置-运维查看设备位置状态接口 GET /opt/location
运维使用查询设备最新定位状态,当设备号不存在时提示“设备号不存在”
请求参数
[td]
名称位置类型必选说明
deviceNumquerystringnone
成功返回示例
  • {
  •   "code": 200,
  •   "data": {
  •     "categoryNo": "DO90",
  •     "categoryNoShort": "DO90",
  •     "createTime": "2022-07-27 05:12:00",
  •     "deviceNum": "868120250375836",
  •     "direction": 28,
  •     "directionName": "东北",
  •     "gpsTime": "2022-07-26 16:14:49",
  •     "isMoving": 0,
  •     "latBd": 29.116056,
  •     "latGc": 29.109734,
  •     "lngBd": 119.654767,
  •     "lngGc": 119.648356,
  •     "locMode": 9,
  •     "satCount": 15,
  •     "speed": 0,
  •     "startTimeMovingStop": "2022-06-23 07:45:53",
  •     "startTimeOnOffLine": "2022-07-27 05:12:00",
  •     "wifiFlag": 1
  •   },
  •   "message": "",
  •   "success": true
  • }

[color=rgb(51, 102, 153) !important]复制代码

返回结果
[td]
状态码状态码含义说明数据模型
200OK成功Inline
返回数据结构
[td]
名称类型必选约束中文名说明
» codeintegertruenonenone
» dataobjecttruenonenone
»» categoryNostringtruenone设备类型none
»» categoryNoShortstringtruenone设备类型短名none
»» createTimestringtruenone创建时间none
»» deviceNumstringtruenone设备号none
»» directionintegertruenone方向none
»» directionNamestringtruenone方向描述none
»» gpsTimestringtruenone定位时间none
»» isMovingintegertruenone行驶中状态 行驶:1;停车:0none
»» latBdnumbertruenone百度坐标纬度none
»» latGcnumbertruenone高德坐标纬度none
»» lngBdnumbertruenone百度坐标经度none
»» lngGcnumbertruenone高德坐标经度none
»» locModeintegertruenone定位方式 0-GPS;1-LBS单基站;2-LBS多基站;5-WIFI;9-不定位none
»» satCountintegertruenone卫星数 卫星个数none
»» speedintegertruenone速度none
»» startTimeMovingStopstringtruenone行驶/停车 + 起始时刻 年月日 时分秒none
»» startTimeOnOffLinestringtruenone在线/离线起始时刻 年月日 时分秒none
»» wifiFlagintegertruenone设备类型 1:有线none
» messagestringtruenonenone
» successbooleantruenonenone
4. 多媒体库
设备上报照片、视频存储到本地/media/下,可配置nginx便于通过url访问
nginx配置示例
  • server {
  •         listen       7001;
  •         location /media/lib {
  •                 alias  /media;
  •                 autoindex on;
  •         }
  • }

[color=rgb(51, 102, 153) !important]复制代码

常见问题设备在线总数和各端口在线数
可根据各端口实时在线数量粗略判断端口健康状态,当某端口车辆较少或当前时间大部分车辆在停车状态,则不足以判断端口健康情况。可参考以下SQL query查询在线数量。
  • SELECT COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) AS '在线总数'
  • FROM dd_new.position p;
  • SELECT p.TAG as '端口',
  • COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) AS '在线数',
  • COUNT(*) AS '累计上线数量',
  • MAX(p.CREATE_TIME) AS '最新服务时间',
  • NOW() AS '当前时间',
  • IF(TIMESTAMPDIFF(SECOND,MAX(p.CREATE_TIME),NOW()) <= SECOND(3), '正常',
  • IF(COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) < 100, '设备较少', '异常')) AS '端口健康' -- 该阈值需根据活跃车辆数进行调整
  • FROM dd_new.position p
  • GROUP BY p.TAG
  • ORDER BY MAX(p.CREATE_TIME);

[color=rgb(51, 102, 153) !important]复制代码

设备不上线问题
定位更新回调接收不到该设备数据,或超过30分钟没有新数据。

运维建议:

确认设备是否已通电,车辆正常行驶。
与网络运营商确认物联网卡为可用状态。
避免将车辆置于地下停车场等信号差的位置,参看设备说明书,根据指示灯判断,确认网络信号良好,GPS信号良好。
设备定位不准问题
车辆于地图定位与实际位置有偏差。
运维建议:
确认车辆正常行驶,否则可能导致设备断电。
确认定位更新回调接收该设备数据正常,若无更新,怀疑存在设备不上线问题。
若回调数据中定位标识AV=V,说明设备搜索不到卫星信号,GPS定位失败,建议开车移动到信号较好的位置。




以下内容需要积分高于 2 才可浏览

链接:https://pan.baidu.com/s/1xExLNw1DGqXCJX558jWTnQ



提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:13 Bytes  售价:39金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员5折;永久VIP免费】
安全检测,请放心下载



相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
快速回复 返回顶部 返回列表