You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 KiB

@36node/protocol-32960 文档

支援

  • 32960 国标协议 GB/T 32960.3-2016
  • 上海巴士扩展协议 v1.4

概述

目前这个项目是一个 32960 的解析库,完全兼容《GB-T 32960 国标》,即《GB/T 32960.3 电动汽车远程服务与管理系统技术规范:通讯协议及数据格式》是用于新能源车辆远程服务平台间通讯的指导标准,可应用于车载通讯模块与远程服务平台间的通讯。

本项目目前支持 32960 的解析,校验以及日志输出。

基本数据包

首先我们来看一下整个 32960 包的二进制组成。 一个完整的数据包应由起始符、命令单元(命令标志、应答标志)、识别码、数据加密方式、数据单元长度、数据单元和校验码组成,数据包结构和定义如下表所示。

起始字节 定义 数据类型 描述及要求 备注
0 起始符 STRING 固定为 ASCII 字符‘##’,用“0x23 0x23”表示。
2 命令单元(命令标识) BYTE 命令表示定义见 3.1
3 命令单元(应答标志) BYTE 应答标志定义见 3.2
4 唯一标识码 STRING 当传输车辆数据时,应使用车辆 VIN,其字码应符合 GB16735 的规定,如传输其他数据,则使用唯一自定义编码
21 数据单元加密方式 BYTE 0x01:数据不加密;0x02:数据经过 RSA 算法加密;0x03:数据经过 AES128 位算法加密;“0xFE”表示异 常,“0xFF”表示无效,其他预留。
22 数据单位长度 WORD 数据单元长度是数据单元的总字节数,有效值范围:0 ~ 65531。
24 数据单元 - 数据单元格式和定义所在文件见下表
倒数第一位 校验码 BYTE 采用 BCC(异或校验)法,校验范围从命令单元的第一个字节开始,同后一字结异或,直到校验码前一字节  为止,校验码占用一个字节,当数据单元存在加密时,应先加密后校验,先校验后解密

二进制数据类型说明

在 32960 协议中所有出现的二进制数据格式的描述如下:

数据类型 描述及要求
BYTE 无符号单字节整型(字节,8 位)
WORD 无符号单字节整型(字节,16 位)
DWORD 无符号单字节整型(字节,32 位)
BYTE[n] n 字节
STRING ASCII 字符码,若无数据则放一个 0 终结符,编码表示参见 GB/T 1988 所述含汉字时,采用区位码编码,占用 2 个字节,编码表示参见 GB 18030 所述。

原始数据包结构图例

对二进制格式按照基本数据包格式进行数据划分:

原始包数据结构


命令标志

编码 定义 方向
Ox01 车辆登入 上行
Ox02 实时信息上报 上行
Ox03 补发信息上报 上行
Ox04 车辆登出 上行
Ox05 平台登入 上行
Ox06 平台登出 上行
Ox07 心跳 上行
Ox08 终端校时 上行
Ox09 ~ Ox7F 上行数据系统预留 上行
Ox80 查询命令 上行
Ox81 设置命令 上行
Ox82 车载终端控制命令 下行
Ox83 ~ OxBF 下行数据系统预留 下行
OxCO ~ OxFE 平台交换自定义数据 自定义

应答标志

编码 定义 说明
Ox01 成功 接收到信息正确
Ox02 错误 设置未成功
Ox03 VIN 重复 VIN 重复错误
OxFE 命令 表示数据包为命令包,而非应答包

时间定义

数据表示内容 长度(字节) 数据类型 有效值范围
1 BYTE 0 ~ 99
1 BYTE 0 ~ 12
1 BYTE 0 ~ 31
小时 1 BYTE 0 ~ 24
分钟 1 BYTE 0 ~ 59
1 BYTE 0 ~ 59

数据单元

数据单元是二进制数据中的主要承载实际上传数据的部分,由于格式比较复杂,根据不同的命令标志进行解析。每一个解析部分,都分为四部分:

  1. 二进制样例
  2. 二进制格式说明
  3. 解析结果样例
  4. 解析结果说明

其中解析结果整体格式是一致的:

{
  command: string, // 命令标志 详见每一节
  flag: "COMMAND", // 应答标志
  vin: "LZYTBGBW6J1014194", // 车辆vin码
  encrypt: "NONE",  // 是否加密
  length: 30,
  body: {
    at: "2018-10-30T12:35:54.000Z", // 数据采集时间
    sn: 253,
    iccid: "89860402101700179779",
    subSysNm: 1,
    subSysNmLen: 0,
    subSysSn: [],
  },
}

// 命令标志
{
  VEHICLE_LOGIN: "VEHICLE_LOGIN", // 车辆登入 0x01
  REALTIME_REPORT: "REALTIME_REPORT", // 实时信息上报 0x02
  REISSUE_REPORT: "REISSUE_REPORT", // 补发信息上报 0x03
  VEHICLE_LOGOUT: "VEHICLE_LOGOUT", // 车辆登出 0x04
  PLATFORM_LOGIN: "PLATFORM_LOGIN", // 平台登入0x05
  PLATFORM_LOGOUT: "PLATFORM_LOGOUT", // 平台登出0x06
  HEARTBEAT: "HEARTBEAT", // 心跳 0x07
  TIME: "TIME", // 车辆校时 0x08
};

// 应答标志
{
  SUCCESS: "SUCCESS", // 成功
  FAIL: "FAIL", // 错误
  VIN_DUP: "VIN_DUP", // vin 重复
  COMMAND: "COMMAND", // 命令
};

// 加密标志
{
  NONE: "NONE", // 未加密
  RSA: "RSA",
  AES128: "AES128",
};

车辆登录

车辆登录二进制样例

232301fe4c5a595442474257364a3130313431393401001e120a1e14233600fd383938363034303231303137303031373937373901005c

车辆登录二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
数据采集时间 6 BYET[6] 见时间定义表
登入流水号 2 WORD 车载终端每登入一次登入流水号自动加 1,从 1 开始循环累加,最大值 65531,循环周期为天
ICCID 20 STRING SIM 卡 ICCID 号(ICCID 应为终端从 SIM 卡获取的值,不应该人为填写或修改)
可充电储能子系统数 1 BYTE 可充电储能子系统数 n,有效值范围:0~250
可充电储能系统编码长度 1 BYTE 可充电储能系统编码长度 m,有效值范围:0~50,“0”表示不上传该编码
可充电储能系统编码 n*m STRING 可充电储能系统编码宜为终端从车辆获取的值

车辆登录解析结果样例

{
  command: "VEHICLE_LOGIN",
  flag: "COMMAND",
  vin: "LZYTBGBW6J1014194", // 车辆vin码
  encrypt: "NONE",
  length: 30,
  body: {
    at: "2018-10-30T12:35:54.000Z", // 数据上报时间
    sn: 253,
    iccid: "89860402101700179779",
    subSysNm: 1,
    subSysNmLen: 0,
    subSysSn: [],
  },
}

