打工人福音⚡:公牛充电交互协议,建议收藏!

推荐一套企业级开源充电桩平台:完整代码包含多租户、硬件模拟器、多运营商、多小程序,汽车 电动自行车、云快充协议;——(慧哥)慧知开源充电桩平台;https://liwenhui.blog.csdn.net/article/details/134773779?spm=1001.2014.3001.5502

协议原文件下载地址:

链接: https://pan.baidu.com/s/1kW15Nfe9cjPDFLGPYJ-zUg?pwd=agq2 提取码: agq2

1 总则

1.1 协议概述

本协议适用于公司所有充电产品包括交直流充电桩、电瓶车桩,交流桩及电瓶车桩在本协议中部分数 据无需上送,具体内容在下面协议部分均有标注。

1.2 通信接口

充电设备和充电运营管理系统之间的通信接口采用基于 TCP/IP Socket 的通信方式实现,按照长连接 工作模式。两个系统可部署在同一个或者不同的企业网络环境中,可以通过局域网或者互联网实现互相连 接通信。
充电设备通信联接方式支持有线或无线连接运营平台服务器或者多个充电设备经过集中器与运营平台 连接。
充电设备支持服务器的直接 IP 地址与网络域名解析,地址与连接端口均为可设置参数。

1.3 接入流程

详见上电流程。

2 通信协议结构

本协议的通信协议结构如图 1 所示。本协议采用的 TCP/IP 传输定义与标准定义一致。
在这里插入图片描述

3 应用层报文帧格式

3.1 应用层数据结构

在这里插入图片描述数据结构定义说明:
● 前导域代表一帧数据的开始,固定为 0x5A、0xA5;
● 版本域为协议版本号,用于协议有升级时,解析新老协议差异内容;本协议版本号为 1.0.0.01,两字节分别为 0x11、0x27(十进制的 10001);
● 序号域即数据包的发送顺序号,用于业务实现收发一致性校验。从 0 开始顺序增加,如是应答 数据包,则与询问数据包序号保持一致,当充电设备与平台网络断开重新建立连接或者溢出后 归0;
● 加密标志只针对消息体(数据单元) ,0x00:不加密,0x01:AES128(CBC);
● 命令字定义了上下行帧类型,表示不同的功能要求,充电设备的帧类型码为奇数,运营平台的帧类型码为偶数;
● 长度域即前导域到校验域的整个数据帧长度,加密时,按加密后的长度,长度不超过 1036 字节;
● 数据域即具体数据帧内容;
● 校验域为从前导域到数据域的 CRC 校验,校验多项式为 0x180D ,低字节在前,高字节在后,计算方式见附录。

3.2 数据格式定义

数据格式包括 BCD 码、ASCII、BIN 码(BIN 码均为低位在前高位在后)。协议中小数值均乘倍率 (保留小数点位数) 上送平台(例如: 电压为 220.1, 保留一位小数, 上送到平台值为 2201,即 0x899)。

3.3 名词解释

● 充电卡:平台默认充电卡为 M1 卡(不带储值),读卡器读取到的卡号为印刷在卡面上的逻 辑卡号,用于充电设备与服务器数据交互。IC 卡或者 CPU 卡均采用平台 M1 卡的鉴权模式,不使用数据储存与写入功能。
● 交易流水号:交易流水号为一次充电操作过程的统一标记,从远程启动充电或者卡鉴权回复 时产生到最后设备结束充电的交易记录均使用同一个流水号,由平台产生(离线模式由设备按此规则生成),生成规则为 格式设备号(7bytes) +枪号(1byte) +年月日时分秒 (6bytes) +自增序号(2bytes);示例 :15010600019236012001061803423060。
● 计损比例:计损比例定义在费率帧中,此项非零时,充电设备需要对上送平台充电量加上此 比例,如<实时监测数据>中“计损电度”,则为“电度”基础上加上此比例得到的值。同理 见<交易记录>中“计损尖电量”、“计损峰电量”、 “计损平电量”、 “计损谷电量”、
“计损总电量”(计损比例置 0,则表示不计损)。
● 设备编号:由平台生成提供给设备使用,不支持设备企自行生成的设备编号。示 例:1501060001923601
● 枪号:由 7 个字节设备编号+1个字节的枪号生成。示例: 1501060001923601/1501060001923602

4 帧类型定义一缆表

