网关下行控制地址:http://118.190.139.83:19084/kajiagw/carinfo/${sim}/zkcontrol
终端号首位字母做区分 221终端号N或者C开头,普通重卡是J、D、M、A开头
设备注册的时候预留一个字段 用以区分协议类型 默认的按照终端首字母区分 如果遇到需要变更协议类型的可以手动干预
部标2013(标准版) 重卡协议
部标2013(加固版) N211协议
queryVehicleInfoFroAuth:可以查看设备是否向网关发送鉴权请求
needResend
HexadecimalConvertsUtil.strToHex(resend)
查离线下发指令,设备上电后有无重发
8f40000a018274146796000e020115f400000e00000035
注册:
7E0100002C01827416569700050000000037303530355347323030302D52303147284A482900000000004A303837373238024A303837373238917E
车牌号更改时,设备重新注册:7E0100002D01827412775300800000000037303530355347323030302D52303147284A482900000000004A31333936373302CDEE4D3335323231367E
鉴权:
7E010200000182741323680006A57E
原始报文分辨
注册:7E0100 注册应答的报文:8100
激活锁车:7E0F40
故障码:7E0F06
鉴权:0200
发送数据给网关,如何判断网关收到数据
看gw日志中,有没有返回vim数据,set MSASTER入redis数据库
网关像kafka发送数据成功标志:
网关注意点:
N221的can数据设备端是加密透传,网关解析遵循大端解析(举例:(0x) 40 1F=8000)
普通重卡的can数据设备转置不加密上报,网关解析遵循小端解析(举例:(0x) 40 1F=16415)
两个注意点:
1、部标要求除首位标识位:7e用7d02 置换
2、 协议要求can数据上报的时候can id的bit30位用1填充了
关于can 数据截取:id为E1的后面的长度是2字节(不是文档里的1个字节,除了E1其他都是1个字节)
网关数据解析
TCP信息采集上报(can数据)
4C FE 6C EE -----0CFE6CEE 【4CFE6CEE 0000000000000064】
00 00 00 00 00 00
00 64 -----里程表车速(100)100*256---25600---H6400
58 FE E0 17 -----18FEE017 【58FEE017 0000000008831000】
00 00 00 00
08 83 10 00 -----总里程(135265)
58 FF 3D 17 -----18FF3D17 【58FF3D17 8E30000000000000】
03 E8 -----燃油信号:当前油量(12430L)----E803
00 00 00 00 00 00
4C F0 04 00 -----0CF00400 【4CF00400 000000401F000000】
00
00 -----驾驶员指令百分比扭矩(90%):01011010(5a)
00 -----发动机实际扭矩百分比(80%):01010000(50)
40 1F -----发动机转速:0001111101000000(1F40)--8000转
00
00
00
4C F0 03 00 -----0CF00300 【4CF00300 04E1500000000000】
00 -----00 00 00 -----踏板开关(0:关,1:开,2:错误,3:不可获得)--01--00000100----04
00
E1 -----踏板位置(90%)90%0.4----225----E1
50 -----当前转速下负荷百分比(80%)-----H50
00 00 00 00 00
58 FE E5 00 -----18FEE500 【58FEE500 0001020304050607】
00 01 02 03 -----总的发动机工作时间
04 05 06 07
58 FE EE 00 -----18FEEE00 【58FEEE00 D900000000000000】
D9 -----发动机冷却液温度(-40)
00 00 00 00 00 00 00
58 FE EF 00 -----18FEEF00 【58FEEF00 0000007D0000007D】
00 00 00
7D -----机油压力(500kpa)500%4----125----7D
00 00 00
7D -----冷却液液位(50%)50%0.4----125----7D
58 FE FF 00 -----18FEFF00 【58FEFF00 0100000000000000】
00 -----燃料中含水量指示(0;no,1:yes,2:error,3:not available)
00 00 00 00 00 00 00
58 FE F1 00 -----18FEF100 【58fef100 0000000500000000】
00 00 00
05(00 00
----00 ----刹车开关状态(0:released;1:depressed,2:error:3:not available) 01
00 ----离合开关状态(0:released;1:depressed,2:error:3:not available) 01 ) -----01010000----50
00 00 00 00
58 FE 56 00 -----18FE5600 【58FE5600 1122334455667788】
11 -----催化剂罐液位:17*0.4---6.8
22 33 44 55 66 77 88
58FEE900 -----18FE900 【58FEE900 40420F0000286BEE】
40420F00
00286BEE -----燃油消耗量 (4000000000L) EE6B2800
4CFE6CEE 0000000000000064
58FEE017 0000000008831000
58FF3D17 8E30000000000000
4CF00400 000000401F000000
4CF00300 04E1500000000000
58FEE500 0001020304050607
58FEEE00 D900000000000000
58FEEF00 7D00007D0000007D
58FEFF00 0100000000000000
58FEF100 0000000500000000
58FE5600 1122334455667788
58FEE900 40420F0000286BEE
58FD9B00 00FA000000000000
带有所有信息上报数据:(加密的数据7E-----7D02)
7E020000CC0182741467961A4D08000002000C001301E5A64F06FC241300A1000000CF170829085800010400000000030200002504000000002B04078609F4300118310116E1000Caabfa9c520000000000008035ca5ee9008000020040824068addca5b0ad10000000000802039c000000002101a1000285062004a01424081000008000bfdc300000200a0801486a32c7D02ed300610000000000002946fdb10002000351000088f72bc7fa40000000000020004285f5a0100000280000000201bb3b00412087a04be29ef44297de88c000c88408021c7dc06C17E
(211)多包故障:
7E0F0600190182741467967D01830001170831110000BAF18D808A08A1FD11311413E18D092003097E
(211)单包故障:
7E02000048018274146796328B00000001000C001301E5A7E706FC25D5004900000031170831093632010400000000030200002504000000002B04078409F2300118310110E100013AE99DA4810208808112068605497E
(重卡)单包故障码
7E02000066018274127753015C08000000000C001301E5A84906FC27310043000000A717090516543201040000000503020000E10800000000000000002504000000002B04100E000030011F310110F4020000740E010018FECA0040FF08110301FFFFEF080000000000000000830401081103017E
(重卡)多包故障码
7E02000081018274127753018308000000000C001301E5A87606FC26E8003F0000006517090517153201040000000503020000E10800000000000000002504000000002B041016000030011F310111F4020000740E010018EBFF000140015FF0EBD712EF080000000000000000831F0A5FF0EB12FBE1CF1216BC01031B0000F20A0C4CF7FFA20B036E00132BF7F11E7E
(重卡)can数据
7E02000060018274127753002F08000000000C001301E5A84E06FC272B00460000015217090514223201040000000503020000E10800000000000000002504000000002B04100B000030011E31010FF4020000740E01000CF00400407D018A15E4000000EF0800000000000000005C7E
engineTroubleLamp 否 int 发动机故障指示灯 0异常 1正常 el
stopLamp 否 int STOP指示灯 0异常 1正常 sl
milLamp 否 int MIL灯(排放) 0异常 1正常 ml
preHotLamp 否 int 预热指示灯 0异常 1正常 pl
oilWaterSeparationLamp 否 int 油水分离指示灯 0异常 1正常 ol
scrLamp 否 int SCR指示灯(后处理) 0异常 1正常 scrl
电子栅栏(区域设置成功后不生效问题回复:终端现在还只支持实际的时间,不支持周期时间判断区域报警)
圆形区域请求报文:
{
"cmd": "carinfo/setEfence",
"token": "",
"version": "1",
"params": {
"areaOperType": "1",
"areaId": "00000001",
"efenceAlarmType": "3",
"isEveryDay": "1",
"efenceStartTime": "",
"efenceEndTime": "",
"efenceStartDate": "",
"efenceEndDate": "",
"maxSpeed": "",
"maxSpeedContinuedSecond": "",
"sims": "18274146796",
"areaType": "2",
"startPosLong": "118.937421",
"startPosLat":"31.8234244291",
"endPosLong":"",
"endPosLat":"",
"circlRadius":"500",
"posList":""
}
}
区域报警成功,inoutAreaAlarmContext后两位为00:进入报警;01:出区域报警
电子栅栏删除
{
"cmd": "carinfo/deleteEfence",
"token": "",
"version": "1",
"params": {
"areaIds": "00000001",
"sims": "18274146796",
"areaType": "2",
}
}
can数据字段
"throttleAngle": "0", 油门开度
"linePressure": "0.0", 管路油压(最大油压、最小油压)
"catalystConsumption": "0", 尿素消耗量,消耗异常报警。
“catalystConcentration": "0", 尿素浓度
"coolTemperature": "0", 冷却液温度
offset:-125%表示偏移量,factor是Scale:1%/bit
dse:如果是新设备或redis中没有绑定关系,查询vehicle_info表,根据vin查询vehilce_id和device_id
然后把这个绑定关系写入redis中
select * FROM study_base.vehicle_info where vin='A888888';
select * from kajia_position.device_position_his1709 where bind_obj_id='V0288f405dba7ece015dbff9a8a70001';
select * from kajia_position.device_position_his1709 where DEVICE_ID='J146796' order by pos_time desc;
select * FROM study_base.vehicle_info where vehicle_id='Va9fb24e5de49e79015de49e79360000';
dse处理故障码:当前故障码里的故障码超过90秒,dse认为这个故障码已经消失
重卡单包故障灯问题:发动机故障指示灯:18FECA00的Byte1/bit1-2;18EBFF00的Pack 1 Byte1/bit1-2。二者任一为亮,结果为亮。…
激活指令下发成功,设备也返回成功,但是平台未成功
1.查看网关:网关收到两条设备返回的消息02和00,
2.查看dse:收到两条消息
3.查看dse发给saas有没有收到
4.如果saas未收到,查看dse配置的saas地址是否正确
文本信息下发:
{
"cmd": "carinfo/18274087825/zkcontrol",
"operType": "setTextMessage",
"showType": "3",
"text": "%u54C7%u54C8%u54C8%u54C8%u54C8%u54C8"
}
无can 数据位置信息解析导致的bug(有E10000解析为0,无E10000解析为空)
7E02000032018274127753002400000000000C000301E5A85206FC263B004A000000A117091209065501040000000C2504000000002A02000030011E31010CC47E
网关判断设备不在线条件:1.设备5分钟不上报任何数据;2.设备主动断开连接
sessionIdle
离线缓存下发:
1.设备不在线,平台在线,平台向设备下发指令,30s网关收不到设备返回的应答,则判定设备不在线,将下发的指令缓存下发
2.设备不在线,平台不在线,平台向设备下发指令,网关缓存下发
普通重卡设备协议(标准版)更新一处地方:
关于整车里程数据,不同发动机给出的can ID中,PGN地址均为FEE0,但是优先级和节点地址不同。
请平台侧对整车里程解析是注意判断一下两个ID是否都没有,只要有一个存在,按照下面的公式解析填充(ID同时只有一个,不是A就是B,不共存,或的关系”,平台端注意下)。
0x18FEE000 (目前平台侧只对这个canID解析了)
0x18FEE017