车辆登录解析结果说明

request body 格式说明:

字段 数据内容 类型 数据说明
at 数据采集时间 date iso 格式
sn 登入流水号 integer 车载终端每登入一次登入流水号自动加 1,从 1 开始循环累加,最大值 65531,循环周期为天
iccid ICCID string SIM 卡 ICCID 号(ICCID 应为终端从 SIM 卡获取的值,不应该人为填写或修改)
subSysNm 可充电储能子系统数 integer 可充电储能子系统数 n,有效值范围:0~250
subSysNmLen 可充电储能系统编码长度 integer 可充电储能系统编码长度 m,有效值范围:0~50,“0”表示不上传该编码
subSysSn 可充电储能系统编码 [string] 可充电储能系统编码宜为终端从车辆获取的值

实时上报和补发信息

车辆实际数据信息都是通过实时上报和补发信息两个途径上传。

二进制样例

232302fe4c5a59544147425732453130353434393101007f120a1e142400010103010000001b390b164925da39023e41b6000102010104284e204e2028000027100500073d270801dcda6a06013f0cbf015b0cb2010246014e400700000000000000000080003000000003e803e8ffffffffffffffffffffffffffff1649feca00000000000000000000ffff00000000ff280028282802c7

二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
数据采集时间 6 BYTE[6] 时间定义表
信息类型标志(1) 1 BYTE 信息类型标志类型
信息体(1) - BYTE 根据信息类型不同,长度和数据类型不同
...... - - ......
信息类型标志(n) 1 BYTE
信息体(n) - -

解析结果样例

{
  command: "REALTIME_REPORT",
  flag: "COMMAND",
  vin: "LZYTAGBW2E1054491",
  encrypt: "NONE",
  length: 127,
  body: {
    at: "2018-10-30T12:36:00.000Z",
    vehicle: {
        type: "VEHICLE",
        status: "ON",
        chargeStatus: "UNCHARGED",
        mode: "ELECTRIC",
        speed: 0,
        mileage: 178407.5,
        voltage: 570.5,
        current: -31,
        soc: 0.57,
        dcStatus: "OFF",
        shift: "D",
        resistance: 16822,
        aptv: 0,
        brake: 0.01,
      },
    motor: {
        type: "MOTOR",
        count: 1,
        motors: [
          {
            no: 1,
            status: "READY",
            controlTemp: 0,
            speed: 0,
            torque: 0,
            temp: 0,
            voltage: 0,
            current: 0,
          },
        ],
      },
      location: { type: "LOCATION", state: 0, lng: 121.4482, lat: 31.25105 },
      extreme: {
        type: "EXTREME",
        maxVoltageSubSysNo: 1,
        maxVoltageSingNo: 63,
        maxVoltage: 3.263,
        minVoltageSubSysNo: 1,
        minVoltageSingNo: 91,
        minVoltage: 3.25,
        maxNtcSubSysNo: 1,
        maxNtcNo: 2,
        maxNtc: 30,
        minNtcSubSysNo: 1,
        minNtcNo: 78,
        minNtc: 24,
      },
      alarm: {
        type: "ALARM",
        maxLevel: 0,
        uas: {
          ressChargeOver: 0,
          motorTemp: 0,
          highVolMuteStatus: 0,
          motorControlTemp: 0,
          dcdcStatus: 0,
          brake: 0,
          dcdcTemp: 0,
          insulation: 0,
          batteryBadConsistency: 0,
          ressNotMatch: 0,
          socJump: 0,
          socOver: 0,
          batteryLow: 0,
          batteryOver: 0,
          socLow: 0,
          ressVolLow: 0,
          ressVolOver: 0,
          batteryTempOver: 0,
          tempDiff: 0,
        },
        ressLen: 0,
        ressList: [],
        mortorLen: 0,
        mortorList: [],
        engineLen: 0,
        engineList: [],
        otherLen: 0,
        otherList: [],
      },
      customExt: {
        type: "CUSTOM_EXT",
        dataLen: 48,
        pressure1: 0,
        pressure2: 0,
        batteryVoltage: 0,
        dcov: -900,
        dcoc: -900,
        cv: 570.5,
        rc: 5522.6,
        cp: 0,
        totalCharge: 0,
        totalDischarge: 0,
        bpiRes: 0,
        bniRes: 0,
        motorContTemp: 0,
        airMode: "OFF",
        airTemp: 0,
        insideTemp: 0,
        outsideTemp: 0,
        middleDoorStatus: "CLOSE",
        frontDoorStatus: "CLOSE",
        handbrakeStatus: "OFF",
        keyPosition: "ON",
      },
    ],
  },
}

解析结果说明

具体解析结果查看信息体部分


车辆登出

车辆登出二进制样例

232304fe4c53464430333230344a43303031353935010008120a1e1424110014e9

车辆登出二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
登出时间 6 BYTE[6] 时间定义表
登出流水号 2 WORD 登出流水号和当前登入流水号一致

车辆登出解析结果样例

{
  command: "VEHICLE_LOGOUT",
  flag: "COMMAND",
  vin: "LSFD03204JC001595",
  encrypt: "NONE",
  length: 8,
  body: { at: "2018-10-30T12:36:17.000Z", sn: 20 },
}

车辆登出解析结果说明

字段 数据内容 类型 数据说明
at 登出时间 date ios 格式
sn 登出流水号 integer 登出流水号和当前登入流水号一致

平台登入

平台登入二进制样例

120A07150D2900027975746F6E67000000000000313231000000000000000000000000000000000001

平台登入二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
平台登入时间 6 BYTE[6] 时间定义表
登入流水号 2 WORD 下级平台每登入一次,登入流水号自动加 1,从 1 开始循环累加,最大值为 65531,循环周期为一天
平台用户名 12 STRING 平台登入用户名
平台  密码 20 STRING 平台登入密码
加密规则 1 BYTE 0x01:数据不加密;0x02:数据经过 RSA 加密;0x03:数据经过 AES128 加密;0xFE 表示异常,0xFF 表示无效其他预留

平台登入解析结果样例

{
  command: "PLATFORM_LOGIN",
  flag: "COMMAND",
  vin: "LSFD03204JC001595",
  encrypt: "NONE",
  length: 8,
  body: {
    at: "2018-10-07T13:13:41.000Z",
    sn: 2,
    username: "yutong",
    password: "ssssss",
    encrypt: "NONE",
  },
}

平台登入解析结果说明

字段 数据内容 类型 数据说明
at 登出时间 date ios 格式
sn 登出流水号 integer 登出流水号和当前登入流水号一致
username 平台方 string 密码输出隐藏

平台登出

平台登出二进制样例

232306FE4C5A595441474257394A313030343136340100081206161015150046E8

