乐高易车联网网关中间件使用手册
广西乐高易网络有限公司
www.legaoyi.com
修订日期:2024年2月20日
目录
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
1.引用标准
JT/T808-2011《道路运输车辆卫星定位系统终端通信协议及数据格式》
JT/T-808-2013《道路运输车辆卫星定位系统北斗兼容车载终端通信协议技术规范》
2.系统架构
netty/mina网关支持近200多种网络接入协议,全面覆盖市场上的终端设备,轻松连接各种车联网终端设备。网关采用MQ消息中间件以json消息(支持Kafka/RabbitMQ/ActiveMQ与业务平台进行数据交换,能够无缝接入各种异构系统。车联网网关主要功能包括:
一、 协议封装
车联网网关屏蔽了车载终端设备通讯协议的复杂性以及异构性,提供标准的json消息与业务平台进行交互,业务平台只需要按照车联网网关规定的json消息格式将消息发送至指定MQ消息队列/主题当中即可。车联网网关对json消息进行数据转换、协议适配,封装成符合各种车载终端设备的通讯协议的消息。
二、 协议解析
车联网网关屏蔽了车载终端设备通讯协议的复杂性以及异构性,对车载终端设备上行的消息进行协议适配、数据转换,封装成标准的json消息,并发送到指定的MQ消息队列/主题当中与业务平台进行数据交换。
三、 链路管理
车联网网关根据车载终端设备通讯协议的通讯方式、链路管理规范,管理接入设备与车联网网关之间的链路通讯、状态维护、链路状态通知等。
四、 数据交换
车联网网关按照车载终端设备通讯协议的规范,现实车载终端设备与业务平台之间的数据传输功能。
五、 安全控制
车联网网关具备流量控制、过载保护、数据加密、IP黑名单等安全控制功能。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.消息定义
3.1 数据交换方式
车联网网关(中间件)与业务平台之间通过json+MQ消息队列/主题方式进行数据交换,载终端设备发送到车联网网关(中间件)的协议消息,由网关中间件进行数据转换成为标准的json消息并发送到对应的MQ消息队列/主题中,业务平台通过监听对应的MQ消息队列/主题获得对应的消息,然后根据自身业务需求进行业务处理。当业务平台需要与车载终端设备进行通信时,业务平台根据本文定义的消息格式把对应的消息发送至对应MQ消息队列/主题中即可,车联网网关(中间件)会监听对应的MQ消息队列/主题获取相关的消息并按照808协议的规定进行消息转换,封装成808协议指定的消息格式发送到车载终端设备上。
3.2 数据交换队列/主题
(1){elink.upstream.urgent.topic}:车联网网关紧急上行消息队列/主题,该队列/主题主要存放车载终端设备注册、鉴权、上下线等消息。业务平台可监听该队列/主题获取相关消息。
(2){elink.upstream.media.topic}:车联网网关多媒体上行消息队列/主题,业务平台可监听该队列/主题获取相关的多媒体数据。
(3){elink.upstream.file.topic}:车联网网关文件上行消息队列/主题,业务平台可监听该队列/主题获取相关的文件数据(注意:车载设备上传的文件,网关处理后存放在本地服务器中)。
(4){elink.upstream.gps.topic}:车联网网关位置信息上行消息队列/主题,业务平台可监听该队列/主题获取相关终端设备上传的位置信息。
(5){elink.upstream.common.topic}:车联网网关普通上行消息队列/主题,该队列/主题存放(1)、(2)、(3) 、(4)以外的上行消息。业务平台可监听该队列/主题获取相关的消息。
(6){elink.gateway.id}:业务平台普通下行消息队列/主题,业务平台通过该队列/主题下发消息到车载终端设备(该队列/主题对应的rabbitmq网关为“elink.downstream.message.direct.exchange”消息路由key为车联网网关的网关id(“elink.gateway.id”),业务平台把消息发送到该rabbitmq网关即可)。
3.3 数据交换消息类型
(1)上行消息(车载终端设备向业务平台发送的消息):
{
"messageId":"0000",
"gatewayId":"网关id",
"exchangeId":"消息流水号",
"createTime":"接收时间",
"message":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息体
},
"dataLength":"消息字节数"
}
注意:messageId固定为"0000"。其中消息体定义(message)格式:
{
"messageHeader":{
消息头
},
"messageBody":{
消息体
}
}
其中消息体定义(message)的消息头(messageHeader)参数是固定的,消息头格式
字段名
类型
描述
protocol
String
协议名称,如jt808
protocolVersion
String
协议版本,如2011,2013
deviceSn
String
设备ID,终端设备唯一标识
messageId
String
协议定义的消息id
messageSeq
Long
消息流水号,对于下行消息,业务平台需维护对应设备的消息流水号,范围:0~65535
attributes
Map
消息头扩展属性
消息头样例:
{
"protocol":"jt808", "protocolVersion":"2011", "deviceSn":"440465321201", "messageId":"0200", "messageSeq":159
}
网关中间件支持的协议以及版本:
协议名称
协议版本
描述
2011
JTT-808-2011《道路运输车辆卫星定位系统终端通信协议及数据格式》
2013
JTT-808-2013《道路运输车辆卫星定位系统北斗兼容车载终端通信协议技术规范》
1078_2011
JTT-1078-2016《道路运输车辆卫星定位系统车载视频通信协议》
jt808
1078_2013
JTT-1078-2016《道路运输车辆
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
卫星定位系统车载视频通信协议》
tjsatl_2017
道路运输车辆主动安全智能防控系统通讯协议规范(苏标)
tjsatl
tjsatl_2017
苏标告警附件上传协议
2019
JTT808-2019道路运输车辆卫星定位系统终端通讯协议及数据格式
1257_2019
JTT1257.3-2019营运货车能耗在线监测 第3部分:数据交换
jt808_2019
tgdrta_2020
T/GDRTA 2020《道路运输车辆智能视频监控报警系统通讯协议规范》协议(粤标)
tgdrta
tgdrta_2020
粤标告警附件上传协议
jt905
2014
JTT905出租汽车服务管理信息系统运营专用设备-通讯协议
gb32960
2016
GB/T 32960.3-2016 电动汽车远程服务与管理系统技术规范 第3部分:通讯协议及数据格式
其中消息体定义(message)的消息体(messageBody)则根据协议定义各不相同。具体参考下文中对应的消息描述。
(2)下行消息(业务平台向车载终端设备下发的消息):
{
"messageId":"8000",
"gatewayId":"网关id",
"exchangeId":"平台消息流水号",
"message":"{消息体定义}"
}
注意:messageId固定为"8000"。其中消息体定义格式(同上行消息格式一致):
{
"messageHeader":{
消息头
},
"messageBody":{
消息体
}
}
其中消息体定义(message)的消息头(messageHeader)参数是固定的,消息头格式(同上行消息格式一致):
{
"protocol":"jt808", "protocolVersion":"2011",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"deviceSn":"440465321201", "messageId":"8100", "messageSeq":159
}
其中消息体定义(message)的消息体(messageBody)则根据协议定义各不相同。具体参考下文中对应的消息描述。
(3)车联网网关(中间件)应答消息车联网网关应答业务平台下行消息的处理结果(注意只有平台下行消息中传递了“exchangeId”,网关才会应当该消息),其中messageId固定"0001"。消息格式:
字段名
类型
描述
result
String
-1:未知错误
0:成功
1设备不在线
2:消息有误
3:不支持该消息
desc
String
结果描述
messageId
String
对应下行消息的消息id
消息样例:
{ "messageId":"0001", "gatewayId":"网关id", "exchangeId":"平台消息流水号(平台记录id", "message":{
"messageId":"消息id", "result":"消息处理结果", "desc":"消息处理结果描述" }}
(4)设备状态消息, 其中messageId固定为"0002",消息体描述见下文。
{ "messageId":"0002", "gatewayId":"网关id", "exchangeId":"", "message":{
"state":"0 or 1", "deviceSn":"013800000000"
}}
(5)流量异常消息, 如果车联网网关配置了流量控制策略,当车载终端设备的发送消息的频率异常时会触发流量告警,其中messageId固定为"0008",消息体描述见下文。
{ "messageId":"0008",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(6)解除黑名单消息, 如果车联网网关配置了流量控制策略,当车载终端设备的发送消息的频率异常时会触发流量告警,其中messageId固定为"110",消息体描述见下文。
{ "messageId":"110", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(7)网关重启消息,车联网网关程序重启后会发送消息通知业务平台,其中messageId固定"0009",消息体描述见下文。
{ "messageId":"0009", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(8)多媒体消息, 车联网网关接收到车载终端设备上报的多媒体消息后,会使用单独的消息队列/主题发送给业务平台,其中messageId固定为"0801",消息体描述见下文。
{ "messageId":"0801", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(9)平台注销终端消息, 当业务平台注销在线的车载终端设备时,可以发送该消息给车联网网关,车联网网关接收到该消息之后立即强制终端下线,其中messageId固定为"8003",消息体描述见下文。
{ "messageId":"8003", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(10)平台应答终端鉴权消息,业务平台接收到车载终端设备的鉴权消息后,按照该消息格式应答车联网网关,其中messageId固定为"8102",消息体描述见下文。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
{ "messageId":"8102", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
3.4 车载终端设备状态消息
消息概述
(1)消息名称:车载终端设备状态消息
(2)消息id:0x0002
(3)消息方向:车联网网关->业务平台
(4)业务逻辑
a.当车载终端设备连接平台通过鉴权之后,车联网网关向业务平台发布车载终端设备上线消息;
b.当车载终端设备与网关的链接断开后,车联网网关向业务平台发布车载终端设备下线消息。
消息体定义
字段名
类型
描述
deviceSn
String
终端sim卡号
state
int
0:下线
1:上线
消息示例
{ "exchangeId":"", "messageId":"0002", "gatewayId":"elink-iov-message-gateway", "message":{ "state":1, "deviceSn":"440038992932" }, "createTime":1540916223639 }
3.5 流量异常告警通知
消息概述
(1)消息名称:流量异常告警通知
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(2)消息描述车联网网关根据流量控制策略,当车载终端设备上报平台的数量触发流量控制策略时,车联网网关会立即强制终端下线,车载终端进入黑名单中直至控制条件解除,并发送消息通知业务平台。
(3)消息方向:车联网网关->业务平台
(4)业务逻辑:业务平台该消息之后,可根据自身业务需要处理该消息,如弹框提醒等。
消息体定义
字段名
类型
描述
ip
string
车载终端设备通讯ip
deviceSn
String
终端sim卡号
type
int
1:上报数据字节数超频
2:上报数据条数超频
消息示例
{ "exchangeId":"", "messageId":"0008", "gatewayId":"elink-iov-message-gateway", "message":{ "type":1, "deviceSn":"440038992932",
"ip":"127.0.0.1" }, "createTime":1540916223639 }
3.6 车联网网关应答消息
消息概述
(1)消息名称:车联网网关应答消息
(2)消息描述业务平台对车载终端设备发送下行消息,车联网网关处理消息后,向业务平台发送应答消息,告知业务平台消息处理结果。
(3)消息方向:车联网网关->业务平台
(4)业务逻辑业务平台该消息之后,可根据自身业务需要处理该消息,如改变下行消息的状态等。
消息体定义
字段名
类型
描述
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
result
String
-1:未知错误
0:成功
1设备不在线
2:消息有误
3:不支持该消息
desc
String
结果描述
messageId
String
对应下行消息的消息id
消息示例
{ "exchangeId":"1073170775063789568", "messageId":"0001", "gatewayId":"elink-iov-message-gateway", "message":{ "result":0, "messageSeq":305, "protocol":"jt808", "messageId":"8100", "deviceSn":"013100000001", "protocolVersion":"2011" }, "createTime":1675905451327}
3.7 网关重启消息通知
消息概述
(1)消息名称:车联网网关重启消息通知
(2)消息描述:当车联网网关程序关闭重启之后,向平台发送消息通知网关已重启。
(3)消息方向:车联网网关->业务平台
(4)如把连接该网关的车载终端设备状态设置为下线状态消息。
消息体定义
字段名
类型
描述
result
int
0:网关停止
1:网关启动
消息示例
{ "exchangeId":"", "messageId":"0008",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"gatewayId":"elink-iov-message-gateway", "message":{
"result":1 }, "createTime":1540916223639 }
3.8 平台应答终端鉴权消息
消息概述
(1)消息名称:平台应答终端鉴权消息
(2)消息描述:业务平台向车联网网关发送终端鉴权应答消息
(3)消息方向:业务平台 ->车联网网关
(4)业务逻辑业务平台接收到车联网网关的终端鉴权消息(“0102”消息)后,对车载终端设备的信息进行校验之后,需要按照规定格式应答,消息格式见下文。
消息体定义
字段名
类型
描述
result
int
鉴权结果,0是通过鉴权,1鉴权失败
authCode
String
鉴权码
messageNumLimit
String
流量控制策略,允许上行消息条数频率控制。多个控制策略之间用“;”分隔;如值“10,150;60,720”表示允许终端每10分钟不超过150条消息,并且每60分钟不超过720条消息,为空则不限制
messageByteLimit
String
流量控制策略,允许上行消息字节数频率控制。个控制策略之间用“;”分隔;如值“10,15;60,60”表示允许终端每10分钟不超过15M数据,并且每60分钟不超过60M数据,为空则不限
messageLimit
String
流量控制策略,允许上行消息类型控制。值为“,”分隔的消息id列表,为空则不限制
messageHeader
Object
平台通用应答0x8001消息头
messageBody
Object
平台通用应答0x8001消息体
消息示例
{ "exchangeId":"1073170776284332033", "messageId":"8102", "gatewayId":"elink-iov-message-gateway", "message":{ "result":0,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"authCode":"1tsuaeo", "messageNumLimit":"10,150;60,720", "messageByteLimit":"10,15;60,60", "messageLimit":"0200,0102,0100", "messageHeader":{ "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000", "messageId":"8001", "messageSeq":323 }, "messageBody":{ "result":0, "messageSeq":2, "messageId":"0102" } }}
3.9 平台解除黑名单消息
消息概述
(1)消息名称:平台解除黑名单消息
(2)消息描述当车载终端设备触发流量控制策略被车联网网关放入黑名单后,平台可向车联网网关发送该消息解除黑名单。
(3)消息方向:业务平台->车联网网关
(4)业务逻辑:业务平台解除车联网网关黑名单。
消息体定义
字段名
类型
描述
ip
string
车载终端设备通讯ip,非必选
protocol
string
协议名称
deviceSn
String
终端设备id,messageId不为空时必须
messageId
String
值为“,”分隔的消息id列表
消息示例
{ "exchangeId":"-1", "messageId":"110", "gatewayId":"elink-iov-message-gateway", "message":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"protocol":"jt808",
" deviceSn":"440038992932",
"ip":"127.0.0.1",
"messageId":"0200,0102,0100" }}
3.10 平台注销终端消息
消息概述
(1)消息名称:平台注销终端消息
(2)消息描述当车载终端设备与车联网网关之间的链路状态发生变化时,车联网网关发送消息通知业务平台
(3)消息方向:业务平台->车联网网关
(4)业务逻辑业务平台需要注销在线车载终端设备时,发送该消息可立即强制下线对应终端。
消息体定义
字段名
类型
描述
protocol
string
协议名称
deviceSn
String
终端设备id,messageId不为空时必须
消息示例
{ "exchangeId":"", "messageId":"8003", "gatewayId":"elink-iov-message-gateway", "message":{ "protocol":"jt808",
" deviceSn":"440038992932"
}}
3.11 终端通用应答0x0001
消息概述
(1)消息名称:终端通用应答
(2)消息Id:0x0001
(3)消息方向: 车载终端设备->车联网网关->业务平台
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(4)业务逻辑所有平台主发的消息均要求终端应答,应答分为通用应答和专门应答,由各具体功能协议决定。
消息体定义
字段名
类型
描述
messageId
String
应答对应的平台消息id
messageSeq
Int
平台消息的流水号
result
Int
终端处理结果
0:成功/确认;
l;失败;
2:消息有误;
3:不支持
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0001", "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"00000000013800000000", "messageSeq":36 }, "messageBody":{ "messageId":"8500", "messageSeq":22, "result":0 } }, "createTime":1540915278102, "dataLength":10}
3.12 终端心跳0x0002
消息概述
(1)消息名称:终端心跳
(2)消息Id:0x0002
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(3)消息方向:车载终端设备->车联网网关
(4)业务逻辑连接建立和终端鉴权成功后,在没有正常数据包传输的情况下,终端应周期性向平台发送终端心跳消息,车联网网关收到后向终端发送平台通用应答消息,发送周期由终端参数指定。业务平台不必处理该消息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0002", "messageSeq":323 "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000", }, "messageBody":{ } }, "createTime":1540915278102, "dataLength":10}
3.13 终端注册0x0100
消息概述
(1)消息名称:终端注册
(2)消息Id:0x0100
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端在未注册状态下,应首先向平台发送注册消息,注册成功后终端将获得的鉴权码并进行保存,鉴权码在终端登录时使用。业务平台接收到该消息之后,校验终端的相关参数,并应答“8100”消息。
消息体定义
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
字段名
类型
描述
mfrsId
String
制造商id
provinceId
int
省域id
cityId
int
市县id
terminalId
String
终端id
terminalType
String
终端型号
vin
String
车辆标识
vinColor
int
车牌颜色
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0002", "messageSeq":323 "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000", }, "messageBody":{ "provinceId":32, "cityId":1, "mfrsId":"10001", "terminalType":"BangT101-A", "terminalId":"9988101", "vinColor":1, "vin":"A00001" } }, "createTime":1540915278102, "dataLength":10}
3.14 终端注销0x0003
消息概述
(1)消息名称:终端注销
(2)消息Id:0x0003
(3)消息方向:车载终端设备->车联网网关->业务平台
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(4)业务逻辑车辆需要拆除或更换终端前,终端应该执行注销操作,取消终端和车辆的对应关系。业务平台接收到该消息之后,把终端设置成“已注销”状态。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0003", "messageSeq":323 "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000", }, "messageBody":{ } }, "createTime":1540915278102, "dataLength":10}
3.15 终端鉴权0x0102
消息概述
(1)消息名称:终端鉴权
(2)消息Id:0x0102
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端注册平台之后,每次在与平台建立连接时,应立即进行鉴权。终端在鉴权成功前不得发送其它消息。业务平台接收到鉴权消息之后,对终端进行鉴权校验,且回复车联网网关“平台鉴权应答”消息。
消息体定义
字段名
类型
描述
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
authCode
String
鉴权码
消息示例
{ "exchangeId":"1073170776284332033", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000", "messageId":"0102", "messageSeq":323 }, "messageBody":{ "authCode":"123456" } }}
3.16 查询终端参数应答0x0104
消息概述
(1)消息名称:查询终端参数应答
(2)消息Id0x0104
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8104”消息后,上传终端参数数据。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
messageSeq
Int
应答流水号
paramList
Object
参数项列表,key,value值。其中“key”为终端参数id十六进制值,“value”为参数对应的十六进制字符串或者普通字符串(gbk字符类型值)
消息示例
{ "exchangeId":"36",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0104", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":349, "paramList":{ "0022":"0000012C", "0041":"13601012345", "0083":"D06322", "0080":"000F01C2" } } }, "createTime":1540915278102, "dataLength":80}
3.17 查询终端属性应答0x0107
消息概述
(1)消息名称:查询终端属性应答(2013版本协议扩展)
(2)消息Id 0x0107
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8107”消息后,上传终端属性数据。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
cmAttribute
String
通讯模块属性,二进制字符串
mfrsId
String
制造商id
terminalModel
String
终端型号
terminalId
String
终端id
terminalType
String
终端类型
ccId
String
终端sim卡iccid
hardwareVersion
String
终端硬件版本号
gnssAttribute
String
gnss模块属性,二进制字符串
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
firmwareVersion
String
终端固件版本号
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0201", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "terminalType":"1111000100000000", "mfrsId":"70103", "terminalModel":"HVT100BD1", "terminalId":"89860117884026865178", "hardwareVersion":"HS-HVT100BD1-8.56", "firmwareVersion":"K-HS-VDR-6.2.0003build-150215RC", "gnssAttribute":"11000000", "cmAttribute":"10000000" } }, "createTime":1540915278102, "dataLength":80}
3.18 终端升级结果通知0x0108
消息概述
(1)消息名称:终端升级结果通知(2013版本协议扩展)
(2)消息Id:0x0108
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8108”消息后,对终端进行固件升级,升级完毕之后,把升级结果上传平台。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
upgradeType
Int
升级类型
0;终端;
l2:道路运输证C卡读卡器;
52:北斗卫星定位模块
result
Int
升级结果
0:;成功,
l :失败,
2:取消
消息示例
{ "exchangeId":"0", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0102", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "upgradeType":1, "result":0 } }, "createTime":1540916071108, "dataLength":22}
3.19 位置信息汇报0x0200
消息概述
(1)消息名称:位置信息汇报
(2)消息Id:0x0200
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端根据参数设定周期性发送位置信息汇报消息或者根据参数控制,终端在判断到车辆拐弯时可发送位置信息汇报消息。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
字段名
类型
描述
alarmEventId
Int
报警事件id
alarm
Long
报警标志位,定义见JT/T808协议表24
altitude
Int
海拔高度
ad
Long
模拟量,bit0-15,AD0:bit16-31,AD1
direction
Int
方向
dvrSpeed
double
行驶记录仪速度
extSignal
Long
扩展车辆信号状态位,定义见JT/T808协议表31
gnss
Int
定位卫星数
time
Long
位置记录时间
inOutAlarmExt
Object
进出区域报警,key,value值,定义见JT/T808协议表29
io
Long
io状态位,定义见JT/T808协议表32
lng
double
经度
lat
double
纬度
mileage
double
里程,单位为米(m)
rssi
Int
无线通信网络信号强度
oilmass
double
油量
overSpeedAlarmExt
Object
超速报警,key,value值,定义见JT/T808协议表28
runningTimeAlarmExt
Object
路段行驶时间不足或者超时报警,定义见JT/T808协议表30
speed
double
速度
state
Long
状态位,定义见JT/T808协议表24
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0200", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "alarm":"0", "state":"3", "lng":"116.607672", "lat":"40.076858", "altitude":36,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"speed":0.6, "direction":271, "gpsTime":1541001676000, "mileage":1280, "oilmass":0, "dvrSpeed":0, "alarmEventId":0, "ad":"0", "rssi":20, "gnss":13 } }, "createTime":1540915278102, "dataLength":80}
3.20 位置信息查询应答0x0201
消息概述
(1)消息名称:位置信息查询应答
(2)消息Id:0x0201
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8201”消息后,立即上传当前位置信息。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
messageSeq
Int
应答流水号
gpsInfo
Object
位置信息,见0200消息字段
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0201", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"deviceSn":"013100000000" }, "messageBody":{ "messageSeq":53, "gpsInfo":{ "":"0200消息体" } } }, "createTime":1540915278102, "dataLength":80}
3.21 事件报告0x0301
消息概述
(1)消息名称:事件报告
(2)消息Id:0x0301
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑事件项由业务平台预设到终端,由事件编码和事件名称组成,驾驶员在遇到相应事件时操作终端,触发事件报告发送到平台。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
eventId
Int
事件id
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0301", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"eventId":12 } }, "createTime":1540915278102, "dataLength":80}
3.22 提问应答0x0302
消息概述
(1)消息名称:提问应答
(2)消息Id:0x0302
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑业务平台通过发送提问下发消息,将带有候选答案的提问发到终端,终端立即显示,驾驶员选择后终端向平台发出提问应答消息。业务平台接收到该消息之后,根据自身业务进行处理。
消息体定义
字段名
类型
描述
answerId
Int
答案id
messageSeq
String
应答流水号
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0302", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":1, "answerId":20 } }, "createTime":1540915278102, "dataLength":80
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
}
3.23 信息点播/取消0x0303
消息概述
(1)消息名称:信息点播/取消
(2)消息Id:0x0303
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑业务平台通过发送信息点播菜单设置消息,将信息点播项列表发到终端存储,驾驶员可以通过菜单选择点播/取消相应的信息服务,选择后终端向平台发出信息点播/取消消息。业务平台接收到该消息之后,可根据自身业务进行处理,如信息服务被点播后,将定期收到来自平台的信息服务消息,如新闻、天气预报等。
消息体定义
字段名
类型
描述
flag
Int
点播或取消标志,1:点播,0:取消点播
type
Int
信息类型
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0303", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":1, "flag":0 } }, "createTime":1540915278102, "dataLength":80}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.24 车辆控制应答0x0500
消息概述
(1)消息名称:车辆控制应答
(2)消息Id:0x0500
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑平台通过发送车辆控制消息(8500消息),要求终端按指定的操作对车辆进行控制。终端收到后立即回复终端通用应答消息。之后终端对车辆进行控制,根据结果再回复车辆控制应答消息。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
messageSeq
Int
应答流水号
gpsInfo
Object
位置信息,见0200消息字段
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0500", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":347, "gpsInfo":{ "":"0200消息体" } } }, "createTime":1540915278102, "dataLength":10}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.25 电子运单上报0x0701
消息概述
(1)消息名称:电子运单上报
(2)消息Id:0x0701
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8701”消息后,采集电子运单数据上传业务平台。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
waybill
String
电子运单内容
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0701", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "waybill":"电子运单数据:" } }, "createTime":1540915278102, "dataLength":80}
3.26 驾驶员身份信息采集上报0x0702
消息概述
(1)消息名称:消息驾驶员身份信息采集上报
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(2)消息Id:0x0702
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端接收到业务平台下发的“8702”消息后,采集当前车辆的驾驶员信息上传业务平台。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
certifyauth
String
发证机构名称
certValidDate
String
证件有效期
driverName
String
驾驶员姓名
icCardOptTime
String
ic卡插卡/拔卡时间
icCardReadResult
String
ic卡读取结果
0x00:IC卡读卡成功;
0x01:读卡失败,原因为卡片密钥认证未通过;
Ox02:读卡失败,原因为卡片已被锁定;
0x03:读卡失败,原因为卡片被拔出;
0x04:读卡失败,原因为数据校验错误。
icCardState
String
ic卡状态
Ox01:从业资格证IC卡插入(驾驶员上班):
0x02:从业资格证IC卡拔出(驾驶员下班)。
qualification
String
从业资格证编号
消息示例
{ "message":{ "messageHeader":{ "messageId":"0702", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "certifyauth":"发证机构名称", "certValidDate":"2030-06-30", "driverName":"", "icCardOptTime":"2023-01-30 20:00:00", "qualification":"A1", "icCardReadResult":0, "icCardState":"02", "idCard":"1234567895522" } }, "createTime":1540915278102,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"dataLength":80}
3.27 定位数据批量上传0x0704
消息概述
(1)消息名称:定位数据批量上传
(2)消息Id:0x0704
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)可根据自身业务进行处理。
消息体定义
字段名
类型
描述
type
Int
位置信息类型:
0:正常位置批量汇报
1:盲区补报
gpsInfoList
List
GPS信息列表,字段参考0200消息
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0704", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":1, "gpsInfoList":[ "0200消息体" ] } }, "createTime":1540915278102, "dataLength":80}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.28 CAN总线数据上传0x0705
消息概述
(1)消息名称 CAN总线数据上传(2013版本协议扩展)
(2)消息Id:0x0705
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑:车载终端设备主动上报CAN总线数据,业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
dataList
Object
CAN总线数据项
dataTime
String
CAN 总线数据接收时间
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "protocol":"jt808_2011", "protocolVersion":"2011", "deviceSn":"00000000013800000000", "messageId":"0705", "messageSeq":36 }, "messageBody":{ " dataTime":"11:30:50:1005", "dataList":[ { "canId":36, "canData":"十六进制数据" } ] } }, "createTime":1540915278102, "dataLength":80}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.29 多媒体事件信息上传0x0800
消息概述
(1)消息名称:多媒体事件信息上传
(2)消息Id:0x0800
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端因特定事件而主动拍摄或录音时,应在事件发生后主动上传多媒体事件消息,该消息需要平台回复通用应答消息。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
channelId
int
通道id
eventCode
int
事件项编码
0:平台下发指令
1:定时动作
2:抢劫报警触发
3:碰撞侧翻报警触发
4:门开拍照
5:门关拍照
6:车门由开变关,时速从之20公里到超过20公里
7:定距拍照
其他保留
mediaDataId
int
多媒体数据id
mediaFormatCode
int
多媒体格式编码
0: JPEG
1: TIF
2: MP3
3: WAV
4: WMV
其他保留
mediaType
int
多媒体类型
0:图像
1:音频
2:视频
消息示例
{ "message":{ "messageHeader":{ "messageId":"0800", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"deviceSn":"013100000000" }, "messageBody":{ "mediaDataId":1, "mediaType":0, "mediaFormatCode":2, "eventCode":3, "channelId":2 } }, "createTime":1540915278102, "dataLength":80}
3.30 多媒体数据上传0x0801
消息概述
(1)消息名称:多媒体数据上传
(2)消息Id:0x0801
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑终端发送多媒体数据上传消息,上传多媒体数据。每个完整的多媒体数据前需附加摄录 时的位置信息汇报消息体,称为位置多媒体数据。平台根据总包数确定接收超时时间,在收到全部数据包或达到超时时间后,平台向终端发送多媒体数据上传应答消息,该消息确认收到全部数据包或要求终端重传指定的数据包。
消息体定义
字段名
类型
描述
gpsInfo
Object
位置信息,0200消息字段
channelId
int
通道id
eventCode
int
事件项编码
0:平台下发指令
1:定时动作
2:抢劫报警触发
3:碰撞侧翻报警触发
4:门开拍照
5:门关拍照
6:车门由开变关,时速从之20公里到超过20公里
7:定距拍照
其他保留
mediaDataId
int
多媒体数据id
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
mediaFormatCode
int
多媒体格式编码
0: JPEG
1: TIF
2: MP3
3: WAV
4: WMV
其他保留
mediaType
int
多媒体类型
0:图像
1:音频
2:视频
filePath
String
多媒体数据文件存放路径(网关所在服务器路径)
消息示例
{ "message":{ "messageHeader":{ "messageId":"0801", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "gpsInfo":{ "":"0200消息体" },
"mdiaDataId":1, "mediaType":0, "mediaFormatCode":2, "eventCode":3, "channelId":2 "filePath":"/usr/local/data/test.gif" } }, "createTime":1540915278102, "dataLength":80}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.31 摄像头立即拍摄命令应答0x0805
消息概述
(1)消息名称:摄像头立即拍摄命令应答(2013版本协议扩展)
(2)消息Id:0x0805
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑车载终端设备应答业务平台下发的摄像头立即拍摄命令0x8801消息。业务平台接收到该消息之后,可根据自身业务进行处理。
消息体定义
字段名
类型
描述
mediaDataIdList
List
多媒体id列表
messageSeq
int
应答流水号
result
int
结果
0:成功;
1:失败;
2:通道不支持。
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0805", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":2, "result":0, "mediaDataIdList":[ ] } }, "createTime":1540915278102, "dataLength":80}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.32 存储多媒体数据检索应答0x0802
消息概述
(1)消息名称:存储多媒体数据检索应答
(2)消息Id:0x0802
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑业务平台通过发送存储多媒体数据检索消息(8802消息),获得终端存储多 业务平台可以通过发送存储多媒体数据上传消息,要求终端上传指定的多媒体数据,消息需要终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
messageSeq
int
应答流水号
itemList
List
数据检索项
channelId
int
通道id
eventCode
int
事件项编码
0:平台下发指令;
1:定时动作;
2:抢劫报警触发;
3:碰撞侧翻报警触发;
其他保留
mediaDataId
int
多媒体数据id
mediaType
int
多媒体类型
0:图像
1:音频
2:视频
消息示例
{ "message":{ "messageHeader":{ "messageId":"0802", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":95, "itemList":[ { "mediaDataId":59950, "mediaType":1,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"channelId":215, "eventCode":2, "gpsInfo":{ "":"0200消息体" } } ] } }, "createTime":1540915278102, "dataLength":80}
3.33 数据上行透传0x0900
消息概述
(1)消息名称:数据上行透传
(2)消息Id:0x0900
(3)消息方向:车载终端设备->车联网网关->业务平台
(4)业务逻辑通过该消息,车载终端设备与业务平台可扩展当前协议,满足个性化的业务定制需求。
消息体定义
字段名
类型
描述
message
String
透传消息内容
messageType
Int
透传消息类型
消息示例
{ "exchangeId":"36", "messageId":"0000", "gatewayId":"elink-iov-message-gateway", "message":{ "messageHeader":{ "messageId":"0900", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageType":"01",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"message":"0102030f3a3c" } }, "createTime":1540915278102, "dataLength":80}
3.34 平台通用应答0x8001
消息概述
(1)消息名称:平台通用应答
(2)消息Id:0x8001
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑数据通信链路正常时,所有终端主发的消息均要求平台应答,应答分为通用应答和专门应答,由各具体功能协议决定。
消息体定义
字段名
类型
描述
messageId
String
终端消息id
messageSeq
int
终端消息的流水号
result
int
平台处理结果
0:成功/确认;
1:失败;
2:消息有误;
3:不支持;
4:报警处理确认;
消息示例
{ "exchangeId":"36", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8001", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageId":"0200", "messageSeq":22, "result":0
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
} }}
3.35 补传分包请求0x8003
消息概述
(1)消息名称:补传分包请求(2013版本协议扩展)
(2)消息Id:0x8003
(3)消息方向:车联网网关-> 车载终端设备
(4)业务逻辑车载终端设备上传的数据需要分包时,车联网网关校验接收到的数据包,当发现数据包缺少时,向终端发送补传分包请求。
消息体定义
字段名
类型
描述
messageSeq
Int
原始消息流水号
packageIds
List
重传包id列表
消息示例
{ "exchangeId":"36", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8003", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":22, "packageIds":[ 2, 5 ] } }}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.36 终端注册应答0x8100
消息概述
(1)消息名称:终端注册应答
(2)消息Id:0x8100
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台收到车载终端设备下发的“0100”消息后,发送该消息应答。
消息体定义
字段名
类型
描述
authCode
String
鉴权码
messageSeq
int
应答流水号
result
Int
鉴权结果,0:成功;1:失败
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "result":0, "messageSeq":159, "authCode":"1tsuaeo" } }}
3.37 设置终端参数0x8103
消息概述
(1)消息名称:设置终端参数
(2)消息Id:0x8103
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送设置终端参数消息设置终端参数,终端回复终端通用应答消息。平。
消息体定义
字段名
类型
描述
paramList
Object
参数项列表,key/val键值对,key对应参数id,参考协议表中的定义,如0001;val为要设置的终端参数的值,DWORD,WORD,BYTE类型的参数值要转成十六进制值。
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8103", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "paramList":{ "0029":"5" } } }}
3.38 查询终端参数0x8104
消息概述
(1)消息名称:查询终端参数
(2)消息Id:0x8104
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送查询终端参数消息查询终端参数,终端回复查询终端参数应答消息。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8104", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ } }}
3.39 终端控制0x8105
消息概述
(1)消息名称:终端控制
(2)消息Id:0x8105
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:平台通过发送终端控制消息对终端进行控制,终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
commandParam
String
命令参数,值参考协议定义,如无线升级";CMNET;;;192.168.1.103;6000;;;1.03;1.00;3600"
commandWord
int
命令字
消息示例
{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8105", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageId":"8105", "commandWord":"4" } }}
3.40 查询指定终端参数0x8106
消息概述
(1)消息名称:查询指定终端参数(2013版本协议扩展)
(2)消息Id:0x8106
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台向车载终端设备发送该消息查询指定车载终端设备的相关参数。
消息体定义
字段名
类型
描述
paramTypes
List
参数id列表,参数id值参考协议的定义,0001
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8106", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000"
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
}, "messageBody":{ "paramTypes":[ "0022", "0023" ] } }}
3.41 查询终端属性0x8107
消息概述
(1)消息名称:查询终端属性(2013版本协议扩展)
(2)消息Id:0x8107
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台向车载终端设备发送该消息查询指定终端的相关属性。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8107", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ } }}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.42 下发终端升级包0x8108
消息概述
(1)消息名称:下发终端升级包(2013版本协议扩展)
(2)消息Id:0x8108
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑车载终端设备固件需要升级时,业务平台可通过该消息向车载终端设备发送升级包。
消息体定义
字段名
类型
描述
mfrsId
String
制造商id
upgradePackageData
String
升级包,数据为十六进制编码
upgradeType
int
升级类型
0:终端,
12:道路运输证 IC卡读卡器,
52:北斗卫星定位模块
version
String
版本号
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8108", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "mfrsId":"ldd", "upgradeType":"1", "version":"1.0.0", "upgradePackageData":"升级包十六进制编码" } }}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.43 位置信息查询0x8201
消息概述
(1)消息名称:位置信息查询
(2)消息Id:0x8201
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送位置信息查询消息,查询指定车载终端当时位置信息,终端回复位置信息查询应答消息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8201", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ } }}
3.44 临时位置跟踪控制0x8202
消息概述
(1)消息名称:临时位置跟踪控制
(2)消息Id:0x8202
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:平台通过发送临时位置跟踪控制消息启动/停止位置跟踪,位置跟踪要求终端停止之前的周期汇报,按消息指定时间间隔进行汇报。终端回复终端通用应答消息。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息体定义
字段名
类型
描述
expTime
Int
位置跟踪有效期,单位为秒(s),终端在接收到位置跟踪控制消息后,在有效期截止时间之前,依据消息中的时间间隔发送位置汇报
interval
Int
时间间隔,单位为秒(s),0 则停止跟踪。停止跟踪无需带后继字段
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8202","messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "expTime":600, "interval":5
} }}
3.45 人工确认报警消息0x8203
消息概述
(1)消息名称:人工确认报警消息(2013版本协议扩展)
(2)消息Id:0x8203
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台接收终端的特定的报警后,平台监控人员对报警进行确认,同时向终端发送该消息。
消息体定义
字段名
类型
描述
alarmType
Long
人工确认报警类型,协议对应位的十进制数
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
messageSeq
String
报警消息流水号
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8203", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageSeq":"805", "alarmType":1 } }}
3.46 文本信息下发0x8300
消息概述
(1)消息名称:文本信息下发
(2)消息Id:0x8300
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送文本信息下发消息,按指定方式通知驾驶员。终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
flag
Int
文本信息标志位,协议对应的位转成十进制数字,含义见表38
text
String
文本信息
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageHeader":{ "messageId":"8300", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "flag":1, "text":"测试文本" } }}
3.47 事件设置0x8301
消息概述
(1)消息名称:事件设置
(2)消息Id:0x8301
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑事件项由平台预设到终端,由事件编码和事件名称组成,驾驶员在遇到相应事件时操作终端,触发事件报告发送到平台。
消息体定义
字段名
类型
描述
type
Int
设置类型:
0:删除终端现有所有事件,该命令后不带后继字节;
1:更新事件;
2:追加事件;
3:修改事件;
4:删除特定几项事件,之后事件项中无需带事件内容
eventList
List
事项列表,key/val键值对,key包括事件id:eventId和事件内容:content
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageHeader":{ "messageId":"8301", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":1, "eventList":[ { "eventId":1, "content":"测试事件1" } ] } }}
3.48 提问下发0x8302
消息概述
(1)消息名称:提问下发
(2)消息Id:0x8302
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送提问下发消息,将带有候选答案的提问发到终端,终端立即显示,驾驶员选择后终端向平台发出提问应答消息。 提问下发消息,需要终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
flag
Int
提问下发标志位,协议二进制对应的位转成十进制,定义见表43
question
String
问题
answerList
List
候选答案列表,key/val键值对,包括答案id:answerId,答案内容:answer
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageId":"8302", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "flag":"10000000", "question":"是否空车", "answerList":[ { "answerId":1, "answer":"" }, { "answerId":2, "answer":"" } ] } }}
3.49 信息点播菜单设置0x8303
消息概述
(1)消息名称:信息点播菜单设置
(2)消息Id:0x8303
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台通过发送信息点播菜单设置消息,将信息点播项列表发到终端存储,驾驶员可以通过菜单选择点播/取消相应的信息服务,选择后终端向平台发出信息点播/取消消息。
消息体定义
字段名
类型
描述
type
Int
设置类型
0:删除终端全部信息项;
1:更新菜单;
2:追加菜单;
3:修改菜单
infoList
List
信息项列表,key/val键值对,key包括信息类型:infoType,信息名称:infoName
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8303", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":"1", "infoList":[ { "infoType":1, "infoName":"天气预报" }, { "infoType":2, "infoName":"财经新闻" } ] } }}
3.50 信息服务0x8304
消息概述
(1)消息名称:信息服务
(2)消息Id:0x8304
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑信息服务被终端点播后,将定期收到来自业务平台的信息服务消息,如新闻、天气预报等。
消息体定义
字段名
类型
描述
type
Int
信息类型
info
String
信息内容
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8304", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":"1", "info":"今日有雷暴雨" } }}
3.51 电话回拨0x8400
消息概述
(1)消息名称:电话回拨
(2)消息Id:0x8400
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑车辆遇到紧急状况时,平台通过向车载终端设备发送该消息实时监听车辆的情况或者与驾驶员进行对话。
消息体定义
字段名
类型
描述
type
Int
回拨类型,0:普通通话;1:监听
tel
String
回拨电话号码
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8400",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":"1", "tel":"13609616322" } }}
3.52 设置电话本0x8401
消息概述
(1)消息名称:设置电话本
(2)消息Id:0x8401
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送设置电话本消息,对终端设置电话本,该消息需要终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
type
Int
设置类型
0:删除终端上所有存储的联系人;
1:表示更新电话本(删除终端中已有全部联系人并追加消息中的联系人);
2:表示追加电话本;
3:表示修改电话本(以联系人为索引)
itemList
List
联系人列表,key/val值,key包括标志:type,联系人:name,电话号码:tel
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8401", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"deviceSn":"013100000000" }, "messageBody":{ "type":"1", "itemList":[ { "type":1, "name":"张三", "tel":"075551274321" } ] } }}
3.53 车辆控制0x8500
消息概述
(1)消息名称:车辆控制
(2)消息Id:0x8500
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)终端收到后立即 回复终端通用应答消息。
消息体定义
字段名
类型
描述
flag
Int
控制标志,协议对应的八位二进制字转成十进制数字,见协议表54
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8500", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"flag":1 } }}
3.54 设置圆形区域0x8600
消息概述
(1)消息名称:设置圆形区域
(2)消息Id:0x8600
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台通过发送设置圆型区域对终端进行区域设置。终端根据区域判断是否满足报警条件,报警包括超速报警、进出区域/路线报警和路段行驶时间不足/过长报警,应在位置信息汇报消息中包含相应的位置附加信息。
消息体定义
字段名
类型
描述
type
Int
设置属性:
0:更新区域;
1:追加区域;
2:修改区域
areaList
list
区域项列表,key/val值
areaList.areaId
String
区域id
areaList.attribute
Int
区域属性,协议对应的十六位二进制转成十进制
areaList.centerLng
double
中心点纬度
areaList.centerLat
double
中心点经度
areaList. radius
int
半径,单位:m
areaList.limitedSpeed
Int
最高速度,单位:Km/h;若区域属性 1 位为 0 没有该字段
areaList. durationTime
Int
超速持续时间,单位s;若区域属性 1 位为 0 没有该字段
areaList. startTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 则没有该字段
areaList. endTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 则没有该字段
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageHeader":{ "messageId":"8600", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":1, "areaList":[ { "centerLng":108.770172, "centerLat":34.483152, "radius":3422, "attribute":1, "areaId":6, "limitedSpeed":55, "durationTime":60, "startTime":"2018-08-21 18:55:17", "endTime":"2018-08-21 18:55:19" } ] } }}
3.55 删除圆形区域0x8601
消息概述
(1)消息名称:删除圆形区域
(2)消息Id:0x8601
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台通过该消息删除已设置的圆形区域。
消息体定义
字段名
类型
描述
areaIds
list
区域id列表,不超过 125 个, 空为删除所有圆形区域
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageId":"8000", "message":{ "messageHeader":{ "messageId":"8601", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "areaIds":[ ] } }}
3.56 设置矩形区域0x8602
消息概述
(1)消息名称:设置矩形区域
(2)消息Id:0x8602
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台通过发送设置矩形区域对终端进行区域设置。终端根据区域属性判断是否满足报警条件,报警包括超速报警、进出区域/路线报警和路段行驶时间不足/长报警,应在位置信息汇报消息中包含相应的位置附加信息。
消息体定义
字段名
类型
描述
type
Int
设置属性:
0:更新区域;
1:追加区域;
2:修改区域
areaList
list
区域项列表,key/val值
areaList.areaId
String
区域id
areaList.attribute
int
区域属性,协议对应的十六位二进制转成十进
areaList. topLeftLng
double
左上点纬度
areaList. topLeftLat
double
左上点经度
areaList. bottomRightLng
double
右下点纬度
areaList. bottomRightLat
double
右下点经度
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
areaList.limitedSpeed
Int
最高速度,单位Km/h;若区域属性 1 位为 0 则没有该字段
areaList. durationTime
Int
超速持续时间,单位s;若区域属性 1 位为 0 则没有该字段
areaList. startTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 则没有该字段
areaList. endTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 则没有该字段
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8602", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "type":1, "areaList":[ { "topLeftLng":114.01943176169003, "topLeftLat":22.63283421184148, "bottomRightLng":114.01943644128264, "bottomRightLat":22.560573864786573, "attribute":3, "areaId":3, "limitedSpeed":22, "durationTime":60, "startTime":"2018-03-22 10:29:42", "endTime":"2018-03-30 10:29:46" } ] } }}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
3.57 删除矩形区域0x8603
消息概述
(1)消息名称:删除矩形区域
(2)消息Id:0x8603
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台通过该消息删除已设置的矩形区域。
消息体定义
字段名
类型
描述
areaIds
list
区域id列表,不超过 125 个, 空为删除所有矩形区域
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8603", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "areaIds":[ ] } }}
3.58 设置多边形区域0x8604
消息概述
(1)消息名称:设置多边形区域
(2)消息Id:0x8604
(3)消息方向:业务平台->车联网网关->车载终端设备
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(4)业务逻辑业务平台通过发送设置多边形区域对终端进行区域设置。终端根据区域属性判断是否满足报警条件,报警包括超速报警、进出区域/路线报警和路段行驶时间不足/过长报警,应在位置信息汇报消息中包含相应的位置附加信息。
消息体定义
字段名
类型
描述
type
Int
设置属性:
0:更新区域;
1:追加区域;
2:修改区域
vertexList
list
顶点项列表
vertexList.lat
Double
顶点经度
vertexList.lng
Double
顶点纬度
limitedSpeed
Int
最高速度,单位Km/h;若区域属性 1 位为 0 没有该字段
durationTime
Int
超速持续时间,单位s;若区域属性 1 位为 0 则没有该字段
startTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 没有该字段
endTime
String
YYYY -MM-DD hh:mm:ss,若区域属性 1 位为 0 没有该字段
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8604", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "attribute":1, "areaId":1, "limitedSpeed":22, "durationTime":60, "startTime":"2018-03-22 12:58:16", "endTime":"2018-03-22 12:58:17", "type":1, "vertexList":[ {
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"lng":114.04290123618121, "lat":22.581667200231433 }, { "lng":113.98672710003956, "lat":22.516508804552885 }, { "lng":114.01413073973926, "lat":22.42187834327226 } ] } }}
3.59 删除多边形区域0x8605
消息概述
(1)消息名称:删除多边形区域
(2)消息Id:0x8605
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台通过该消息删除已设置的多边形区域。。
消息体定义
字段名
类型
描述
areaIds
list
区域id列表,不超过 125 个, 空为删除所有多边形区域
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8605", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" },
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageBody":{ "areaIds":[ ] } }}
3.60 设置路线0x8606
消息概述
(1)消息名称:设置路线
(2)消息Id:0x8606
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台通过发送设置路线对终端进行路线设置。终端根据线路属性判断是否满足报警条件,报警包括超速报警、进出区域/路线报警和路段行驶时间不足/过长报警,应在位置信息汇报消息中包含相应的位置附加信息。
消息体定义
字段名
类型
描述
routeId
Int
路线id
attribute
int
区域属性,协议对应的十六位二进制转成十进
startTime
String
yyyy -mm-dd HH:mm:ss,若区域属性 1 位为 0 则没有该字段
endTime
String
yyyy -mm-dd HH:mm:ss,若区域属性 1 位为 0 则没有该字段
inflectionPointList
List
路线拐点项列表, 一条路线有n条路段
inflectionPointList. pointId
int
拐点id
inflectionPointList. roadId
int
路段id,一个路段包含n个拐点
inflectionPointList. lng
double
拐点纬度
inflectionPointList. lat
double
拐点经度
inflectionPointList. roadWidth
int
路段路宽
inflectionPointList. roadAttribute
Int
路段属性,协议对应的8位二进制转成十进制数字
inflectionPointList. ltTravelTime
int
路段行驶过长阈值
inflectionPointList. gtTravelTime
int
路段行驶不足阈值
inflectionPointList. limitedSpeed
int
最高限速
inflectionPointList. durationTime
int
路段超速持续时间
消息示例
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8606", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "routeId":1, "attribute":8, "startTime":"2018-03-22 12:58:16", "endTime":"2018-03-22 12:58:17", "inflectionPointList":[ { "pointId":1, "roadId":1, "lng":39.8672, "lat":116.35, "roadWidth":100, "roadAttribute":2, "ltTravelTime":360, "gtTravelTime":30, "limitedSpeed":80, "durationTime":10 }, { "pointId":2, "roadId":1, "lng":39.8672, "lat":116.35, "roadWidth":100, "roadAttribute":2, "ltTravelTime":360, "gtTravelTime":30, "limitedSpeed":80, "durationTime":10 } ] } }
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
}
3.61 删除路线0x8607
消息概述
(1)消息名称:删除路线
(2)消息Id:0x8607
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台通过该消息删除已设置的路线。
消息体定义
字段名
类型
描述
areaIds
list
区域id列表,不超过 125 个, 空为删除所有路线
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8607", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "areaIds":[ ] } }}
3.62 上报驾驶员身份信息请求0x8702
消息概述
(1)消息名称:上报驾驶员身份信息请求(2013版本协议扩展)
(2)消息Id:0x8702
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台向车载终端设备发送上报驾驶员身份信息请求,接收到该消息之后,立即上报指定车辆驾驶员身份识别信息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8702", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ } }}
3.63 多媒体数据上传应答0x8800
消息概述
(1)消息名称:多媒体数据上传应答
(2)消息Id:0x8800
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑车联网网关接收到终端上传的多媒体数据之后,通过该消息向终端确认已全部接收数据或者要求终端重传指定的多媒体数据包。业务平台不必处理该消息。
消息体定义
字段名
类型
描述
mediaDataId
Int
多媒体id,>0,如收到全部数据包则没有后续字段
resendPackgeList
List
重传包序号顺序排列
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8800", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "mediaDataId":1, "resendPackgeList":[ 1, 2, 5 ] } }}
3.64 摄像头立即拍摄命令0x8801
消息概述
(1)消息名称:摄像头立即拍摄命令
(2)消息Id:0x8801
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送摄像头立即拍摄命令消息,对终端下发拍摄命令,该消息需要终端回复终端通用应答消息。若指定实时上传,则终端拍摄后上传摄像头图像/视频,否则对图像/视频进行存储。
消息体定义
字段名
类型
描述
channelId
Int
通道id
commandType
Int
拍摄命令:
0:表示停止拍摄
1:表示录像;
2:表示拍照
executionTime
Int
拍摄间隔/录像时间
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
saveFlag
Int
保存标识:
1:保存;
0:实时上传
totalPicture
Int
拍摄张数,拍照时使用(commandType=2
resolution
Int
分辨率:
1:320*240;
2:640*480;
3:800*600;
4:1024*768;
5:176*144;[Qcif];
6:352*288;[Cif];
7:704*288;[HALF D1];
8:704*576;[D1];
quality
Int
图像/视频质量,值1-10,1 代表质量损失最小,10 表示压缩比最大
luminance
Int
亮度,值0-255
contrast
int
对比度, 值0-127
saturation
int
饱和度, 值0-127
chromaticity
Int
色度,值0-255
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8801", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "commandType":2, "totalPicture":1, "executionTime":0, "saveFlag":0, "resolution":2, "quality":1, "luminance":127, "contrast":1, "saturation":1, "chromaticity":1, "channelId":1 } }
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
}
3.65 存储多媒体数据检索0x8802
消息概述
(1)消息名称:存储多媒体数据检索
(2)消息Id:0x8802
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台通过发送存储多媒体数据检索消息(8802消息),获得终端存储多 业务平台可以通过发送存储多媒体数据上传消息,要求终端上传指定的多媒体数据,消息需要终端回复终端通用应答消息。
消息体定义
字段名
类型
描述
mediaType
Int
多媒体类型:
0:图像;
1:音频;
2:视频;
channelId
Int
通道id,0表示检索该媒体类型的所有通道;
eventCode
事件项编码:
0:平台下发指令;
1:定时动作;
2:抢劫报警触发;
3:碰撞侧翻报警触发;
其他保留
startTime
String
起始时间,格式yyyy -mm-dd HH:mm:ss
endTime
String
结束事件,格式yyyy -mm-dd HH:mm:ss
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8802", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "mediaType":0,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"channelId":0, "eventCode":0, "startTime":"2018-03-22 12:58:16", "endTime":"2018-03-22 12:58:17" } }}
3.66 存储多媒体数据上传0x8803
消息概述
(1)消息名称:存储多媒体数据上传
(2)消息Id:0x8803
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑业务平台可以通过发送存储多媒体数据上传消息,要求终端上传指定的多媒体数据。
消息体定义
字段名
类型
描述
mediaType
Int
多媒体类型:
0:图像;
1:音频;
2:视频;
channelId
Int
通道id,0表示检索该媒体类型的所有通道;
saveFlag
Int
保存标识:0:保留;1:删除;
eventCode
Int
事件项编码:
0:平台下发指令;
1:定时动作;
2:抢劫报警触发;
3:碰撞侧翻报警触发;
其他保留
startTime
String
起始时间,格式yyyy -mm-dd HH:mm:ss
endTime
String
结束事件,格式yyyy -mm-dd HH:mm:ss
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8803", "messageSeq":323, "protocol":"jt808",
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "mediaType":0, "channelId":0, "eventCode":0, "saveFlag":0, "startTime":"2018-03-22 12:58:16", "endTime":"2018-03-22 12:58:17" } }}
3.67 录音开始命令0x8804
消息概述
(1)消息名称:录音开始命令
(2)消息Id:0x8804
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑平台通过发送录音开始命令消息,对终端下发录音命令,该消息需要终端回复终端通用应答消息。若指定实时上传,则终端录制后上传音频数据,否则对音频数据进行存储。
消息体定义
字段名
类型
描述
commandType
Int
录音命令,0时无后续字段
0:停止录音;
1:开始录音;
executionTime
Int
录音时间,单位为秒(s),0 表示一直录音
saveFlag
Int
保存标识,0:实时上传;1:保存
samplingRate
Int
音频采样频率,
0:8K;
1:11K;
2:23K;
3:32K;
其他保留
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"messageId":"8804", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "commandType":1, "executionTime":60, "saveFlag":0, "samplingRate":1 } }}
3.68 单条存储多媒体数据检索上传命令0x8805
消息概述
(1)消息名称:单条存储多媒体数据检索上传命令
(2)消息Id:0x8805
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑:业务平台接根据业务需要向终端发送单条存储多媒体数据检索上传命令。
消息体定义
字段名
类型
描述
mediaDataId
Int
多媒体id
saveFlag
Int
保存标识:
1:保存;
0:实时上传
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8805", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
"mediaDataId":1, "saveFlag":0 } }}
3.69 数据下行透传0x8900
消息概述
(1)消息名称:数据下行透传
(2)消息Id:0x8900
(3)消息方向:业务平台->车联网网关->车载终端设备
(4)业务逻辑通过该消息,车载终端设备与业务平台可扩展当前协议,满足个性化的业务定制需求。
消息体定义
字段名
类型
描述
messageType
Int
透传消息类型
message
String
透传消息内容
消息示例
{ "exchangeId":"2c9299d466679ce60166bf97b06f0012", "messageId":"8000", "message":{ "messageHeader":{ "messageId":"8900", "messageSeq":323, "protocol":"jt808", "protocolVersion":"2011", "deviceSn":"013100000000" }, "messageBody":{ "messageType":1, "message":"12566555" } }}
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.二次开发
4.1 二次开发准备
一、了解java基础,熟悉搭建java环境
二、熟悉RabbitMQ/Kafka的使用,包括部署、开发、运维监控等
三、熟悉808协议消息的相关业务流程
4.2 数据交换流程
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.3 设备注册流程
为了防止平台受到恶意注册攻击,对于标准的JT/T808协议,所有接入平台的车载设备都需要经过平台注册后才能够接入平台上报数据。具体业务流程流程如下:
1、注册信息“0100”;
2、消息网关中间件接收“0100”消息,经过解码转换承json消息,然后发布到上行消息队列(MQ队列)中;
3、0100信息校验结果封装成“8100”应答消息发布到下行消息队列中;
4、81008100JT/T808发给车载设备,注册失败则中断车载设备与平台之间连接;
5、车载设备注册成功之后,向平台发起鉴权请求。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.4 设备上线流程
为了防止平台受到恶意流量攻击,对于标准的JT/T808协议,所有接入平台的车载设备都需要经过平台鉴权后才能够接入平台上报数据。具体业务流程如下图:
1车载设备每次连接平台后,第一条向平台发送的消息一定是“0102”鉴权消息。
2、0102json队列(MQ队列)中;
3、业务平台监听相关的队列,“0102”消息中的车载设备信息(设备ID、鉴权码)进行校验,并把信息校验结果封装成“8102”应答消息发布到下行消息队列中;
4、8102如果鉴权成功则把“8102”应答消息编码成JT/T808协议的“8001”消息之后下发给车载设备,鉴权失败则中断车载设备与平台之间连接;
5、消息网关中间件在车载设备鉴权成功之后,会向业务平台发布一条上行消息;
6、线线“上线”等,同时把上线消息发布给前端或者其他的服务组件;
7、车载设备在鉴权成功之后,可以向平台发送其他消息。
4.5 设备上线流程(非标)
对于非标(私有)协议的车载设备,消息网关中间件会把车载设备发送的第一条消息当“鉴权消息”或者是模拟一条0102鉴权消息”走完整个“设备上线”的标准流程,业务平台进行信息校验之后,同样需要把校验结果通过“8102消息”应答给消息网关中间件。
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.6 下行指令流程
对于平台中在线的车载设备,业务平台可发送消息与车载设备进行交互。在发送消息之前,业务平台需要对车载设备的状态进行验证,在线则允许发送消息。具体业务流程如下:
1业务平台根据《乐高易车联网网关中间件使用手册》中定义的消息格式,把业务数据封装成json消息,调用平台接口把消息发布到消息队列中;
2消息网关中间件对消息进行数据校验,数据转换,编码成协议所定义的消息格式下发给车载设备;
3消息网关中间件对消息进行处理之后,把消息处理结果,发布到消息队列中;
4业务平台接收到“消息处理结果消息”后,把消息发送状态更新为“网关已处理”;
50100”消息;
6业务平台接收到车载设备的应答消息后,根据应答结果把消息发送状态更新为“消息处理成功”或者“消息不支持”等状态。同时也会把该应该消息发布给前端或者其他服务组件。
4.7 消息处理demo
elink-iov-message-processor以责任链方式处理消息,详细逻辑在代码中有注释。代码下载地址:
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.8 快速测试程序
为了快速完成测试,业务平台在部署RabbitMQ时,可开启web管理端,通过web管理端发送对应消息到相关队列中,即可与车载终端设备进行通讯,如下图所示:
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
4.9 应用程序部署
4.9.1依赖环境
操作系统:建议使用linux,centOS 7以上版本。
Java环境:建议安装jdk 1.8。
Rabbitmq:建议安装rabbitmq最新版本。
4.9.2应用程序
elink-iov-message-gateway,为java应用程序,运行在java环境上,依赖rabbitmq
4.9.3配置文件
车联网网关配置文件application.properties,存放目录为应用程序根目录下的conf文件夹该文件夹下所有的文件必须,不能删除)。其中application.properties文件修改rabbitmq配置以下两项配置(红色部分),其他的默认配置即可:
#协议所使用的TCP端口
#JT/T808-2011/2013、T/JSATL-2017版本协议设备连接该端口
elink.jt808.server.port=6030
#rabbitmq配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
#rabbitmq登陆用户名
spring.rabbitmq.username=admin
#rabbitmq登陆密码
spring.rabbitmq.password=admin
注意其中配置“elink.*.server.port =6030,为车载终端设备连接网关的tcp端口,注意操作系统配置防火墙开放该端口。
4.9.4程序运行
elink-iov-message-gateway应用程序复制到安装有java环境的操作系统中即可,应用程序的启动脚本文件放在应用程序根目录下的bin文件夹中。注意启动应用程序前需检查端口是否已被其他应用程序占用(linux下执行命令:netstat -ano|grep 6030)。
windows操作系统
方式一双击 bin/startup.bat执行文件启动应用程序,以该方式启动,命令窗口关闭之后,
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
程序也将停止,不建议以该方式启动。
方式二:以后台服务形式运行,操作步骤
1双击bin/installAppService.bat执行文件把应用程序注册成为win后台服务。注册成功之后,会在win服务列表中有一个名字为“elink-iov-message-gateway”的服务,该服务为开机自动启动;
2、可以在命令窗口中使用命令或者在服务列表中手动启动或者停止。命令方式:
启动程序:net start elink-iov-message-gateway
停止程序:net stop elink-iov-message-gateway
3双击bin/uninstallAppService.bat执行文件,则卸载elink-iov-message-gateway经注册的win后台服务。程序卸载时可双击该执行文件。
linux操作系统
bin/startup.shlinux下启动脚本(需要赋予该文件执行权限:chmod 777 startup.sh)。
启动程序命令:./startup.sh start
停止程序命令:./startup.sh stop
linux命令注解:
console
启动并显示控制台信息
start
作为一个守护进程后台启动
stop
停止程序
restart
重启程序
condrestart
重启已经运行的程序,与前者区别是程序必须已经在运行
status
查看该程序状态
install
将程序安装为自启动服务,即随系统启动而启动
remove
卸载自启动服务
dump
报告运行时的Java thread dump(thread dump百度百科:http://baike.baidu.com/view/5111187.htm)
注意事项:
a启动前需要检查车联网网关所使用的端口是否被占用,linux下命令netstat -ano|grep 6030
b、查看程序是否启动linux命令:ps -aux | grep elink-iov-message-gateway
c、若需要重启车联网网关应用,在停止程序之后,需要查看程序所监听端口(如:netstat -ano|grep 6030一般等待一两分钟就能完全释放,取决于操作系统的socket timeout配置)否完全释放在重新启动应用,否则程序启动会报错。
4.9.5日志管理
logback-spring.xml为日志配置文件,通过修改该配置文件可以配置输出日志的级别,台默认级别为info”。当平台已经进入稳定运行阶段,接入的车辆数量比较大时,为了减少打印日志对系统的性能影响,建议把日志级别调整为“error”级别。见以下标红部分:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志级别 -->
<property name="log.level" value="INFO"/>
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
<logger name="com.legaoyi.iov.gateway.mq" level="INFO" additivity="false">
<appender-ref ref="mqAppender" />
<appender-ref ref="errorAppender" />
</logger>
<!-- 设备上行消息日志 -->
<logger name="com.legaoyi.iov.protocol.server.LoggerChannelInboudHandler" level="INFO" additivity="false">
<appender-ref ref="inboundAppender" />
<appender-ref ref="errorAppender" />
</logger>
<!-- 设备下行消息日志 -->
<logger name="com.legaoyi.iov.protocol.server.LoggerChannelOutboudHandler" level="INFO" additivity="false">
<appender-ref ref="outboundAppender" />
<appender-ref ref="errorAppender" />
</logger>
<root level="${log.level}">
<appender-ref ref="fileAppender" />
<appender-ref ref="errorAppender" />
<appender-ref ref="consoleAppender" />
</root>
</configuration>
Elink-iov-message-gateway.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志主要存放了中间件程序运行异常日志.
downstream-message.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“warn”。该日志存放了业务平台发送到MQ消息日志。
inbound.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志存放了车载终端设备发送给业务平台的原始消息。
outbound.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志存放了业务平台发送给车载终端设备的原始消息。
online.log
乐高易软件 乐高易车联网网关中间件 技术支持:78772895QQ
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志。该日志存放了车载终端设备上下线日志。
error.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志。该日志存放了网关处理消息的错误日志。
4.9.6性能优化
一、linux操作系统网络参数优化
修改/etc/sysctl.conf文件,添加以下参数(修改文件之后远行命令/sbin/sysctl -p使配置生效):
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5
net.nf_conntrack_max=6553600
二、linux修改TCP连接数
centos下使用命令ulimit -n-u可以查看linux的最大进程数和最大文件打开数。
修改/etc/security/limits.conf文件,添加以下配置,保存之后重启操作系统。
root soft nofile 204800
root hard nofile 204800
* soft nofile 204800
* hard nofile 204800