​充电设备的帧类型码为奇数,运营平台的帧类型码为偶数;帧类型码分段定义,已定义的帧类型码 不可重定义为其他定义;

在这里插入图片描述

5 通信协议流程

5.1 上电流程

充电设备在上电或者离线恢复后连接到平台,首先上送充电设备登陆认证,平台对设备的信息进行校验,并回复登陆认证应答,如果不符合则会断开当前建立的连接,如果验证通过,则设备先检查是否有离线状态下本地储存的实时监测数据或者交易数据,如果有则先上送到平台进行处理,随后充电设备发起充电计费模型的请求,平台检测计费模型与当前运营费率是否一致,并回复计费模型请求应答,如果不一致,设备需要向平台请求新的计费模型。
在这里插入图片描述

5.2 app 充电流程

app 充电流程与刷卡充电流程互通,即 app 充电可以用卡结束,app 鉴权时会将用户绑定的卡信息下发到充电设备,用于卡结束验证,卡充电可以用 app 结束充电。
在这里插入图片描述

5.3 刷卡充电

在这里插入图片描述

5.4 离线充电模式

在这里插入图片描述

6 注册心跳帧类型码数据定义

6.1 充电设备登录认证

在这里插入图片描述

6.2 登录认证应答

在这里插入图片描述

6.3 充电设备心跳包

在这里插入图片描述

6.4 心跳包应答

在这里插入图片描述

6.5 计费模型验证请求

在这里插入图片描述

6.6 计费模型验证请求应答

在这里插入图片描述

6.7 充电设备计费模型请求

在这里插入图片描述

6.8 计费模型请求应答

在这里插入图片描述

7 实时数据帧类型码数据定义

7.1 读取实时监测数据

在这里插入图片描述

7.2 上传实时监测数据

在这里插入图片描述

7.3 充电握手

在这里插入图片描述

7.4 参数配置

在这里插入图片描述

7.5 充电结束

在这里插入图片描述

7.6 错误报文

在这里插入图片描述

7.7 充电阶段 BMS 中止

在这里插入图片描述

7.8 充电阶段充电机中止

在这里插入图片描述

7.9 充电过程 BMS 需求与充电机输出

在这里插入图片描述

7.10 充电过程 BMS 信息

在这里插入图片描述

8 运营交互帧类型码数据定义

8.1 充电设备主动申请启动充电

在这里插入图片描述

8.2 运营平台确认启动充电

在这里插入图片描述

8.3 运营平台远程控制启机

在这里插入图片描述

8.4 远程启动充电命令回复

在这里插入图片描述

8.5 运营平台远程停机

在这里插入图片描述

8.6 远程停机命令回复

在这里插入图片描述

8.7 交易记录

在这里插入图片描述

8.8 交易记录确认

在这里插入图片描述

8.9 远程账户余额更新

在这里插入图片描述

8.10 余额更新应答

在这里插入图片描述

8.11 离线卡数据同步

在这里插入图片描述

8.12 离线卡数据同步应答

在这里插入图片描述

8.13 离线卡数据清除

在这里插入图片描述

8.14 离线卡数据清除应答

在这里插入图片描述

8.15 离线卡数据查询

在这里插入图片描述

8.16 离线卡数据查询应答

在这里插入图片描述

9 运营平台设置帧类型码数据定义

9.1 充电设备工作参数设置

在这里插入图片描述

9.2 充电设备工作参数设置应答

在这里插入图片描述

9.3 对时设置

在这里插入图片描述

9.4 对时设置应答

在这里插入图片描述

9.5 计费模型设置

在这里插入图片描述

9.6 计费模型应答

在这里插入图片描述

9.7 二维码信息设置

在这里插入图片描述

9.8 二维码信息应答

在这里插入图片描述

10 车位锁通信协议定义

地锁状态变化需要传输给平台,若地锁出现故障,则传输故障码至平台,若检测出现故障则,默认地锁为降下状态;若为升降出现故障,则保持现有状态

10.1 地锁数据上送

在这里插入图片描述

10.2 遥控地锁升锁与降锁命令

在这里插入图片描述

10.3 充电设备返回数据(上行)

在这里插入图片描述

11 电设备远程维护帧类型码数据定义

11.1 远程重启

在这里插入图片描述

11.2 远程重启应答

在这里插入图片描述

11.3 远程更新

在这里插入图片描述

11.4 远程更新应答