平台登出二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
登出时间 6 BYTE[6] 时间定义表
登出流水号 2 WORD 登出流水号和当前登入流水号一致

平台登出解析结果样例

{
  body: { at: "2018-06-22T08:21:21.000Z", sn: 70 },
  command: "PLATFORM_LOGOUT",
  encrypt: "NONE",
  flag: "COMMAND",
  length: 8,
  vin: "LZYTAGBW9J1004164",
}

平台登出解析结果说明

字段 数据内容 类型 说明
at 登出时间 date ISO string
sn 登出流水号 integer 登出流水号和当前登入流水号一致

心跳

心跳二进制样例

232307FE4838323230363530303030303030303030010000BB

心跳就是一个没有数据 body 的包。

心跳解析结果样例

{
  command: "HEARTBEAT",
  flag: "COMMAND",
  vin: "LZYTBGCW5J1035715", // 车辆vin 码
  encrypt: "NONE",
  length: 0,
}

信息体

实时信息上报和补发信息上报中的数据主要在信息体中。信息体又分为很多种类。

// 信息体 { vehicle: “VEHICLE”, // 整车数据 motor: “MOTOR”, // 电机数据 fuelcell: “FUELCELL”, // 燃料电池数据 engine: “ENGINE”, // 发动机数据 location: “LOCATION”, // 位置数据 extreme: “EXTREME”, // 极值数据 alarm: “ALARM”, // 报警数据 ressVoltage: “RESS_VOLTAGE”, // 可充电储能装置电压数据 ressTemperature: “RESS_TEMPERATURE”, // 可充电储能装置温度数据 customExt: “CUSTOM_EXT”, // 上海巴士自定义扩展数据 tenSeconds: “TEN_SECONDS”, // 十秒上传数据 adas: “ADAS”, // ADAS 数据 };

信息体的数据位于 request.body 中,信息体部分的数据样例只展示信息体本身部分。省略 request.body 的其它部分。 一个 32960 包里不管是实时信息上报还是补发信息上报,都有可能包含 1 个或者多个信息体。 32960 协议并没有对哪些数据走补发有所规定,但是本解析其中的 ADASTEN_SECONDS 一定会走补发。它们是上海巴士v1.4协议中规定的累积10s数据。

特殊格式说明:

  1. NAN代表这个数值异常
  2. 如果某个值不存在代表 这个值无效或者终端未上传
  3. 每个 string enum 类型,都有个"ABNORMAL"的值,代表数据异常

整车数据

0x01 VEHICLE

整车数据二进制样例

# 只包含整车数据部分
0103010032000013881b58000032013e01d21465

整车数据二进制格式说明

数据表示内容 长度/字节 类型 描述及要求
车辆状态 1 BYTE 0X01:车辆启动宅;0x02:熄火,0x03:其他状态;0xFE:表示异常,0xFF:表示无效;取仪表外发的此数据,充电时仪表也要外发此数据
充电状态 1 BYTE 0X01:停车充电,0x02:行驶充电,0x03:未充电状态;0x04:充电完成;0xFE:表示异常,0xFF:表示无效;
运行模式 1 BYTE 0X01:纯电;0x02:混动,0x03:燃油;0xFE:表示异常,0xFF:表示无效;
车速 2 WORD 有效值范围:0 ~ 2200(表示 0km/h ~ 220km/h),最小计量单位: 0.1km/h,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
累计里程 4 DWORD 有效值范围: 0 ~ 9999999(表示 0km ~ 999999.9km),最小计量单位 0.1km,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;取仪表外发的此数据,充电时仪表也要外发此数据
总电压 2 WORD 有效值范围:0 ~ 10000(表示 0V ~ 1000V),最小计量单位: 0.1V,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
总电流 2 WORD 有效值范围:0 ~ 20000(偏移量 1000A,表示-1000A ~ +1000A),最小计量单位: 0.1A,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
SOC 1 BYTE 有效值范围:0 ~ 100(表示 0% ~ 100%),最小计量单位: 1%,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
DC-DC 状态 1 BYTE 0X01:工作,0x02:断开;0xFE:表示异常,0xFF:表示无效;
档位 1 BYTE 档位定义
绝缘电阻 2 WORD 有效值范围:0 ~ 60000(表示 0kΩ ~ 100kΩ),最小计量单位: 1kΩ
加速踏板行程值 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元:1%,“0xFE”表示异常,“0xFF”表示无效。
制动踏板状态 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元: 1%,“0”表示制动关的状态。 在无具体行程值情况下 “0x65”即“101”表示制动有效状态,“0xFE”表示异常, “0xFF”表示无效。

档位状态为定义

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
预留,预留为用 0 表示 预留,预留为用 0 表示 1:有驱动力,0:无驱动力 1:有制动力;0:无制动力 档位: 0000: 空挡;0001:1 挡;0010:2 挡;0011: 3 挡;0100:4 挡;0101:5 挡;0110:6 挡;1101:......倒挡;1110: 自动 D 挡;1111:停车倒挡

整车解析结果样例

{
  type: "VEHICLE",
  status: "ON",
  chargeStatus: "UNCHARGED",
  mode: "ELECTRIC",
  speed: 0,
  mileage: 178407.5,
  voltage: 570.5,
  current: -31,
  soc: 0.57,
  dcStatus: "OFF",
  shift: "D",
  resistance: 16822,
  aptv: 0,
  brake: 0.01,
}

整车解析结果说明

字段 数据内容 类型 说明
status 车辆状态 string enum “ON”: 启动, “OFF”: 熄火, “OTHER”: 其他
chargeStatus 充电状态 string enum “PARK_CHARGING”: 停车充电, “MOVE_CHARGING”: 行驶充电, “UNCHARGED”: 未充电状态, “COMPETE”: 充电完成
mode 运行模式 string enum “ELECTRIC”: 电动, “MIXED”: 混动, “FUEL”: 燃油
speed 车速 float 0 ~ 220 0.1km/h
mileage 累计里程 float 0 ~ 999999.9 0.1km
voltage 总电压 float 0 ~ 1000 0.1V
current 总电流 float -1000 ~ 1000 0.1A
soc SOC float 0 ~ 1 0.01
dcStatus DC-OC 状态 string enum “ON”:工作, “OFF”: 断开
shift 档位 enum 见下面车辆档位注释
resistance 绝缘电阻 integer 0 ~ 60000 1kΩ
aptv 加速踏板行程值 float 0 ~ 1 0.01
brake 制动踏板状态 float 0 ~ 1 0.01

// 车辆档位
[
  "N", // 空挡
  "1",
  "2",
  "3",
  "4",
  "5",
  "6",
  "7",
  "8",
  "9",
  "10",
  "11",
  "12",
  "R", // 倒挡
  "D", // 自动
  "P", // 驻车
];

驱动电机数据

驱动电机二进制样例

# 仅包含驱动电机二进制数据
0202014B639C3A346D187C271001014B639C3A346D187C2710

