bartender 轻车车联网网关

轻车车联网网关 bartender

不仅仅是TCP/UDP网关。基于Spring Boot 2.x技术,将硬件接口的复杂对接转化为简单易用的接口和消息推送方式,具备设备管理、数据分析和消息推送等多种能力,可广泛应用于各种车辆监管场景和应用平台。

bartender作为本网关的接口服务,能够为车辆联网监管和部标标准的实现提供强有力的支持,助力车辆监管的智能化和规范化。

bartender接口说明文档

文档

软件架构

轻车车联网网关架构

产品线路图

轻车车辆网网关线路图

系统配置要求

配置项 规格
CPU内存 1w台设备以内2核4G
硬盘 每100台设备1年20G
操作系统 Linux

支持设备类型

设备类型 协议
康凯斯有线/OBD接电设备 康凯斯私有协议
奇果OBD设备 奇果私有协议
零一OBD设备 零一私有协议
车葫芦OBD设备 车葫芦私有协议
车易控行车记录仪 JT808部标协议
合正行车记录仪 合正私有协议
新源润无线设备 新源润私有协议
ADAS设备 JT1078部标协议

支持报警类型

类别 报警项
设备自带报警 电瓶拆除报警、非法拆除报警、震动报警、
风险地点报警、防劫持报警、开盖报警、
位移报警、伪基站报警
异常驾驶行为-疲劳/打电话/抽烟
平台判断报警 超速报警、进敏感区域报警、出敏感区域报警、
掉线报警、停车超时报警、分离报警、
出省报警、敏感区域停留报警、未进常用区域超时报警、
原地设防报警、进电力围栏报警、
出电子围栏报警、围栏内报警、围栏内停车超时报警

名词说明

概念 定义
报文 硬件上行数据,例如定位、心跳、报警、OBD等信息。
服务器时间 平台接收报文时间。
定位时间 报文中GPS定位时间,即硬件使用自身GPS模块获得的GPS定位时间。
在线/离线状态 平台收到硬件最后一条报文10分钟后,更新设备状态为离线。上报报文期间为在线。
停车/行驶状态 时速大于5视为行驶,否则停车。离线时设备速度为0。
里程 根据上报定位点,按GPS时间排序,累加定位点间距获得。
停留点 从开始停车到行驶的一段时间视为停留点,停留时长最少10分钟。
轨迹 将历史定位数据按定位时间排序绘制的路线。
轨迹分段 将轨迹分隔为多个行程段。分隔条件默认为,点间距超过10米,定位时间间距超过15分钟。

使用说明

1. API鉴权

初次使用时我们会提供调用终端的鉴权信息client_idclient_secret,调用鉴权接口可获取凭证access_token,之后便可开始使用其他业务API接口。 

鉴权接口 POST /oauth/token

此接口返回的token_type和access_token使用' '(空格)连接后,在请求header中携带调用业务接口。

请求参数

名称 位置 类型 必选 说明
grant_type query string 固定参数
client_id query string 客户端ID
client_secret query string 客户端密钥

成功返回示例

{
  \"access_token\": \"this_is_an_example_access_token\",
  \"token_type\": \"bearer\",
  \"expires_in\": 40528,
  \"scope\": \"all\",
  \"jti\": \"483fb3cf-e63b-415d-93bd-bdd4f12a8213\"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

返回数据结构

名称 类型 必选 约束 中文名 说明
» access_token string true none 鉴权token none
» token_type string true none 鉴权类型 none
» expires_in integer true none 多少秒后token过期 none

2. 设备接入与消息接收

系统搭建完成后,若使用第三方硬件,需将硬件配置到对应协议的TCP(UDP)上线端口,若使用我司设备,可联系客服配置。 如图所示,首先添加设备以确保设备上线,若需接收设备实时定位和告警,需开启事件推送。

设备-添加接口 GET /devices/syn

支持相同型号批量添加,使用默认参数,可绕过鉴权。

请求参数

名称 位置 类型 必选 说明
clientId query string 客户端ID
categoryNo query string 设备型号,长名称
deviceNums query string 设备号,批量使用逗号间隔

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

设备-批量启停推送接口 GET /devices/batch

若设备导入时没有指定启用状态,则默认启用,不需要批量启用。若导入时指定设备初始状态为停用,则需要使用该接口控制,停用时,不推送定位状态、事件信息。

请求参数

名称 位置 类型 必选 说明
devices query string 需要启停的设备编号,多个时用逗号间隔
isEnable query string 0:启用 1:停用

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline
  1. 验证设备上线

设备位置-运维查看设备位置状态接口 GET /opt/location

运维使用查询设备最新定位状态,当设备号不存在时提示“设备号不存在”

请求参数

名称 位置 类型 必选 说明
deviceNum query string none

成功返回示例

{
  \"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
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

返回数据结构

名称 类型 必选 约束 中文名 说明
» code integer true none   none
» data object true none   none
»» categoryNo string true none 设备类型 none
»» categoryNoShort string true none 设备类型短名 none
»» createTime string true none 创建时间 none
»» deviceNum string true none 设备号 none
»» direction integer true none 方向 none
»» directionName string true none 方向描述 none
»» gpsTime string true none 定位时间 none
»» isMoving integer true none 行驶中状态 行驶:1;停车:0 none
»» latBd number true none 百度坐标纬度 none
»» latGc number true none 高德坐标纬度 none
»» lngBd number true none 百度坐标经度 none
»» lngGc number true none 高德坐标经度 none
»» locMode integer true none 定位方式 0-GPS;1-LBS单基站;2-LBS多基站;5-WIFI;9-不定位 none
»» satCount integer true none 卫星数 卫星个数 none
»» speed integer true none 速度 none
»» startTimeMovingStop string true none 行驶/停车 + 起始时刻 年月日 时分秒 none
»» startTimeOnOffLine string true none 在线/离线起始时刻 年月日 时分秒 none
»» wifiFlag integer true none 设备类型 1:有线 none
» message string true none   none
» success boolean true none   none

常见问题

设备在线总数和各端口在线数

可根据各端口实时在线数量粗略判断端口健康状态,当某端口车辆较少或当前时间大部分车辆在停车状态,则不足以判断端口健康情况。可参考以下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);

设备不上线问题

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

运维建议:

  1. 确认设备是否已通电,车辆正常行驶。
  2. 与网络运营商确认物联网卡为可用状态。
  3. 避免将车辆置于地下停车场等信号差的位置,参看设备说明书,根据指示灯判断,确认网络信号良好,GPS信号良好。

设备定位不准问题

车辆于地图定位与实际位置有偏差。

运维建议:

  1. 确认车辆正常行驶,否则可能导致设备断电。
  2. 确认定位更新回调接收该设备数据正常,若无更新,怀疑存在设备不上线问题。
  3. 若回调数据中定位标识AV=V,说明设备搜索不到卫星信号,GPS定位失败,建议开车移动到信号较好的位置。
© 版权声明
THE END
喜欢就支持一下吧
点赞226 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容