zoukankan      html  css  js  c++  java
  • 网关报文测试

    网关下行控制地址: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








     
     
     
     
  • 相关阅读:
    编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。
    编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
    编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。
    事物 视图 与索引
    大家跟我一起涨知识(高级查询与分页)
    涨知识Style
    数据库打印图形
    SQL 编程
    新闻发布系统
    数据库分页储存
  • 原文地址:https://www.cnblogs.com/snowwhitecityofsky/p/9173826.html
Copyright © 2011-2022 走看看