驱动电机二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
驱动电机个数 1 BYTE 有效值 1 ~ 253
驱动电机总成信息列表 每个驱动电机总成信息长度之和 - 按驱动电机序号依次排列,每个驱动电机数据格式和定义见下表

每个驱动电机数据格式和定义

数据表示内容 长度/字节 数据类型 描述及要求
驱动电机序号 1 BYTE 驱动电机顺序号,有效值 1 ~ 253
驱动电机状态 每个驱动电机总成信息长度之和 BYTE 0X01:耗电,0x02:发电,0x03:关闭状态;0x04:准备状态;0xFE:表示异常,0xFF:表示无效;
驱动电机控制器温度 1 BYTE 有效值范围 0 ~ 250(数据偏移量 40℃,表示-40 ℃ ~ +210℃),最小计量单位:1℃,0xFE:表示异常,0xFF:表示无效;
驱动电机转速 2 WORD 有效值范围:0 ~ 65531(偏移量 2000,表示-20000r/min ~ 45531 r/min),最小计量单位: 1r/min,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
驱动电机转矩 2 WORD 有效值范围:0 ~ 65531(偏移量 2000,表示-2000N/m ~ 4553.1 N/m),最小计量单位: 0.1N/m,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;
驱动电机温度 1 BYTE 有效值范围 0 ~ 250(数据偏移量 40℃,表示-40 ℃ ~ +210℃),最小计量单位:1℃,0xFE:表示异常,0xFF:表示无效;
电机控制器输入电压 2 WORD 有效值范围 0 ~ 600000(表示 0V ~ 6000V),最小计量单位 0.1V,0xFE:表示异常,0xFF:表示无效;
电机控制器直流母线电流 2 WORD 有效值范围 0 ~ 200000(数值偏移量 1000A,表示-1000A ~ 1000A),最小计量单位 0.1A,0xFF,0xFE:表示异常,0xFF,0xFF:表示无效;

驱动电机解析结果样例

{
  type: "MOTOR",
  count: 1,
  motors: [
    {
      no: 1,
      status: "READY",
      controlTemp: 0,
      speed: 0,
      torque: 0,
      temp: 0,
      voltage: 0,
      current: 0,
    },
  ],
}

驱动电机解析结果说明

字段 数据内容 类型 说明
count 驱动电机个数 interger 1 ~ 253
motors 驱动电机总成信息列表 array 每个驱动电机信息数据

每个驱动电机数据

字段 数据内容 类型 说明
no 驱动电机序号 integer 1 ~ 253
status 驱动电机状态 string enum “CONSUMPTION”//耗电,“GENERATION”//发电,“OFF”//关闭状态,“READY”//准备”
controlTemp 驱动电机控制器温度 integer -40 ~ 210 1℃
speed 驱动电机转速 integer -20000 ~ 45531 1r/min
torque 驱动电机转矩 float -2000N/m ~ 4553.1 0.1N/m
temp 驱动电机温度 integer -40 ~ +210 1℃
voltage 电机控制器输入电压 float 0 ~ 6000 0.1V
current 电机控制器直线母线电流 float -1000 ~ 1000 0.1A

燃料电池数据 (没有收到过相关数据)

0x03 FUELCELL

燃料电池二进制样例

燃料电池二进制格式说明

数据内容 字节 数据类型 有效值范围 分辨率 偏移量 异常 无效 其他
燃料电池电压 2 WORD 0 ~ 20000 0.1V OxFFFE OxFFFF
燃料电池电流 2 WORD 0 ~ 20000 0.1A OxFFFE OxFFFF
燃料消耗率 2 WORD 0 ~ 60000 0.01 OxFFFE OxFFFF
燃料电池温度探针总数 2 WORD 0 ~ 65531 OxFFFE OxFFFF
探针温度值 1*N BYTE[N] 0 ~ 240 40 OxFE OxFF
氢系统中最高温度 2 WORD 0 ~ 2400 0.1℃ 40 OxFFFE OxFFFF
氢气最高温度传感器代号 1 BYTE 1 ~ 252 OxFE OxFF
氢气最高浓度 2 WORD 0 ~ 60000 1mg/kg OxFFFE OxFFFF
氢气最高浓度传感器代号 1 BYTE 1 ~ 252 OxFE OxFF
氢气最高压力 2 WORD 0 ~ 1000 0.1MPa OxFFFE OxFFFF
氢气最高压力传感器代号 1 BYTE 1 ~ 252 OxFE OxFF
高压 DC/DC 状态 1 BYTE OxFE OxFF 01:工作;02:断开

燃料电池解析结果样例

燃料电池解析结果说明

字段 数据内容 类型 说明
voltage 燃料电池电压 float 0 ~ 2000 0.1V
current 燃料电池电流 float 0 ~ 2000 0.1A
conRate 燃料消耗率 float 0 ~ 600 0.01kg/100km
probeCount 燃料电池温度探针总数 integer 0 ~ 65531
ntcs 探针温度值 array< integer > -40 ~ 200 1℃
maxNtc 氢系统中最高温度 float -40 ~ 200 0.1℃
maxNtcNo 氢气最高温度传感器代号 integer 1 ~ 252
hcOfh 氢气最高浓度 integer 0 ~ 50000 1mg/kg
hcOfhNo 氢气最高浓度传感器代号 integer 1 ~ 252
maxVoltageOfh 氢气最高压力 float 0 ~ 100 0.1MPa
maxVoltageOfhNo 氢气最高压力传感器代号 integer 1 ~ 252
dc 高压 DC/DC 状态 string enum ON:工作;OFF:断开

发动机数据 (没有收到过相关数据,未经测试)

0x04 ENGINE

发动机数据二进制样例

发动机数据二进制格式说明

数据表示内容 长度/字节 数据类型 有效值范围 分辨率 偏移量 异常 无效 其他
发动机状态 1 BYTE OxFE OxFF Ox01:启动状态;Ox02:关闭状态
曲轴转速 2 WORD 0 ~ 60000 1r/min OxFFFE OxFFFF
燃料消耗率 2 WORD 0 ~ 60000 0.01L/100km OxFFFE OxFFFF

发动机数据解析结果样例

发动机数据解析结果说明

字段 数据内容 类型 说明
state 发动机状态 string enum ON:启动状态;OFF:关闭状态
csSpeed 曲轴转速 integer 0 ~ 60000 1r/min
fcRate 燃料消耗率 float 0 ~ 600 0.01L/100km

位置数据

位置数据二进制样例

# 仅包含位置数据部分
00072733A101CF049C

位置数据二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
定位状态 1 BYTE 状态位定义见表 15
经度 4 DWORD 以度为单位的纬度值乘以 10 的六次方,精度精确到百万分之一度
纬度 4 DWORD 以度为单位的经度值乘以 10 的六次方,精度精确到百万分之一度
状态为定义
状态
0 0:有效定位;1: 无效定位(当数据通信正常,为不能获取定位信息时,发送最后一次有效定位信息,并将定位状态置为无效)
1 0:北纬,1:南纬
2 0:东经,1:西经
3 ~ 7 保留

