乐高易车联网数据交换中间件服务端(上级平台)使用手册
广西乐高易网络有限公司
www.legaoyi.com
修订日期:2024年2月20日
目录
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
1.引用标准
JT/T809-2011 《道路运输车辆卫星定位系统平台数据交换》
2.系统架构
乐高易JT809车联网数据交换中间件服务端采用netty作为底层架构,是一个基于JT/T809- 2011 《道路运输车辆卫星定位系统平台数据交换》协议-服务端(上级平台)》数据交换中间件,采用MQ以json消息(支持RabbitMQ/Kafka)与业务平台进行交互,能够无缝接入各种异构系统,连接企业之间的车辆监控系统,实现数据互通,中间件主要功能包括
一、 协议封装
中间件提供基于标准的json消息(消息格式见使用手册)与业务平台进行交互,业务平台按照中间件规定的json消息格式发送至指定MQ队列当中,中间件对json消息进行数据转换,封装成符合JT/T809- 2011 《道路运输车辆卫星定位系统平台数据交换》协议的消息格式。
二、 协议解析
中间件对业务平台发送过来的符合协议的消息格式的消息,进行数据转换,封装成标准的json消息(消息格式见使用手册),并发送到指定的MQ队列当中。
三、 链路管理
中间件按照协议规定的通讯方式、链路管理规范,管理下级平台与上级平台之间的链路通讯、状态维护、链路状态通知等。
四、 数据交换
中间件按照协议的要求,现实上级平台与下级平台之间的数据传输功能。
五、 安全控制
中间件具备数据加密、IP白名单等安全控制功能。
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.消息定义
3.1 数据交换方式
网关中间件与上级平台之间通过json+MQ队列方式进行数据交换,协议网关(中间件)从下级平台接收的消息经过数据转换之后放到对应的MQ队列中,上级业务平台通过监听对应的MQ队列获得对应的消息根据业务需要进行业务处理,当上级业务平台需要与下级平台进行通信时,上级业务平台根据本文定义的消息格式把对应的消息发送至对应MQ队列中即可,协议网关(中间件)会监听对应的MQ队列获取对应的消息根据809协议的规定经过消息转换之后,把消息发送至下级平台。
3.2 数据交换队列
(1){elink-upstream-urgent-queue}:车联网网关紧急上行消息队列,该队列主要存放车载终端设备注册、鉴权、上下线等消息。业务平台可监听该队列获取相关消息。
(2){elink-upstream-media-queue}:车联网网关多媒体上行消息队列,业务平台可监听该队列获取相关的多媒体数据。
(3){elink-upstream-gps-queue}:车联网网关位置信息上行消息队列,业务平台可监听该队列获取相关终端设备上传的位置信息。
(4){elink-upstream-common-queue}:车联网网关普通上行消息队列,该队列存放(1)、(2)、(3)以外的上行消息。业务平台可监听该队列获取相关的消息。
(5){elink.gateway.id}:上级平台下行消息队列,上级平台使用该消息队列发送消息给下级平台。
3.3 数据交换消息类型
(1)上行消息
下级平台向上级平台发送的消息,消息格式如下:
{
"messageId":"1000",
"gatewayId":"网关id",
"exchangeId":"消息流水号",
"createTime":"接收时间",
"message":{
消息体
},
"dataLength":"消息字节数"
}
注意:messageId固定为"1000"
消息体定义(message)格式:
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
{
"messageHeader":{
消息头
},
"messageBody":{
消息体
}
}
消息头(messageHeader)参数是固定的,消息头格式如下:
字段名
类型
描述
messageSeq
Long
消息流水号
messageId
String
809协议消息Id
gnssCenterId
Long
下级平台接入码
protocol
String
协议名称,jt809_2011, jt809_2019
protocolVersion
String
协议版本,2011,2019,1078
消息头样例:
{ "messageSeq":1, "gnssCenterId":5350518, "protocol":"jt809_2011", "messageId":"1200", "protocolVersion":"2011"}
消息体(messageBody)则根据协议定义各不相同,具体见下文的消息定义。
(2)下行消息
上级平台向下级平台下发的消息,消息格式如下:
{ "messageId":"9000", "gatewayId":"网关id", "exchangeId":"平台消息流水号", "message":"{消息体定义}"}
注意:messageId固定为"9000"
消息体定义格式:
{
"messageHeader":{
消息头
},
"messageBody":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
消息体
}
}
消息头(messageHeader)参数是固定的,消息头格式如下:
{ "gnssCenterId":"下级平台接入码", "protocol":"协议名称", "protocolVersion":"协议版本", "messageId":"消息id"}
(3)协议网关(中间件)应答消息
messageId"0001",消息格式:
字段名
类型
描述
result
String
-1:未知错误
0:成功
1下级平台不在线
2:消息有误
3:不支持该消息
desc
String
结果描述
消息样例:
{ "messageId":"0001", "gatewayId":"网关id", "exchangeId":"平台消息流水号", "message":{ "result":"消息处理结果", "desc":"消息处理结果描述" }}
(4)链路状态消息
其中messageId固定为"0002",消息体描述见下文
{ "messageId":"0002", "gatewayId":"网关id", "exchangeId":"", "message":{
消息体定义
}}
(5)流量异常消息
如果协议中间件配置了流量控制策略,当下级平台的发送消息的频率异常时会触发流量告警,其中messageId固定为"0008",消息体描述见下文
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
{ "messageId":"0008", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
(6)接入平台信息列表请求消息
上级平台应答“9001”消息,其中messageId固定为"1001",消息体描述见下文
{ "messageId":"1001", "gatewayId":"网关id", "exchangeId":"", "message":{}}
(7)接入平台信息列表请求应答消息
如果协议中间件使用配置文件“inferior-platforms.xml”配置了接入平台信息,则上级业务平台不必处理该消息,其中messageId固定为"9001",消息体描述见下文
{ "messageId":"9001", "gatewayId":"网关id", "exchangeId":"", "message":"{消息体定义}"}
3.4 接入平台信息列表请求消息
消息概述
(1) 消息名称:接入平台信息列表请求消息
(2) 消息描述:网关中间件向上级业务平台请求当前接入平台信息列表
(3) 消息方向:协议网关(中间件)->上级平台
(4) 业务逻辑协议网关启动时,向业务平台发送接入平台信息列表请求消息,业务平台收到该消息之后应答“接入平台信息列表请求应答消息”。
消息体定义
字段名
类型
描述
消息示例
{ "messageId":"1001",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"gatewayId":"elink-iov-exchange-server", "createTime":1677500627635}
3.5 接入平台信息列表请求应答消息
消息概述
(1) 消息名称:接入平台信息列表请求应答消息
(2) 消息描述:上级业务平台应答网关中间件当前接入平台信息列表
(3) 消息方向: 上级平台->协议网关(中间件)
(4) 业务逻辑如果协议中间件使用配置文件“inferior-platforms.xml”配置了接入平台信息,则上级业务平台不必处理该消息。
消息体定义
字段名
类型
描述
protocol
string
下级平台通讯协议,固定值
protocolVersion
string
下级平台通讯协议版本,固定值
gnssCenterName
string
下级平台名称
gnssCenterId
long
下级平台接入码(下级平台接入时需提供给下级平台),必须保证平台唯一 ,数据类型:Long
subordinateLinkEnable
boolean
是否使用下级平台从链路,视下级平台情况决定
ip
string
下级平台从链路ip(需要下级平台提供),非必填,非空时下级平台登录时校验ip地址
port
integer
下级平台从链路端口(需要下级平台提供),非必填,数据类型:Integer,非空时下级平台登录时校验端口
userId
long
下级平台登录账号(下级平台接入时需提供给下级平台) ,数据类型Long
password
string
下级平台登录密码(下级平台接入时需提供给下级平台) ,数据类型:string,最大长度不超过8个字符
m1
long
下级平台加密参数m1(下级平台接入时需提供给下级平台),数据类型Long
ia1
long
下级平台加密参数ia1(下级平台接入时需提供给下级平台),数据类型:Long
ic1
long
下级平台加密参数ic1(下级平台接入时需提供给下级平台),数据类型:Long
verifyCode
long
下级平台接入验证码,数据类型:Integer
消息示例
{ "messageId":"9001", "message":[ { "gnssCenterId":5350518,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"protocol":"jt809_2011", "protocolVersion":"2011", "subordinateLinkEnable":true, "ip":"127.0.0.1", "port":6047, "userId":9000631, "password":"12345678", "m1":10000000, "ia1":20000000, "ic1":30000000, "verifyCode":888 } ]}
3.6 链路管链路管理消息
消息概述
(1) 消息名称:链路管理消息
(2) 消息描述:上级平台可以利用该消息,强制关闭下级平台的主从链路
(3) 消息方向:上级平台->协议网关(中间件)
(4) 业务逻辑
(1)上级平台发现下级平台的链路异常时,可发送该消息强制关闭链路;
(2)上级平台发现从链路异常断开时,可重新开启;
(3)正常情况下,上级平台不需要管理从链路,协议网关(中间件)在主链路建立的同时建立从链路。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
protocol
String
协议名称,jt809_2011, jt809_2019
protocolVersion
String
协议版本,2011,2019,1078
action
int
0:关闭从链路
1: 关闭主链路
2: 关闭主从链路
3:开启从链路
消息示例
{ "messageId":"1002", "message":{ "gnssCenterId":5350518,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"protocol":"jt809_2011", "protocolVersion":"2011", "action":0 }}
3.7 链路状态变更通知
消息概述
(1) 消息名称:链路状态变更通知
(2) 消息描述当下级平台与协议网关(中间件)之间的链路状态发生变化时,协议网关(中间件)发送消息通知上级平台
(3) 消息方向:协议网关(中间件)->上级平台
(4) 业务逻辑上级平台接收到协议网关(中间件)的链路变更通知后,可根据自身业务进行处理,如暂停往下级平台发送消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
protocol
String
协议名称,jt809_2011, jt809_2019
protocolVersion
String
协议版本,2011,2019,1078
linkType
int
0:从链路
1:主链路
result
int
0:链路已断开
1:链路已建立
消息示例
{ "messageId":"0002", "message":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "linkType":1, "result":1, "desc":"" }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.8 主链路登录请求消息1001
消息概述
(1) 消息名称:主链路登录请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1001
(4) 消息描述下级平台与上级平台建立主链路之后,主动向上级平台发送主链路登录请求消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑由协议网关进行登录验证,上级业务平台不必处理该消息,接收保存即可
消息体定义
字段名
类型
描述
messageId
String
消息id
userId
Long
登录用户名
password
Long
登录密码
ip
String
下级平台网关ip
port
Int
下级平台网关端口
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1001" }, "messageBody":{ "userId":30000000, "password":"30000000", "ip":"127.0.0.1", "port":19101 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.9 主链路登录应答消息1002
消息概述
(1) 消息名称:主链路登录应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1002
(4) 消息描述:上级平台应答下级平台主链路登录请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:协议网关自动应答“1001”消息
消息体定义
字段名
类型
描述
result
int
验证结果,定义如下:
0x00:成功;
0x01 :IP地址不正确;
0x02:接入码不正确;
0x03:用户没有注册;
Ox04:密码错误;
0x05:资源紧张,稍后再连接(已经占用);
0x06:其他
verifyCode
int
校验码
消息示例
{ "exchangeId":"4", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1002" }, "messageBody":{ "result":0, "verifyCode":789 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.10 主链路注销请求消息1003
消息概述
(1) 消息名称:主链路注销请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1003
(4) 消息描述下级平台发送消息告知上级平台请求注销主链路,上级平台应答之后,下级平台可以注销主链路。
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑该消息由协议网关(中间件)自动应答。上级平台不需要应答该消息,做存库处理用做日后以备查。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
userId
Long
登录用户名
password
Long
登录密码
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1003" }, "messageBody":{ "userId":10000000, "password":"20000000" } }}
3.11 主链路注销应答消息1004
消息概述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(1) 消息名称:主链路注销应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1004
(4) 消息描述上级平台应答下级平台主链路注销请求消息,消息体为空,协议网关(中间件接收到“1003”消息之后主动发送主链路断开消息通知下级平台,并自动断开主链路。
(5) 消息方向:协议网关(中间件)->下级平台
(6) 业务逻辑:协议网关(中间件)自动应答“1003”消息。上级平台可忽略该消息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"4", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1004" }, "messageBody":{ } }}
3.12 主链路连接保持请求消息1005
消息概述1005
(1) 消息名称:主链路连接保持请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1005
(4) 消息描述:下级平台在空闲时定时发送该消息做为心跳检测
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:协议网关(中间件)自动应答“1006”消息,上级平台可忽略该消息。
消息体定义
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
字段名
类型
描述
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1005" }, "messageBody":{ } }}
3.13 主链路连接保持应答消息1006
消息概述
(1) 消息名称:主链路连接保持应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1006
(4) 消息描述:主链路连接保持应答消息,消息体为空
(5) 消息方向:协议网关(中间件)->下级平台
(6) 业务逻辑:协议网关(中间件)自动应答“1005”消息,上级平台可忽略该消息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"4", "messageId":"9000", "message":{ "messageHeader":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1006" }, "messageBody":{ } }}
3.14 主链路断开通知消息1007
消息概述
(1) 消息名称:主链路断开通知消息
(2) 链路类型:从链路
(3) 消息Id:0x1007
(4) 消息描述
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑由协议网关(中间件)进行链路管理。上级平台可忽略该消息或做存库处理用做日后以备查。
消息体定义
字段名
类型
描述
errorCode
Long
错误代码,定义如下:
Ox00:主链路断开;
Ox01:其他原因
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1007" }, "messageBody":{ "errorCode":1
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
} }}
3.15 下级平台主动关闭主从链路通知消息1008
消息概述
(1) 消息名称:下级平台主动关闭主从链路通知消息
(2) 链路类型:从链路
(3) 消息Id:0x1008
(4) 消息描述:由网关处理该消息,上级平台不需要处理
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑由协议网关(中间件)进行链路管理。上级平台可忽略该消息或做存库处理用做日后以备查。
消息体定义
字段名
类型
描述
reasonCode
Long
链路关闭原因,定义如下:
0x00:网关重启;
0x01:其他原因
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "messageId":"1008", "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011" }, "messageBody":{ "reasonCode":0 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.16 从链路连接请求消息9001
消息概述
(1) 消息名称:从链路连接请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9001
(4) 消息描述在下级平台与上级平台建立主链路之后,协议网关(中间件)主动发送从链路连接请求消息,建立从链路。
(5) 消息方向:协议网关(中间件)->下级平台
(6) 业务逻辑
(2)协议网关(中间件)会在上级平台应答“1002”消息时,启动从链路;
(3)当上级平台发现从链路断开时,可主动发送该信息(或者通过链路管理消息)重新启动从链路(一般不需要主动发送该消息,由下级平台控制链路处理)。
消息体定义
字段名
类型
描述
verifyCode
Long
校验码
消息示例
{ "exchangeId":"13", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9001" }, "messageBody":{ "verifyCode":789 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.17 从链路连接应答消息9002
消息概述
(1) 消息名称:从链路连接应答消息
(2) 链路类型:从链路
(3) 消息Id:0x9002
(4) 消息描述:由协议网关(中间件)处理该消息,下级平台不需要处理。
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑由协议网关(中间件)进行链路管理。上级平台可忽略该消息或做存库处理用做日后以备查。
消息体定义
字段名
类型
描述
result
Int
验证结果,定义如下:
0x00:成功;
0x01 : VERIFY_CODE错误;
Ox02:资源紧张,稍后再连接(已经占用);
0x03:其他
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9002" }, "messageBody":{ "result":0 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.18 从链路注销请求消息9003
消息概述
(1) 消息名称:从链路注销请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9003
(4) 消息描述:主链路关闭时,协议网关(中间件)自动发送该消息。
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑由协议网关(中间件)进行链路管理。上级平台也可以主动发送该消息强制注销从链路
消息体定义
字段名
类型
描述
verifyCode
Long
验证码
消息示例
{ "exchangeId":"15", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9003" }, "messageBody":{ "verifyCode":789 } }}
3.19 从链路注销应答消息9004
消息概述
(1) 消息名称:从链路注销应答消息
(2) 链路类型:从链路
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(3) 消息Id:0x9004
(4) 消息描述:由协议网关(中间件)处理该消息,上级平台不需要处理
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:由协议网关(中间件)进行链路管理。上级平台可忽略该消息
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9004" }, "messageBody":{ } }}
3.20 从链路连接保持请求消息9005
消息概述
(1) 消息名称:从链路连接保持请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9005
(4) 消息描述
(5) 消息方向:协议网关(中间件)->下级平台
(6) 业务逻辑:由协议网关(中间件)进行链路管理。上级平台可忽略该消息。
消息体定义
字段名
类型
描述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
消息示例
{ "exchangeId":"20", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9005" }, "messageBody":{ } }}
3.21 从链路连接保持应答消息9006
消息概述
(1) 消息名称:从链路连接保持应答消息
(2) 链路类型:从链路
(3) 消息Id:0x9006
(4) 消息描述
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:由协议网关(中间件)进行链路管理。上级平台可忽略该消息。
消息体定义
字段名
类型
描述
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9006" }, "messageBody":{ } }}
3.22 从链路断开通知消息9007
消息概述
(1) 消息名称:从链路断开通知消息
(2) 链路类型:主链路
(3) 消息Id:0x9007
(4) 消息描述
(5) 消息方向:协议网关(中间件)->下级平台
(6) 业务逻辑:由协议网关(中间件)进行链路管理。上级平台可忽略该消息。
消息体定义
字段名
类型
描述
errorCode
Long
错误代码,定义如下:
Ox00:无法连接下级平台指定的服务IP与
端口;
Ox01:上级平台客户端与下级平台服务端
断开;
0x02:其他原因
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9007" }, "messageBody":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"errorCode":0 } }}
3.23 上级平台主动关闭主从链路通知消息9008
消息概述
(1) 消息名称:上级平台主动关闭主从链路通知消息
(2) 链路类型:主链路
(3) 消息Id:0x9008
(4) 消息描述
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑由协议网关(中间件)进行链路管理。上级平台也可以主动发送该消息强制关闭主从链路
消息体定义
字段名
类型
描述
reasonCode
Long
链路关闭原因,定义如下:
0x00:网关重启;
Ox01:其他原因
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9008" }, "messageBody":{ "reasonCode":0 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.24 接收定位信息数量通知消息9101
消息概述
(1) 消息名称:接收定位信息数量通知消息
(2) 链路类型:从链路
(3) 消息Id:0x9101
(4) 消息描述:接收定位信息数量通知消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台定时统计接收到的位置信息数量,并反馈给下级平台。上级平台可根据自身的业务确定是否需要发送该消息。
消息体定义
字段名
类型
描述
startTime
Long
开始接收时间
endTime
Long
截止时间
total
int
接收总条数
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9101" }, "messageBody":{ "total":10, "startTime":1675094400000, "endTime":1675177200000
} }}
3.25 上传车辆注册消息1201
消息概述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(1) 消息名称:上传车辆注册消息
(2) 链路类型:主链路
(3) 消息Id:0x1201
(4) 消息描述:下级平台主动上传车辆注册消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑当下级平台有新的车辆注册入网时,发送该消息通知上级平台。上级平台接收到该消息后,应根据自身的业务特点进行处理。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
platformId
String
平台唯一编码
producerId
String
终端厂商
terminalModelType
String
终端型号
terminalId
String
终端id
terminalSimCode
String
终端sim卡号
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"1201", "platformId":"00000000000", "producerId":"00000000000", "terminalModelType":"2222222222222", "terminalId":"0123456", "terminalSimCode":"13611111111" }
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}}
3.26 实时上传车辆定位消息1202
消息概述
(1) 消息名称:实时上传车辆定位消息
(2) 链路类型:主链路
(3) 消息Id:0x1202
(4) 消息描述:下级平台实时上传车辆定位消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息后,应根据自身的业务特点进行处理。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
encrypt
Int
定位信息是否经过加密
time
Long
定位时间
lng
Double
经度
lat
Double
纬度
speed
Int
速度
dvrSpeed
Int
行驶记录仪速度
mileage
Int
里程数
direction
Int
方向
altitude
Int
海拔高度
state
long
车辆状态,
二进制表示: B31B30……B2B1BO。体定义按照JTT808--2011中表17的规定。
alarm
long
报警状态,
二进制表示,0表示正常,1表示报警:B31B30B29.…B2B1BO。具体定义按照JT/T 808—2011中表18的规定
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"message":{ "messageHeader":{ "messageId":"1200", "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011" }, "messageBody":{ "vehicleColor":1, "altitude":669, "lng":121.177961, "dvrSpeed":149, "dataType":"1202", "speed":154, "vehicleNo":"桂K609F1", "encrypt":1, "alarm":0, "time":1675299481002, "state":518, "lat":31.150808, "mileage":188, "direction":350 } }}
3.27 车辆定位信息自动补报消息1203
消息概述
(1) 消息名称:车辆定位信息自动补报消息
(2) 链路类型:主链路
(3) 消息Id:0x1203
(4) 消息描述:车辆定位信息自动补报消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息后,应根据自身的业务特点进行处理。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
gnssList
List
位置信息列表
encrypt
Int
定位信息是否经过加密
time
Long
定位时间
lng
Double
经度
lat
Double
纬度
speed
Int
速度
dvrSpeed
Int
行驶记录仪速度
mileage
Int
里程数
direction
Int
方向
altitude
Int
海拔高度
state
long
车辆状态,
二进制表示: B31B30……B2B1BO。具体定义按照JTT808--2011中表17的规定。
alarm
long
报警状态,
二进制表示,0表示正常,1表示报警:B31B30B29.…B2B1BO。具体定义按照JT/T 808—2011中表18的规定
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "messageId":"1200", "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"1203", "gnssList":[ { "vehicleColor":1, "altitude":669, "lng":121.177961, "dvrSpeed":149, "dataType":"1202", "speed":154,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"vehicleNo":"桂K609F1", "encrypt":1, "alarm":0, "time":1675299481002, "state":518, "lat":31.150808, "mileage":188, "direction":350 } ] } }}
3.28 启动车辆定位信息交换应答消息1205
消息概述
(1) 消息名称:启动车辆定位信息交换应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1205
(4) 消息描述下级平台收到上级平台下发启动车辆定位信息交换请求消息9205后,下级平台应答该消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑上级平台接收到该消息后,应根据自身的业务特点进行处理,如标识对应的9205消息处理成功。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1205" } }}
3.29 结束车辆定位信息交换应答消息1206
消息概述
(1) 消息名称:结束车辆定位信息交换应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1206
(4) 消息描述下级平台收到上级平台结束车辆定位信息交换请求消息9206后,下级平台的应答消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑上级平台接收到该消息后,应根据自身的业务特点进行处理,如标识对应的9206消息处理成功。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1206" } }}
3.30 申请交换指定车辆定位信息请求消息1207
消息概述
(1) 消息名称:申请交换指定车辆定位信息请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1207
(4) 消息描述:下级平台申请交换指定车辆定位信息请求消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑上级平台接收到该消息之后,根据自身业务处理消息,应答“9207”消息,并定时向下级平台发送位置信息“9202”。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
startTime
long
开始时间
endTime
long
截止时间
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00000", "vehicleColor":2, "dataType":"1207", "startTime":1675094400000, "endTime":1675177200000 } }}
3.31 取消交换指定车辆定位信息请求消息1208
消息概述
(1) 消息名称:取消交换指定车辆定位信息请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1208
(4) 消息描述:下级平台取消交换指定车辆定位信息请求消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑上级平台接收到该消息之后,根据自身业务处理消息,并停止向下级平台发送位置信息“9202”,并应答“9208”消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00000", "vehicleColor":2, "dataType":"1208" } }}
3.32 补发车辆定位信息请求消息1209
消息概述
(1) 消息名称:补发车辆定位信息请求消息
(2) 链路类型:主链路
(3) 消息Id:0x1209
(4) 消息描述
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑上级平台接收到该消息之后,根据自身业务处理消息,向下级平台补发位置信息“9203”,并应答“9209”消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
startTime
long
开始时间
endTime
long
截止时间
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200"
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}, "messageBody":{ "vehicleNo":"测A00000", "vehicleColor":2, "dataType":"1209", "startTime":1675094400000, "endTime":1675177200000 } }}
3.33 上报车辆驾驶员身份识别信息应答消息120A
消息概述
(1) 消息名称:上报车辆驾驶员身份识别信息应答消息
(2) 链路类型:主链路
(3) 消息Id:0x120A
(4) 消息描述:下级平台应答上级平台下发的“920A”消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息之后,根据自身业务处理消息。
消息体定义
字段名
类型
描述
encrypt
Boolean
是否加密,可以不传,默认不加密
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
driverName
String
驾驶员姓名
driverId
String
驾驶员身份证
licence
String
从业资格证号
orgName
String
发证机构名称
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"120A", "driverName":"交通运输部行标", "driverId":"3289902836789987621", "licence":"312321312321312", "orgName":"中国交通部" } }}
3.34 上报车辆电子运单应答消息120B
消息概述
(1) 消息名称:上报车辆电子运单应答消息
(2) 链路类型:主链路
(3) 消息Id:0x120B
(4) 消息描述:下级平台应答上级平台下发的“920B”消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息之后,根据自身业务处理消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
waybill
String
电子运单数据
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"120B", "waybill":"98" } }}
3.35 主动上报驾驶员身份信息消息120C
消息概述
(1) 消息名称:主动上报驾驶员身份信息消息
(2) 链路类型:主链路
(3) 消息Id:0x120C
(4) 消息描述:下级平台主动上报驾驶员身份信息消息120C
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息之后,根据自身业务处理消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
driverName
String
驾驶员姓名
driverId
String
驾驶员身份证
licence
String
从业资格证号
orgName
String
发证机构名称
消息示例
{ "exchangeId":"0", "messageId":"1000", "gatewayId":"elink-iov-exchange-server",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"120C", "driverName":"test", "driverId":"412323198008080909", "licence":"12345678", "orgName":"123456789" } }}
3.36 主动上报车辆电子运单信息消息120D
消息概述
(1) 消息名称:主动上报车辆电子运单信息消息
(2) 链路类型:主链路
(3) 消息Id:0x120D
(4) 消息描述:下级平台主动上报车辆电子运单信息消息120D
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息之后,根据自身业务处理消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
waybill
String
电子运单数据
消息示例
{ "exchangeId":"0", "messageId":"1000",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1200" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"120D", "waybill":"123456789987654321" } }}
3.37 交换车辆定位消息9202
消息概述
(1) 消息名称:交换车辆定位消息
(2) 链路类型:从链路
(3) 消息Id:0x9202
(4) 消息描述:上级平台下发指定车辆位置信息给下级平台
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台在接收到下级平台的1205消息后,通过该消息实时发送车辆位置信息给下级平台。
消息体定义
字段名
类型
描述
messageBody
见1202定义
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"messageId":"9200" }, "messageBody":{ "dataType":"9202", "vehicleNo":"桂K609F1", "vehicleColor":1, "altitude":669, "lng":121.177961, "dvrSpeed":149, "speed":154, "encrypt":1, "alarm":0, "time":1675299481002, "state":518, "lat":31.150808, "mileage":188, "direction":350 } }}
3.38 车辆定位信息补发消息9203
消息概述
(1) 消息名称:车辆定位信息补发消息
(2) 链路类型:从链路
(3) 消息Id:0x9203
(4) 消息描述上级平台收到下级平台的“1209”消息后,使用该消息补发车辆位置信息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台补发车辆定位信息给下级平台,注意一次最多可发送5条。
消息体定义
字段名
类型
描述
messageBody
参考1203
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9203", "gpsList":[ { "altitude":669, "lng":121.177961, "dvrSpeed":149, "dataType":"9202", "speed":154, "encrypt":1, "alarm":0, "time":1675299481002, "state":518, "lat":31.150808, "mileage":188, "direction":350 } ] } }}
3.39 交换车辆静态信息消息9204
消息概述
(1) 消息名称:交换车辆静态信息消息
(2) 链路类型:从链路
(3) 消息Id:0x9204
(4) 消息描述:上级平台使用该消息与下级平台交换车辆信息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务需要向下级平台发送该消息
消息体定义
字段名
类型
描述
carInfo
参考809协议9204中车辆静态信息的定义
消息示例
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9204", "carInfo":{ "VIN":"测A00001" } } }}
3.40 启动车辆定位信息交换请求消息9205
消息概述
(1) 消息名称:启动车辆定位信息交换请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9205
(4) 消息描述:上级平台向下级平台申请交换车辆定位信息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台根据业务需要向下级平台主动发送该消息,请求下级平台上报指定车辆的位置信息
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
reasonCode
Int
启动车辆定位信息交换的原因,定义如下:
0x00:车辆进入指定区域;
Ox01 ;人工指定交换;
0x02:应急状态下车辆定位信息回传;
0x03:其他原因
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9205", "reasonCode":0 } }}
3.41 结束车辆定位信息交换请求消息9206
消息概述
(1) 消息名称:结束车辆定位信息交换请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9206
(4) 消息描述:上级平台向下级平台发送结束车辆定位信息交换请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台根据业务需要向下级平台发送该消息,结束交换指定车辆的位置信息,下级平台收到该消息之后,停止上报该车辆的位置信息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
reasonCode
Int
结束车辆定位信息交换的原因,定义如下:
0x00:车辆离开指定区域;
0x01 :人工停止交换;
0x02 :紧急监控完成;
0x03:车辆离线;
0x04:其他原因
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9206", "reasonCode":0 } }}
3.42 申请交换指定车辆定位信息应答消息9207
消息概述
(1) 消息名称:申请交换指定车辆定位信息应答消息
(2) 链路类型:从链路
(3) 消息Id:0x9207
(4) 消息描述: 上级平台应答下级平台的“1207”消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台收到下级平台发送的“1207”消息后,应答该消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
result
Int
申请交换指定车辆定位信息结果,定义如下:
0x00:申请成功;
Ox01:上级平台没有该车数据;
Ox02:申请时间段错误;
0x03:其他
消息示例
{ "exchangeId":"21", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9207", "result":0 } }}
3.43 取消交换指定车辆定位信息应答消息9208
消息概述
(1) 消息名称:取消交换指定车辆定位信息应答消息
(2) 链路类型:从链路
(3) 消息Id:0x9208
(4) 消息描述:上级平台应答下级平台的“1208”消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台收到下级平台发送的“1208”消息后,应答该消息。
消息体定义
字段名
类型
描述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
result
Int
取消申请交换指定车辆定位信息结果,定义如下:
0x00:取消申请成功;
Ox01 :之前没有对应申请信息;
0x02:其他
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9208", "result":0 } }}
3.44 补发车辆定位信息应答消息9209
消息概述
(1) 消息名称:补发车辆定位信息应答消息
(2) 链路类型:从链路
(3) 消息Id:0x9209
(4) 消息描述:上级平台应答下级平台的“1209”消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台收到下级平台发送的“1209”消息后,应答该消息。
消息体定义
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
result
Int
补发车辆定位信息应答结果,定义如下:
0x00:成功,上级平台即刻补发;
0x01 :成功,上级平台择机补发;
0x02:失败,上级平台无对应申请的定位数据;
0x03 :失败,申请内容不正确;
0x04:其他原因
消息示例
{ "exchangeId":"22", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9209", "result":0 } }}
3.45 上报车辆驾驶员身份识别信息请求消息920A
消息概述
(1) 消息名称:上报车辆驾驶员身份识别信息请求消息
(2) 链路类型:从链路
(3) 消息Id:0x920A
(4) 消息描述:上级平台向下级平台发送上报车辆驾驶员身份识别信息请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(6) 业务逻辑上级平台根据业务需要向下级平台发送该消息,请求下级平台上报指定车辆驾驶员身份识别信息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"8", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"920A" } }}
3.46 上报车辆电子运单请求消息920B
消息概述
(1) 消息名称:上报车辆电子运单请求消息
(2) 链路类型:从链路
(3) 消息Id:0x920B
(4) 消息描述: 上级平台向下级平台发送上报车辆电子运单请求
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台根据业务需要向下级平台发送该消息,请求上报指定车辆电子运单。
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"5", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9200" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"920B" } }}
3.47 平台查岗应答消息1301
消息概述
(1) 消息名称:平台查岗应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1301
(4) 消息描述:下级平台应答上级平台的查岗请求(9301)
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台接收到该消息后,验证该消息的应答内容。
消息体定义
字段名
类型
描述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
dataType
String
子业务类型
objectType
Int
查岗类型
objectId
String
查岗对象id
infoId
Int
信息id
infoContent
String
查岗应答内容
消息示例
{ "exchangeId":"822083584", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1300" }, "messageBody":{ "dataType":"1301", "objectType":2, "objectId":"002", "infoId":1, "infoContent":"北京" } }}
3.48 下发平台间报文应答消息1302
消息概述
(1) 消息名称:下发平台间报文应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1302
(4) 消息描述:下发平台应答上级平台的报文请求消息(9302)
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
dataType
String
子业务类型
infoId
Int
报文id
消息示例
{ "exchangeId":"922746880", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1300" }, "messageBody":{ "dataType":"1302", "infoId":1 } }}
3.49 平台查岗请求消息9301
消息概述
(1) 消息名称:平台查岗请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9301
(4) 消息描述:上级平台定时向下级平台发送查岗请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑上级平台定时向下级平台发送查岗请求消息,检查下级平台是否安排有值守人员。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
dataType
String
子业务类型
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
objectType
Int
查岗类型
objectId
String
查岗对象id
infoId
Int
信息id
infoContent
String
查岗应答内容
消息示例
{ "exchangeId":"19", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9300" }, "messageBody":{ "dataType":"9301", "objectType":2, "objectId":"002", "infoId":1, "infoContent":"001" } }}
3.50 下发平台间报文请求消息9302
消息概述
(1) 消息名称:下发平台间报文请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9302
(4) 消息描述:上级平台向下级平台发送报文提醒消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑: 上级平台根据业务需要向下级平台发送报文提醒消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
dataType
String
子业务类型
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
objectType
Int
报文类型
objectId
String
报文对象id
infoId
Int
信息id
infoContent
String
报文内容
消息示例
{ "exchangeId":"14", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9300" }, "messageBody":{ "dataType":"9302", "objectType":2, "objectId":"002", "infoId":1, "infoContent":"001" } }}
3.51 报警督办应答消息1401
消息概述
(1) 消息名称:报警督办应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1401
(4) 消息描述:下级平台应该上级平台下发的报警督办请求消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务需要处理该消息。
消息体定义
字段名
类型
描述
supervisionId
Long
督办id
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
result
int
报警处理结果,定义如下:
Ox00:处理中;
0x01:已处理完毕;
0x02:不作处理;
0x03:将来处理
消息示例
{ "exchangeId":"1073741824", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1400" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1401", "supervisionId":1, "result":0 } }}
3.52 上报报警信息消息1402
消息概述
(1) 消息名称:上报报警信息消息
(2) 链路类型:主链路
(3) 消息Id:0x1402
(4) 消息描述:下级平台上报报警信息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
dataType
String
子业务类型
warnSrc
Int
报警信息来源,定义如下:
0x01:车载终端;
0x02:企业监控平台;
0x03:政府监管平台;
0x09:其他
warnType
Int
报警类型,809协议表75中对应的十六进制
warnTime
long
报警时间戳
infoId
Int
信息Id
infoContent
String
报警内容
消息示例
{ "exchangeId":"31", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1400" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"1402", "warnSrc":2, "warnType":"0002", "warnTime":1675094400000, "infoId":0, "infoContent":"" } }}
3.53 主动上报报警处理结果消息1403
消息概述
(1) 消息名称:主动上报报警处理结果信息消息
(2) 链路类型:主链路
(3) 消息Id:0x1403
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(4) 消息描述:下级平台主动上报报警处理结果信息消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
infoId
Long
报警信息id
result
int
报警处理结果,定义如下:
Ox00:处理中:
0x01:已处理完毕:
0x02:不作处理;
0x03:将米处理
消息示例
{ "exchangeId":"33", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1400" }, "messageBody":{ "vehicleNo":"测A12345", "vehicleColor":2, "dataType":"1403", "infoId":22, "result":1 } }}
3.54 报警督办请求消息9401
消息概述
(1) 消息名称:报警督办请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9401
(4) 消息描述: 上级平台向下级平台发送报警督办请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(6) 业务逻辑:上级平台根据业务需求向下级平台发送该消息。
消息体定义
字段名
类型
描述
gnssCenterId
Long
下级平台接入码
messageId
String
消息id
dataType
String
子业务类型
warnSrc
Int
报警信息来源,定义如下:
0x01:车载终端;
0x02:企业监控平台;
0x03:政府监管平台;
0x09:其他
warnType
Int
报警类型,809协议表75中对应的十六进制
warnTime
Long
报警时间戳
supervisionId
Long
信息Id
supervisionTime
Long
督办截止时间戳
supervisionLevel
Int
督办级别,定义如下:
0x00;紧急;
0x01 :一般督办人
supervisor
String
督办人
supervisorTel
String
督办联系电话
supervisorEmail
String
督办联系电子邮件
消息示例
{ "exchangeId":"10", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9400" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9401", "warnSrc":1, "warnType":2, "warnTime":1675177200000, "supervisionId":1, "supervisionTime":1675177200000, "supervisionLevel":2, "supervisor":"001",
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"supervisorTel":"003", "supervisorEmail":"002" } }}
3.55 报警预警消息9402
消息概述
(1) 消息名称:报警预警消息
(2) 链路类型:从链路
(3) 消息Id:0x9402
(4) 消息描述:上级平台向下级平台发送报警预警消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务需要主动向下级平台发送该消息。
消息体定义
字段名
类型
描述
warnSrc
Int
报警信息来源,定义如下:
0x01:车载终端;
0x02:企业监控平台;
0x03:政府监管平台;
0x09:其他
warnType
Int
报警类型,809协议表75中对应的十六进制转化成十进制
warnTime
Long
报警时间戳
infoId
Int
信息Id
infoContent
String
报警内容
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9400" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1,
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
"dataType":"9402", "warnSrc":1, "warnType":1, "warnTime":1675177200000, "warnContent":"001" } }}
3.56 实时交换报警信息消息9403
消息概述
(1) 消息名称:实时交换报警信息消息
(2) 链路类型:从链路
(3) 消息Id:0x9403
(4) 消息描述: 上级平台向下级平台实时交换报警信息消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务需要主动向下级平台发送该消息。
消息体定义
字段名
类型
描述
warnSrc
Int
报警信息来源,定义如下:
0x01:车载终端;
0x02:企业监控平台;
0x03:政府监管平台;
0x09:其他
warnType
Int
报警类型,809协议表75中对应的十六进制转化成十进制
warnTime
Long
报警时间戳
infoId
Int
信息Id
infoContent
String
报警内容
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9400"
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9403", "warnSrc":1, "warnType":1, "warnTime":1675177200000, "warnContent":"001" } }}
3.57 车辆单项监听应答消息1501
消息概述
(1) 消息名称:车辆单项监听应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1501
(4) 消息描述:下级平台向上级平台发送车辆单项监听应答消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
result
int
车辆单向监听应答结果,定义如下:
Ox00:监听成功;
0x01:监听失败
消息示例
{ "exchangeId":"1207959552", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1500"
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1501", "result":0 } }}
3.58 车辆拍照请求消息应答消息1502
消息概述
(1) 消息名称:车辆拍照请求消息应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1502
(4) 消息描述:下级平台应答上级平台的车辆拍照请求消息应答消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
photoRspFlag
拍照应答标识,标识拍照后的结果或原因,定义如下:
0x00:不支持拍照相;
0x01:完成拍照;
0x02:完成拍照、照片数据稍后传送;
0x03:未拍照(不在线);
0x04:未拍照(无法使用指定镜头);
0x05:未拍照(其他原因);
0x09:车牌号码错误
gnssData
拍照位置地点,参考1202消息
lensId
镜头ID
sizeType
图片大小,定义如下:
0x01 :320 * 240;
0x02:640 * 48 ;
0x03 :800 * 600;
0x04:1024* 76;
0x05:176* 144[ QCIF ];
Ox06:352 * 288[ CIF];
0x07:704 * 288[ IIALF D1];
Ox08 :704 *576[ D1 ]
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
type
图像格式,定义如下:
0x01:jpg;
0Ox02 : gif;
0x03 : tiff;
Ox04 :png
photo
String
照片数据,为照片内容的byte字节转化成为十六进制的字符串。
消息示例
{ "exchangeId":"1426063360", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "messageId":"1500", "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1502", "photoRspFlag":1, "gnssData":{ "vehicleColor":0, "encrypt":1, "time":1675177200000, "lng":119, "lat":32, "speed":50, "dvrSpeed":50, "mileage":100, "direction":50, "altitude":50, "state":0, "alarm":0 }, "lensId":1, "sizeType":1, "type":1, "photo":"照片内容转成十六进制字符串" }
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}}
3.59 下发车辆报文应答消息1503
消息概述
(1) 消息名称:下发车辆报文应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1503
(4) 消息描述:下级平台应答上级平台车辆报文消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
msgId
Long
消息id
result
int
下发车辆报文应答结果,定义如下:
0x00:下发成功;
0x01 :下发失败
消息示例
{ "exchangeId":"1258291200", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1503", "msgId":917, "result":0 } }
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}
3.60 上报车辆行驶记录应答消息1504
消息概述
(1) 消息名称:上报车辆行驶记录应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1504
(4) 消息描述:下级平台应答上级平台上报车辆行驶记录消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息
消息体定义
字段名
类型
描述
commandType
Long
下级平台接入码
travelDataInfo
String
终端上传的行驶记录信息byte字节转成十六进制字符串
消息示例
{ "exchangeId":"1342177280", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1504", "commandType":"01", "travelDataInfo":"行驶记录仪数据十六进制字符串" } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.61 车辆应急接入监管平台请求消息应答消息1505
消息概述
(1) 消息名称:车辆应急接入监管平台应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1505
(4) 消息描述: 下级平台应答上级平台车辆应急接入监管平台信息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
result
Int
Ox00:车载终端成功收到该命令;
0x01 :无该车辆;
Ox02:其他原因失败
消息示例
{ "exchangeId":"1375731712", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1505", "result":0 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.62 车辆单项监听请求消息9501
消息概述
(1) 消息名称:车辆单项监听请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9501
(4) 消息描述:上级平台向下级平台的终端发送车辆单项监听请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务向下级平台发送该消息
消息体定义
字段名
类型
描述
monitorTel
String
回拨号码
消息示例
{ "exchangeId":"7", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9501", "monitorTel":"13609616355" } }}
3.63 车辆拍照请求消息请求消息9502
消息概述
(1) 消息名称:车辆拍照请求消息请求消息
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(2) 链路类型:从链路
(3) 消息Id:0x9502
(4) 消息描述:上级平台向下级平台的终端发送车辆拍照请求消息请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务向下级平台发送该消息。
消息体定义
字段名
类型
描述
lensId
Int
镜头ID
size
int
图片大小,定义如下:
0x01 :320 * 240;
0x02:640 * 48 ;
0x03 :800 * 600;
0x04:1024* 76;
0x05:176* 144[ QCIF ];
Ox06:352 * 288[ CIF];
0x07:704 * 288[ IIALF D1];
Ox08 :704 *576[ D1 ]
消息示例
{ "exchangeId":"1", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9502", "lensId":1, "size":2 } }}
3.64 下发车辆报文请求消息9503
消息概述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(1) 消息名称:下发车辆报文请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9503
(4) 消息描述:上级平台向下级平台的终端发送车辆报文请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务向下级平台发送该消息。
消息体定义
字段名
类型
描述
msgSequence
Long
消息序列号
msgPriority
int
报文优先级,定义如下:
0x00:紧急;
0x01:一般
msgContent
String
内容
消息示例
{ "exchangeId":"0", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9503", "msgSequence":2, "msgPriority":1, "msgContent":"001" } }}
3.65 上报车辆行驶记录请求消息9504
消息概述
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(1) 消息名称:上报车辆行驶记录请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9504
(4) 消息描述:上级平台向下级平台的终端发送车辆行驶记录请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务向下级平台发送该消息。
消息体定义
字段名
类型
描述
commandType
Int
行驶记录仪指令对应的十六进制值转十进制
消息示例
{ "exchangeId":"18", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9500" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9504", "commandType":"1" } }}
3.66 车辆应急接入监管平台请求消息请求消息9505
消息概述
(1) 消息名称:车辆应急接入监管平台请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9505
(4) 消息描述:上级平台向下级平台的终端发送车辆应急接入监管平台请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
(6) 业务逻辑:上级平台根据业务需要向下级平台发送该消息。
消息体定义
字段名
类型
描述
authenticationCode
String
监管平台下发的鉴权码,用于车载终端连接到监管平台鉴权时使用
accessPointName
String
拨号点名称,一般为服务器的APN,无线通信拨号访问点,若网络制式为CD-MA,则该值为PPP连接拨号号码
userName
String
拨号用户名,服务器无线通信拨号用户名
password
String
拨号密码,服务器无线通信拨号密码地址
serverIp
String
服务器IP地址或域名
tcpPort
Int
服务器TCP端口
udpPort
Int
服务器UDP端口
endTime
long
结束时间, 0表示-直连接指定的服务器
消息示例
{ "exchangeId":"16", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9505", "authenticationCode":"002", "accessPointName":"001", "userName":"004", "password":"003", "serverIp":"127.0.0.1", "tcpPort":3005, "udpPort":3005, "endTime":1675177200000 } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3.67 补报车辆静态信息应答消息1601
消息概述
(1) 消息名称:补报车辆静态信息应答消息
(2) 链路类型:主链路
(3) 消息Id:0x1601
(4) 消息描述:下级平台应该上级平台补报车辆静态信息消息
(5) 消息方向:下级平台->协议网关(中间件)->上级平台
(6) 业务逻辑:上级平台根据业务处理该消息。
消息体定义
字段名
类型
描述
carInfo
Map
参考协议定义的key-value值
消息示例
{ "exchangeId":"1476395008", "messageId":"1000", "gatewayId":"elink-iov-exchange-server", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"1600" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"1601", "carInfo":{ "OWERS_NAME":"宝钢集团有限公司", "VEHICLE_NATIONALITY":"330108", "OWERS_TEL":"13516814499", "OWERS_ID":"382738", "VIN":"测A11111", "TRANS_TYPE":"030", "VEHICLE_COLOR":"2", "VEHICLE_TYPE":"40" } } }
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
}
3.68 补报车辆静态信息请求消息9601
消息概述
(1) 消息名称:补报车辆静态信息请求消息
(2) 链路类型:从链路
(3) 消息Id:0x9601
(4) 消息描述:上级平台向下级平台发送补报车辆静态信息请求消息
(5) 消息方向:上级平台->协议网关(中间件)->下级平台
(6) 业务逻辑:上级平台根据业务向下级平台发送该消息。
消息体定义
字段名
类型
描述
vehicleNo
String
车牌号
vehicleColor
int
车牌颜色
dataType
String
子业务类型标识
消息示例
{ "exchangeId":"6", "messageId":"9000", "message":{ "messageHeader":{ "gnssCenterId":5350518, "protocol":"jt809_2011", "protocolVersion":"2011", "messageId":"9600" }, "messageBody":{ "vehicleNo":"测A00001", "vehicleColor":1, "dataType":"9601" } }}
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
4.二次开发
4.1 二次开发准备
(1) 了解java基础,熟悉搭建java环境
(2) 熟悉kafka/RabbitMQ的使用,包括部署、开发、运维监控等
(3) 熟悉809协议消息的相关业务流程
4.2 接入流程概述
(1) 上级平台需管理下级平台鉴权信息,包括用户ID(userId,数据类型Long)、用户密码(password,数据类型:String,长度不超过8个字符)、下级平台接入码(平台唯一,gnssCenterId,数据类型:Long)以及加密参数m1、ia1、ic1(平台默认m1=10000000,ia1=20000000,ic1=30000000);
(2) 当下级平台需要接入上级平台时,需要把网关中间件所在服务器的公网IP地址、端口号以及以上信息发给下级平台,用于连接时鉴权使用;
(3) 当下级平台连接上级平台之后,首先发送0x1001消息给上级平台,上级平台经过鉴权校验之后,发送0x1002消息至中间件,下级平台方可正常发送数据。
(4) 上级平台监听相关的消息队列,根据业务需要处理相关消息。
(5) 上级平台需要往下级平台发送消息时,按照本文规定格式把消息发送到对应的队列中即可。
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
4.3 数据交换流程
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
4.4 下行消息流程
1、上级平台按照文档中定义的json格式封装好消息并把消息发送至消息中间件中对应的队列中;
2、上级平台可以定时查询消息的处理状态;
3、数据交换中间件监听队列获取消息,按照JT/T809协议规定的格式封装消息,并把消息下发给下级平台,最后应答上级平台“0001消息”(消息处理结果);
4、下级平台处理完成上级平台下发的消息后,应答上级平台对应的消息;
5、数据交换中间件接收到下级平台应答的消息,经过解码数据转换之后,把消息发布至消息中间件对应的队列中;
6、上级平台监听消息队列,根据自身的业务需求处理应答消息,如把对应的下发消息状态设置为“下级平台已应答”等。
4.5 消息处理demo
elink-iov-exchange-server-message-processor以责任链方式处理消息,详细逻辑在代码中有注释。
demo代码下载地址:
https://github.com/legaoyi/JT809
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
4.6 快速测试程序
为了快速完成测试,上级平台在部署RabbitMQ时,可开启web管理端,通过web管理端发送对应消息到相关队列中,即可与下级平台进行通讯,如下图所示:
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
4.7 应用程序部署
4.7.1依赖环境
操作系统:建议使用linux,centOS 7以上版本。
Java环境:建议安装jdk 1.8。
Rabbitmq:建议安装rabbitmq最新版本。
4.7.2应用程序
elink-iov-jt809-XXX-exchange-server,为java应用程序,运行在java环境上,依赖rabbitmq。
4.7.3程序授权
windowscentos再程序运行之前,首先需要收集服务器信息给我司的技术人员生成license授权文件才能启动程序(把我司提供的授权文件copyright放在应用程序conf目录下覆盖原有文件即可)。
4.7.4配置文件
接入网关配置文件application.properties,存放目录为应用程序根目录下的conf文件夹(该文件夹下所有的文件必须,不能删除)。其中application.properties文件修改rabbitmq配置以下两项配置(红色部分),其他的默认配置即可:
#协议所使用的TCP端口
#JT/T809_2011版本协议连接该端口
elink.jt809_2011.server.port=6045
#JT/T809_2019版本协议连接该端口
elink.jt809_2019.server.port=6046
#rabbitmq配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=123456
#是否开启rabbitmq消息持久化特性,开启该特性会减低性能,可提高消息可靠性,平台各个服
务配置请保持一致
rabbitmq.message.durable=true
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
#上行消息网关
rabbitmq.upstream.message.exchange=elink.upstream.message.direct.exchange
#下行消息网关,平台发送消息时,把终端连接的网关id作为路由key,把消息发送到该消息网关即可
rabbitmq.downstream.message.exchange=elink.downstream.message.direct.exchange
注意其中配置“elink.*.server.port”,为下级平台主链路连接的tcp端口,注意操作系统配置防火墙开放该端口。
4.7.5配置接入平台信息
接入平台信息配置文件inferior-platforms.xml,存放目录为应用程序根目录下的conf文件夹。使用网关中间件管理下级平台接入信息时,需要配置该配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<platforms>
<platform>
<!-- 下级平台通讯协议,固定值 -->
<protocol>jt809_2019</protocol>
<!-- 下级平台通讯协议版本,固定值 -->
<protocolVersion>2019</protocolVersion>
<!-- 下级平台名称 -->
<gnssCenterName>下级平台名称1</gnssCenterName>
<!-- 下级平台接入码(下级平台接入时需提供给下级平台),必须保证平台唯一 ,数据类型:Long-->
<gnssCenterId>9616320</gnssCenterId>
<!--是否使用下级平台从链路,视下级平台情况决定-->
<subordinateLinkEnable>true</subordinateLinkEnable>
<!--下级平台从链路ip(需要下级平台提供),非必填,非空时下级平台登录时校
ip地址 -->
<ip></ip>
<!--下级平台从链路端口(需要下级平台提供),非必填,数据类型:Integer,非空时下级平台登录时校验端口-->
<port></port>
<!-- 下级平台登录账号(下级平台接入时需提供给下级平台) ,数据类型:Long-->
<userId>9000630</userId>
<!-- 下级平台登录密码(下级平台接入时需提供给下级平台) ,数据类型:string,最大长度不超过8个字符-->
<password>12345678</password>
<!--下级平台加密参数m1(下级平台接入时需提供给下级平台),数据类型:Long-->
<m1>60000000</m1>
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
<!--下级平台加密参数ia1(下级平台接入时需提供给下级平台),数据类型:Long-->
<ia1>70000000</ia1>
<!--下级平台加密参数ic1(下级平台接入时需提供给下级平台),数据类型:Long-->
<ic1>80000000</ic1>
<!--下级平台接入验证码,数据类型:Integer -->
<verifyCode>888</verifyCode>
</platform>
<platform>
<protocol>jt809_2019</protocol>
<protocolVersion>2019</protocolVersion>
<gnssCenterName>下级平台名称2</gnssCenterName>
<gnssCenterId>9616321</gnssCenterId>
<subordinateLinkEnable>true</subordinateLinkEnable>
<ip></ip>
<port></port>
<userId>9000631</userId>
<password>12345678</password>
<m1>60000000</m1>
<ia1>70000000</ia1>
<ic1>80000000</ic1>
<verifyCode>888</verifyCode>
</platform>
</platforms>
4.7.6程序运行
把elink-iov-jt809-XXX-exchange-server应用程序复制到安装有java环境的操作系统中即可,应用程序的启动脚本文件放在应用程序根目录下的bin文件夹中。注意启动应用程序前需检查端口是否已被其他应用程序占用(linux下执行命令:netstat -ano|grep 6045)。
windows操作系统
方式一双击 bin/startup.bat执行文件启动应用程序,以该方式启动,命令窗口关闭之后,程序也将停止,不建议以该方式启动。
方式二:以后台服务形式运行,操作步骤
1、双击bin/installAppService.bat执行文件把应用程序注册成为win后台服务。注册成功之后,会在win服务列表中有一个名字为elink-iov-jt809-XXX-exchange-server”的服务,该服务为开机自动启动;
2、可以在命令窗口中使用命令或者在服务列表中手动启动或者停止。命令方式:
启动程序:net start elink-iov-jt809-XXX-exchange-server
停止程序:net stop elink-iov-jt809-XXX-exchange-server
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
3、双击bin/uninstallAppService.bat执行文件,则卸载elink-iov-jt809-XXX-exchange-server已经注册的win后台服务。程序卸载时可双击该执行文件。
linux操作系统
bin/startup.sh为linux下启动脚本(需要赋予该文件执行权限: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 6045
b、查看程序是否启动linux命令ps -aux | grep elink-iov-jt809-XXX-exchange-server;
c、若需要重启接入网关应用,在停止程序之后,需要查看程序所监听端口(如:netstat -ano|grep 6045,一般等待一两分钟就能完全释放,取决于操作系统的socket timeout配置)是否完全释放在重新启动应用,否则程序启动会报错。
4.7.7日志管理
logback-spring.xml平台默认级别为“info”。当平台已经进入稳定运行阶段,接入的车辆数量比较大时,为了减少打印日志对系统的性能影响,建议把日志级别调整为“error”级别。见以下标红部分
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志级别 -->
<property name="log.level" value="INFO"/>
<logger name="com.legaoyi.iov.exchange.server.mq" level="INFO" additivity="false">
<appender-ref ref="mqAppender" />
<appender-ref ref="errorAppender" />
</logger>
乐高易软件乐高易车联网数据交换中间件技术支持:78772895QQ
<!-- 平台上行消息日志 -->
<logger name="com.legaoyi.iov.exchange.server.LoggerChannelInboudHandler" level="INFO" additivity="false">
<appender-ref ref="inboundAppender" />
<appender-ref ref="errorAppender" />
</logger>
<!-- 平台下行消息日志 -->
<logger name="com.legaoyi.iov.exchange.server.LoggerChannelOutboudHandler" level="INFO" additivity="false">
<appender-ref ref="outboundAppender" />
<appender-ref ref="errorAppender" />
</logger>
</configuration>
elink-iov-jt809-XXX-exchange-server.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志主要存放了链路管理的相关消息以及中间件程序运行异常日志。中:
“info” 级别:一般为未解码或者已编码的消息。
“warn” 级别:一般为链路管理的消息,如下级平台建立tcp连接,黑名单信息等。
“error”级别:中间件异常日志。
downstream-message.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“warn”。该日志存放了中间件发送到MQ以及上级平台发送给下级平台的消息日志。
inbound.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志存放了下级平台发送给上级平台的原始消息。
outbound.log
日志文件放在应用程序根目录下的logs文件夹中,默认保留最近7天的日志,默认日志级别为“info”。该日志存放了上级平台发送给下级平台的原始消息。