在这里插入图片描述

12 附录

12.1 充电停止原因代码表

在这里插入图片描述

12.2 CRC16 校验的计算方法

CRC(Cyclical Redundancy Check)由两字节组成,生成函数如下:

1、CRC 计算函数
WORD ModbusCRC(BYTE * pData, BYTE len)
{
BYTE byCRCHi = 0xff;
BYTE byCRCLo = 0xff;
BYTE byIdx;
WORD crc;
while(len--)
{
byIdx = byCRCHi ^* pData++;
byCRCHi = byCRCLo ^ gabyCRCHi[byIdx];
byCRCLo = gabyCRCLo[byIdx];
}
crc = byCRCHi;
crc <<= 8;
crc += byCRCLo;
return crc;
}
CRC 码表高字节
BYTE gabyCRCHi[] =
{
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x01,0xc0,0x80,0x41,0x00,0xc1,0x81,0x40,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40,0x00,0xc1,0x81,0x40,
0x01,0xc0,0x80,0x41,0x01,0xc0,0x80,0x41,0x00,0xc1,
0x81,0x40,0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,
0x00,0xc1,0x81,0x40,0x01,0xc0,0x80,0x41,0x01,0xc0,
0x80,0x41,0x00,0xc1,0x81,0x40
};

CRC 码表高字节

BYTE gabyCRCLo[] =
{
0x00,0xc0,0xc1,0x01,0xc3,0x03,0x02,0xc2,0xc6,0x06,
0x07,0xc7,0x05,0xc5,0xc4,0x04,0xcc,0x0c,0x0d,0xcd,
0x0f,0xcf,0xce,0x0e,0x0a,0xca,0xcb,0x0b,0xc9,0x09,
0x08,0xc8,0xd8,0x18,0x19,0xd9,0x1b,0xdb,0xda,0x1a,
0x1e,0xde,0xdf,0x1f,0xdd,0x1d,0x1c,0xdc,0x14,0xd4,
0xd5,0x15,0xd7,0x17,0x16,0xd6,0xd2,0x12,0x13,0xd3,
0x11,0xd1,0xd0,0x10,0xf0,0x30,0x31,0xf1,0x33,0xf3,
0xf2,0x32,0x36,0xf6,0xf7,0x37,0xf5,0x35,0x34,0xf4,
0x3c,0xfc,0xfd,0x3d,0xff,0x3f,0x3e,0xfe,0xfa,0x3a,
0x3b,0xfb,0x39,0xf9,0xf8,0x40,0x28,0xe8,0xe9,0x29,
0xeb,0x2b,0x2a,0xea,0xee,0x2e,0x2f,0xef,0x2d,0xed,
0xec,0x2c,0xe4,0x24,0x25,0xe5,0x27,0xe7,0xe6,0x26,
0x22,0xe2,0xe3,0x23,0xe1,0x21,0x20,0xe0,0xa0,0x60,
0x61,0xa1,0x63,0xa3,0xa2,0x62,0x66,0xa6,0xa7,0x67,
0xa5,0x65,0x64,0xa4,0x6c,0xac,0xad,0x6d,0xaf,0x6f,
0x6e,0xae,0xaa,0x6a,0x6b,0xab,0x69,0xa9,0xa8,0x68,
0x78,0xb8,0xb9,0x79,0xbb,0x7b,0x7a,0xba,0xbe,0x7e,
0x7f,0xbf,0x7d,0xbd,0xbc,0x7c,0xb4,0x74,0x75,0xb5,
0x77,0xb7,0xb6,0x76,0x72,0xb2,0xb3,0x73,0xb1,0x71,
0x70,0xb0,0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,
0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54,0x9c,0x5c,
0x5d,0x9d,0x5f,0x9f,0x9e,0x5e,0x5a,0x9a,0x9b,0x5b,
0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,0x4b,0x8b,
0x8a,0x4a,0x4e,0x8e,0x8f,0x4f,0x8d,0x4d,0x4c,0x8c,
0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,
0x43,0x83,0x41,0x81,0x80,0x40
};

12.3 协议需知

在这里插入图片描述

协议原文件下载地址:

链接: https://pan.baidu.com/s/1kW15Nfe9cjPDFLGPYJ-zUg?pwd=agq2 提取码: agq2

分享《一套免费开源充电桩物联网系统,是可以立马拿去商用的!》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文慧的科技江湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值