位置数据解析结果样例

{
  type: "LOCATION",
  state: 0,
  lng: 121.4482,
  lat: 31.25105
}

位置数据解析结果说明

字段 数据内容 类型 说明
state 定义状态 integer 见状态位定位
lng 经度 float 0.000001
lat 纬度 float 0.000001

极值数据

0x06 EXTREME

极值数据二进制样例

# 仅包含机制部分数据
0111064001020500010150010540

极值数据二进制格式说明

数据表示内容 长度/字节 数据类型 有效值范围 分辨率 偏移量 说明
最高电压电池子系统号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最高电压电池单体代号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
电池单体电压最高值 2 WORD 1 ~ 15000 0.001V 0xFE 表示异常;0xFF 表示无效
最低电压电池子系代号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最低电压电池单体代号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
电池单体最低电压值 2 WORD 1 ~ 15000 0.001V 0xFE 表示异常;0xFF 表示无效
最高温度子系统号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最高温度探针序号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最高温度值 1 BYTE 1 ~ 250 1℃ 40℃ 0xFE 表示异常;0xFF 表示无效
最低温度子系统号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最低温度探针序号 1 BYTE 1 ~ 250 0xFE 表示异常;0xFF 表示无效
最低温度值 1 BYTE 1 ~ 250 1℃ 40℃ 0xFE 表示异常;0xFF 表示无效

极值数据解析结果样例

{
  type: "EXTREME",
  maxVoltageSubSysNo: 1,
  maxVoltageSingNo: 63,
  maxVoltage: 3.263,
  minVoltageSubSysNo: 1,
  minVoltageSingNo: 91,
  minVoltage: 3.25,
  maxNtcSubSysNo: 1,
  maxNtcNo: 2,
  maxNtc: 30,
  minNtcSubSysNo: 1,
  minNtcNo: 78,
  minNtc: 24,
}

极值数据解析结果说明

字段 数据内容 类型 说明
maxVoltageSubSysNo 最高电压电池子系统号 integer 1~250
maxVoltageSingNo 最高电压电池单体代号 integer 1 ~ 250
maxVoltage 电池单体电压最高值 float 0 ~ 15 0.001V
minVoltageSubSysNo 最低电压电池子系代号 integer 1 ~ 250
minVoltageSingNo 最低电压电池单体代号 integer 1 ~ 250
minVoltage 电池单体最低电压值 float 0 ~ 15 0.001V
maxNtcSubSysNo 最高温度子系统号 integer 1 ~ 250
maxNtcNo 最高温度探针序号 integer 1 ~ 250
maxNtc 最高温度值 integer -40 ~ 200 1℃
minNtcSubSysNo 最低温度子系统号 integer 1 ~ 250
minNtcNo 最低温度探针序号 integer 1 ~ 250
minNtc 最低温度值 integer -40 ~ 200 1℃

报警数据

0x07 ALARM

报警数据二进制样例

# 仅包含报警部分数据
0000000000000000000801011B58

报警数据二进制格式说明

数据表示内容 类型 长度/字节 说明
最高报警等级 BYTE 1 为当前发生的故障中最高等级,有效值范围: 0 ~ 3 ,0:表示无故障,1:表示一级故障;2 表示 2 级故障,3 表示 3 级故障,3 级故障为最高级别故障,指代驾驶员应立即停车处理或请求救援的故障,具体等级对应的故障内容由厂商自行定义,0xFE 表示异常;0xFF 表示无效
通用报警标志 DWORD 4 见下表通用报警标志位定义
可充电储能装置故障总数 N1 BYTE 1 N1 个可充电储能装置故障,有效值范围:0 ~ 252,0xFE 表示异常;0xFF 表示无效
可充电储能装置故障代码列表 DWORD 4*N 扩展性数据,由厂商自行定义,可充电智能装置故障个数等于可充电储能装置故障总数 N1
驱动电机故障总数 N2 BYTE 1 N2 个可充电储能装置故障,有效值范围:0 ~ 252,0xFE 表示异常;0xFF 表示无效
驱动电机故障代码列表 DWORD 4*N2 扩展性数据,由厂商自行定义,可充电智能装置故障个数等于可充电储能装置故障总数 N12
发动机故障总数 N3 BYTE 1 N3 个可充电储能装置故障,有效值范围:0 ~ 252,0xFE 表示异常;0xFF 表示无效
发动机故障列表 DWORD 4*N3 扩展性数据,由厂商自行定义,可充电智能装置故障个数等于可充电储能装置故障总数 N3
其他故障总数 N4 BYTE 1 N4 个可充电储能装置故障,有效值范围:0 ~ 252,0xFE 表示异常;0xFF 表示无效
其他故障代码列表 DWORD 4*N4 扩展性数据,由厂商自行定义,可充电智能装置故障个数等于可充电储能装置故障总数 N4

通用报警标志位定义

定义 处理说明
0 1:温度差异报警;0:正常 标志维持到报警条件解除
1 1:电池高温报警;0:正常 标志维持到报警条件解除
2 1:车载储能装置类型过压报警;0:正常 标志维持到报警条件解除
3 1:车载储能装置类型欠压报警;0:正常 标志维持到报警条件解除
4 1:SOC 低报警;0:正常 标志维持到报警条件解除
5 1:单体电池过压报警;0:正常 标志维持到报警条件解除
6 1:单体电池欠压报警;0:正常 标志维持到报警条件解除
7 1:SOC 过高报警;0:正常 标志维持到报警条件解除
8 1:SOC 跳变报警;0:正常 标志维持到报警条件解除
9 1:可充电储能系统不匹配报警;0:正常 标志维持到报警条件解除
10 1:电池单体一致性差报警;0:正常 标志维持到报警条件解除
11 1:绝缘报警;0:正常 标志维持到报警条件解除
12 1:DC-DC 温度报警;0:正常 标志维持到报警条件解除
13 1:制动系统报警;0:正常 标志维持到报警条件解除
14 1:DC-DC 状态报警;0:正常 标志维持到报警条件解除
15 1:驱动电机控制器温度报警;0:正常 标志维持到报警条件解除
16 1:高压互锁状态报警;0:正常 标志维持到报警条件解除
17 1:驱动电机温度报警;0:正常 标志维持到报警条件解除
18 1:车载储能装置类型过充;0:正常 标志维持到报警条件解除

报警数据解析结果样例

{
  type: "ALARM",
  maxLevel: 0,
  uas: {
    ressChargeOver: false,
    motorTemp: false,
    highVolMuteStatus: false,
    motorControlTemp: false,
    dcdcStatus: false,
    brake: false,
    dcdcTemp: false,
    insulation: false,
    batteryBadConsistency: false,
    ressNotMatch: false,
    socJump: false,
    socOver: false,
    batteryLow: false,
    batteryOver: false,
    socLow: false,
    ressVolLow: false,
    ressVolOver: false,
    batteryTempOver: false,
    tempDiff: false,
  },
  ressLen: 0,
  ressList: [],
  mortorLen: 0,
  mortorList: [],
  engineLen: 0,
  engineList: [],
  otherLen: 1,
  otherList: [{"type":16,"code":5126,"level":2}],
}

报警数据解析结果说明

字段 数据内容 类型 说明
maxAlarmLevel 最高报警等级 integer 0 ~ 3
uas 通用报警标志 object 通用报警标志位定义见上面定义表
ressLen 可充电储能装置故障总数 N1 integer 0~252
ressList 可充电储能装置故障代码列表 array< Fault > Fault 解析结果
mortorLen 驱动电机故障总数 N2 integer 0 ~ 252
mortorList 驱动电机故障代码列表 array< Fault > Fault 解析结果
engineLen 发动机故障总数 N3 integer 0~252
engineList 发动机故障列表 array< Fault > Fault 解析结果
otherLen 其他故障总数 N4 integer 0~252
otherList 其他故障代码列表 array< Fault > Fault 解析结果
Fault 解析结果说明
字段 数据内容 类型 说明
type 故障码类型 integer
code 故障编码 integer
level 故障级别 integer 0~3

通用报警标志

"ressChargeOver"; // 车载储能装置类型过充
"motorTemp"; // 驱动电机温度报警
"highVolMuteStatus"; // 高压互锁状态报警
"motorControlTemp"; // 驱动电机控制器温度报警
"dcdcStatus"; // DC-DC 状态报警
"brake"; // 制动系统报警
"dcdcTemp"; // DC-DC 温度报警
"insulation"; // 绝缘报警
"batteryBadConsistency"; // 电池单体一致性差报警
"ressNotMatch"; // 可充电储能系统不匹配报警
"socJump"; // SOC 跳变报警
"socOver"; // SOC 过高报警
"batteryLow"; // 单体电池欠压报警
"batteryOver"; // 单体电池过压报警
"socLow"; // SOC 低报警
"ressVolLow"; // 车载储能装置类型欠压报警
"ressVolOver"; // 车载储能装置类型过压报警
"batteryTempOver"; // 电池高温报警
"tempDiff"; // 温度差异报警

可充电储能装置电压数据

0x08 RESS_VOLTAGE

可充电储能装置电压数据二进制样例

# 仅包含报警部分数据
01011B583A98001100011106400500064006400640064006400640064006400640064006400640064006400640

可充电储能装置电压数据二进制格式说明

// TODO: 暂缺

可充电储能装置电压数据解析结果样例

{
  type: "RESS_VOLTAGE",
  subCount: 1,
  subSystems: [
    {
      batteryCount: 17,
      batteryVols: [
        1.6,
        1.28,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
        1.6,
      ],
      current: 500,
      frameBatteryCount: 17,
      frameStartBatteryNo: 1,
      no: 1,
      voltage: 700,
    },
  ],
}

可充电储能装置电压数据解析结果说明

字段 数据内容 类型 说明
subCount 可充电储能子系统个数 integer
subSystems 可充电储能装置电压 array< RessVoltage > 可充电储能装置电压数据结构
可充电储能装置电压数据结构
字段 数据内容 类型 说明
no 可充电储能子系统编号 integer
voltage 可充电储能装置电压 float 0.1v
current 可充电储能装置电压 float -1000 ~ ? 0.1A
batteryCount 单体电池总数 integer
frameStartBatteryNo 本帧起始电池序号 integer
frameBatteryCount 本帧单体电池总数 integer
batteryVols 单体电池电压 array< float > 0.001v

可充电储能装置温度数据

0x09 RESS_TEMPERATURE

可充电储能装置温度数据二进制样例

# 仅包含可充电储能装置温度数据
010100055040404040

可充电储能装置温度数据二进制格式说明

// TODO:暂无

可充电储能装置温度数据解析结果样例

{
  subCount: 1,
  subSystems: [
    { no: 1, probeCount: 5, temps: [40, 24, 24, 24, 24] }
  ],
}

可充电储能装置温度数据解析结果说明

字段 数据内容 类型 说明
subCount 可充电储能子系统个数 integer
subSystems 可充电储能装置温度 array< RessTemperature > 可充电储能装置温度数据结构
可充电储能装置温度数据结构
字段 数据内容 类型 说明
no 可充电储能子系统编号 integer
probeCount 可充电储能温度探针个数 float 0.1v
temps 温度 array< integer > -40 ~ 200 1℃

自定义扩展数据

自定义扩展数据二进制样例

0x80 CUSTOM_EXT

自定义扩展数据二进制格式说明

数据表示内容 长度/字节 数据类型 描述及要求
自定义数据长度 2 WORD 自定义数据长度 n,有效范围 1 ~ 65531
自定义数据 1*N  BYTE[N] 拓展性数据,由用户自行定义 自定义数据
自定义数据
数据内容 长度/字节 数据类型 描述及要求
气压 1 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围: 0~1000kpa,“FE”表示异常,“FF”表示无效
气压 2 1 BYTE 分辨率:4kPa ,偏移量:0 ,有效值范围:0~1000kpa,“FE”表示异常,“FF”表示无效
蓄电池电压 1 BYTE 分辨率:0.5V/bit,偏移量:0,有效值范围:0~32V,“FE”表示异常,“FF”表示无效
DCDC 输出电压 2 WORD 分辨率:0.1V,偏移量:-1000,有效值 范围:0~32V,“FF,FF”表示无效
DCDC 输出电流 2 WORD 分辨率:0.1A,偏移量:-1000,有效值范围:-1000~1000A, “0xFF,0xFE”异常,“0xFF,0xFF”无效。
DCDC 散热器温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃,“FF”表示无效
DCAC 散热器温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃,“FF”表示无效
左前轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
左前轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
右前轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
右前轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
左后 1 轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
左后 1 轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
左后 2 轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
左后 2 轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
右后 1 轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
右后 1 轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
右后 2 轮胎压力 1 BYTE 分辨率:4kPa,偏移量:0,有效值范围:0~1000kpa, “FE”表示异常,“FF”表示无效
右后 2 轮胎温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
充电电压 2 WORD 有效值范围:0 ~ 10000(表示 0V ~ 1000V),最小计量单元:0.1V,“0xFF,0xFE”表示异常,“0xFF,0xFF”表示无效。
充电电流 2 WORD 有效值范围: 0 ~ 20000(偏移量 1000A,表示-1000A ~+1000A),最小计量单元:0.1A,“0xFF,0xFE”表示异常, “0xFF,0xFF”表示无效。
充电电量 2 WORD 分辨率:0.1KWH,偏移量:0,有效值范围:0~ 6553.5KWH
累积充电电量 4 WORD 分辨率:0.1KWH,偏移量:0,有效值范围:0~ 429496729.41KWH
累积放电电量 4 WORD 分辨率:0.1KWH,偏移量:0,有效值范 围:0~ 429496729.41KWH
瞬时电耗 2 WORD 分辨率:0.1KWH,偏移量:0,有效值范围:0~ 6553.5KWH
电池正绝缘电阻 2 WORD 分辨率:1KΩ,偏移量:0,有效值范围:0~60000 KΩ,“FF,FF”表示无效
电池负绝缘电阻 2 WORD 分辨率:1KΩ,偏移量:0,有效值范围:0~60000 KΩ,“FF,FF”表示无效
电机控制器温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
空调开启模式 1 BYTE 0x00:关闭 0x01 新风 0x02 制热 0x03 制冷 0xFF 无效
空调设定温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
车厢内实际温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
车外温度 1 BYTE 分辨率:1℃,偏移量:-40,有效值范围:-40~210℃, “FF”表示无效
钥匙位置 bit1~0 BYTE bit 0:OFF,1:ACC,2:ON,3:START
手刹状态 bit3~2 BYTE bit 0:表示无信号,1:表示有信号,2:表示 异常,3:表示无效
前门状态 bit5~4 BYTE bit 0:表示无信号,1:表示 开,2:表示 异常,3:表示无效
中门状态 bit7~6 BYTE bit 0:表示无信号,1:表示 开,2:表示 异常,3:表示无效

自定义扩展数据解析结果样例

# 数据仅包含自定义扩展item
{
  type: "CUSTOM_EXT",
  dataLen: 48,
  pressure1: 0,
  pressure2: 0,
  batteryVoltage: 0,
  dcov: -900,
  dcoc: -900,
  cv: 570.5,
  rc: 5522.6,
  cp: 0,
  totalCharge: 0,
  totalDischarge: 0,
  bpiRes: 0,
  bniRes: 0,
  motorContTemp: 0,
  airMode: "OFF",
  airTemp: 0,
  insideTemp: 0,
  outsideTemp: 0,
  middleDoorStatus: "CLOSE",
  frontDoorStatus: "CLOSE",
  handbrakeStatus: "OFF",
  keyPosition: "ON",
}

自定义扩展数据解析结果说明

字段 数据内容 类型 分辨率 说明
dataLen 自定义数据长度 integer 字节长度
pressure1 气压 1 integer 4kPa 0~1000kpa
pressure2 气压 2 integer 4kPa 0~1000kpa
batteryVoltage 蓄电池电压 float 0.5V 0~32V
dcov DCDC 输出电压 float 0.1V 0~32V
dcoc DCDC 输出电流 float 0.1A -1000~1000A
dcTemp DCDC 散热器温度 integer 1℃ -40~210℃
acTemp DCAC 散热器温度 integer 1℃ -40~210℃
lftp 左前轮胎压力 integer 4kPa 0~1000kPa
lftt 左前轮胎温度 integer 1℃ -40~210℃
rftp 右前轮胎压力 integer 4kPa 0~1000kPa
rftt 右前轮胎温度 integer 1℃ -40~210℃
lr1tp 左后 1 轮胎压力 integer 4kPa 0~1000kPa
lr1tt 左后 1 轮胎温度 integer 1℃ -40~210℃
lr2tp 左后 2 轮胎压力 integer 4kPa 0~1000kPa
lr2tt 左后 2 轮胎温度 integer 1℃ -40~210℃
rr1tp 右后 1 轮胎压力 integer 4kPa 0~1000kPa
rr1tt 右后 1 轮胎温度 integer 1℃ -40~210℃
rr2tp 右后 2 轮胎压力 integer 4kPa 0~1000kPa
rr2tt 右后 2 轮胎温度 integer 1℃ -40~210℃
cv 充电电压 float 0.1V 0V ~ 1000V
rc 充电电流 float 0.1A -1000~1000A
cp 充电电量 float 0.1KWH 0~ 6553.5KWH
totalCharge 累积充电电量 float 0.1KWH 0~ 429496729.41KWH
totalDischarge 累积放电电量 float 0.1KWH 0~ 429496729.41KWH
instantPower 瞬时电耗 float 0.1KWH 0~ 6553.5KWH
bpiRes 电池正绝缘电阻 integer 1KΩ 0~60000 KΩ
bniRes 电池负绝缘电阻 integer 1KΩ 0~60000 KΩ
apTemp 气泵扇热器温度 integer 1℃ -40~210℃
motorContTemp 电机控制器温度 integer 1℃ -40~210℃
airMode 空调模式 string WIND: “进风”, OFF: “关”, REFRIGERATION: “制冷”, HEATING: “制热”, ABNORMAL: “异常”
airTemp 空调设定温度 integer 1℃ -40~210℃
insideTemp 车厢内实际温度 integer 1℃ -40~210℃
outsideTemp 车外温度 integer 1℃ -40~210℃
middleDoorStatus 中门状态 string CLOSE: “关闭”, OPEN: “开启”, ABNORMAL: “异常”
frontDoorStatus 前门状态 string CLOSE: “关闭”, OPEN: “开启”, ABNORMAL: “异常”
handbrakeStatus 手刹状态 string ON: “开”, OFF: “关”, ABNORMAL: “异常”
keyPosition 钥匙位置 string OFF: 关, ACC: 通电, ON: 开, START: 启动

十秒上传数据

0x81 TEN_SECONDS

只通过 REISSUE_REPORT 上报

十秒上传数据二进制样例

0100020003000004271001000200030000042710010002000300000427100100020003000004271001000200030000042710010002000300000427100100020003000004271001000200030000042710010002000300000427100100020003000004271061;

十秒上传数据二进制格式说明

十秒上传一共会有十组数据,连续,下面表格是其中一组的数据格式

数据内容 长度/字节 数据类型类型 描述
0x01 1 BYTE 加速踏板标识类型
加速踏板行程 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元:1%,“0xFE”表示异常,“0xFF”表示无效。
0x02 1 BYTE 制动踏板标识类型
制动踏板 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元 1%,“0”表示制动关的状态;在无具体行程值情况下,用“0x65” 即“101”表示制动有效状态,“0xFE” 表示异常 “0xFF”标识无效
0x03 1 BYTE 车速标识类型
车速 2 WORD 有效值范围:0 ~ 2200(表示 0 km/h ~ 220 km/h),最小计量单元:0.1km/h,“0xFF,0xFE”表示异常,“0xFF,0xFF”表 示无效
0x04 1 BYTE 总电流标识类型
总电流 2 WORD 有效值范围: 0 ~ 20000(偏移量 1000A,表示-1000A ~+1000A),最小计量单元:0.1A,“0xFF,0xFE”表示异常, “0xFF,0xFF”表示无效

十秒上传数据解析结果样例

 {
      command: "REISSUE_REPORT",
      flag: "COMMAND",
      vin: "LWXCS201711070000",
      encrypt: "NONE",
      length: 107,
      body: {
        at: new Date("2018-06-21T05:49:47.000Z"),
        items: [
          {
            type: "TEN_SECONDS",
            datas: [{
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }, {
                      accPedal: 0,
                      brake: 0,
                      speed: 0,
                      totalCurrent: 0,
                    }],
          },
        ],
      },

十秒上传解析结果说明

字段 数据内容 类型 说明
accPedal 加速踏板行程 float 0 ~ 1 (精度 0.01) 如果 > 1,表示无法获得具体值
brake 制动踏板 float 0 ~ 1 (精度 0.01) 如果 > 1,表示无法获得具体值
speed 车速 float 0km/h ~ 220km/h 0.1km/h
totalCurrent 总电流 float -1000A ~ 1000A 0.1A

主动安全数据

0x82 ADAS

只通过 REISSUE_REPORT 上报

主动安全数据二进制样例

# 仅包含一组 adas 数据,实际上应该有 10 组
0100020003000004271005000678070008f409010a010b400c000d0010

主动安全数据二进制格式说明

数据内容 长度/字节 数据类型类型 描述
0x01 1 BYTE 加速踏板标识类型
加速踏板行程 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元:1%,“0xFE”表示异常,“0xFF”表示无效。
0x02 1 BYTE 制动踏板标识类型
制动踏板 1 BYTE 有效值范围:0 ~ 100(表示 0%~ 100%),最小计量单元 1%,“0”表示制动关的状态;在无具体行程值情况下,用“0x65” 即“101”表示制动有效状态,“0xFE” 表示异常 “0xFF”标识无效
0x03 1 BYTE 车速标识类型
车速 2 WORD 有效值范围:0 ~ 2200(表示 0 km/h ~ 220 km/h),最小计量单元:0.1km/h,“0xFF,0xFE”表示异常,“0xFF,0xFF”表 示无效
0x04 1 BYTE 总电流标识类型
总电流 2 WORD 有效值范围: 0 ~ 20000(偏移量 1000A,表示-1000A ~+1000A),最小计量单元:0.1A,“0xFF,0xFE”表示异常, “0xFF,0xFF”表示无效
0x05 1 BYTE 超速显示标识符
超速值 1 BYTE 范围:0-7 分辨率:5km/h,偏移量:0
0x06 1 BYTE 车辆前方障碍物相对横向距离标识
前方障碍物横向相对距离 1 BYTE  分辨率:0.1m/bit,偏移量:-12, 范围-12m~12m
0x07 1 BYTE 车辆前方障碍物相对  纵向距离标识
前方障碍物相对纵向距离 1 BYTE 范围 0-250m
0x08 1 BYTE 车辆前方障碍物相对  速度标识
车辆前方障碍物相对速度 1 BYTE 偏移量-50 范围-50-50(m/s)
0x09 1 BYTE ADAS 系统状态 1
蜂鸣器预警 1 Bit4-bit1 0001 有效,其他无效
方向盘震动器预警 Bit8-bit5 0001 有效,其他无效
0x0A 1 BYTE ADAS 系统状态 2
前方碰撞预警 1 Bit2-bit1 01:有,00:无
左车道偏离预警 Bit4-bit3 01:有,00:无
右车道偏离预警 Bit6-bit5 01:有,00:无
行人碰撞预警 Bit2-bit1 01:有,00:无
0x0B 1 BYTE ADAS 系统状态 3
碰撞缓解制动系统预警等级 1 Bit8-bit7 0:无效,1:一级预警;2:二级预警
碰撞缓解制动系统状态 Bit6-bit5 00:不显示,01:CMCS 关闭,10:CMCS 故障,
碰撞缓解制动系统开关状态 Bit4-bit3 00:无,01:有
保留 Bit2-bit1
0x0C 1 BYTE 障碍物类型标识
障碍物类型 1 BYTE VOID:无,PEOPLE:人,2:VEHICLE;
0x0D 1 Bit2-bit1 ADAS 故障码
ADAS 故障码 2 BYTE 具体含义未知

主动安全数据解析结果样例

{
  type: "ADAS",
  datas: [{
  accPedal: 0,
  brake: 0,
  speed: 0,
  totalCurrent: -900,
  overSpeed: 0,
  lateralDistance: 0, // 前方障碍物横向距离
  verticalDistance: 0, // 前方障碍物纵向距离
  relativeVelocity: 0, // 与前方障碍物的相对速度
  wheelWarning: false, // 方向盘振动器预警
  buzzerWarning: false, // 蜂鸣器预警
  pWarning: false, // 行人碰撞预警
  rWarning: false, // 右车道偏离预警
  lWarning: false, // 左车道偏离预警
  cWarning: false, // 前方碰撞预警
  cmcs: "NORMAL", // 碰撞缓解制动系统状态
  reserved: 0,
  crbs: false, // 碰撞缓解制动系统开关状态
  cmcsLevel: 0, // 碰撞缓解制动系统预警等级
  obstacleType: "VOID", // 障碍物类型
  fault: 16,
}

主动安全数据解析结果说明

字段 数据内容 类型 说明
accPedal 加速踏板行程 float 0 ~ 1 (精度 0.01) 如果 > 1,表示无法获得具体值
brake 制动踏板 float 0 ~ 1 (精度 0.01) 如果 > 1,表示无法获得具体值
speed 车速 float 0km/h ~ 220km/h 0.1km/h
totalCurrent 总电流 float -1000A ~ 1000A 0.1A
overSpeed 超速值 integer 0 ~ 35 5km/h
lateralDistance 前方障碍物横向相对距离 float -12M ~ 12M 0.1M 车辆左侧为负,车辆右侧为正
verticalDistance 前方障碍物相对纵向距离 integer 0M ~ 250M
relativeVelocity 车辆前方障碍物相对速度 integer -50 ~ 50(m/s)1m/s
buzzerWarning 蜂鸣器预警 boolean
wheelWarning 方向盘震动器预警 boolean
cWarning 前方碰撞预警 boolean
lWarning 左车道偏离预警 boolean
rWarning 右车道偏离预警 boolean
pWarning 行人碰撞预警 boolean
cmcsLevel 碰撞缓解制动系统预警等级 integer 0:无效,1:一级预警;2:二级预警
cmcs 碰撞缓解制动系统状态 string enum NORMAL: CMCS 正常;CLOSE: CMCS 关闭;ABNORMAL:CMSC 故障
crbs 碰撞缓解制动系统开关状态 boolean
obstacleType 障碍物类型 integer VOID: 无;PEOPLE: 人;VEHICLE: 车
reserved 保留 integer
fault ADAS 故障码 integer