低速充电桩
TCP 接口规范
2019 年 9 月 10 日
目录
低速充电桩 1
2) 概述 2
• 协议服务器(IOT_Server) 6
• 通讯报文原则 6
• 报文协议说明 6
- 报文中所有数值类型为十进制; 6
- 报文中不允许使用转义字符,如\n、\t、\r、\s; 6
• 报文类型 6
• 遥测上报策略 8
• 告警上报策略 8
2充电桩协议 9
2.1登录 9
2.1.1 登录请求 9
2.1.2 登录回应 11
2.2 心跳 11
2.2.1 设备心跳上报 11
2.2.2 服务器响应心跳上报 12
2.3 实时数据上报 12
2.3.1 实时数据上报请求 12
2.3.2 实时数据上报回应 13
2.4 状态上报 13
2.4.1状态上报请求 14
2.4.2状态上报回应 14
2.5 远程控制 15
2.5.1 远程控制请求 15
2.5.2 远程控制请求回应 16
2.6告警上报 17
2.6.1告警上报请求 17
2.6 告警上报回应 18
2.7 刷卡事件 19
2.7.1刷卡上报请求 19
2.7.2 刷卡上报回应 20
2.8 平台下发设置参数 20
2.8.1 平台下发设置参数请求 20
2.8.2 平台下发设置参数回应 21
2.9 配置查询 22
2.9.1 配置查询请求 22
2.9.2 配置查询回应 23
2.10 远程升级 24
2.10.1 远程升级请求 24
2.10.2 远程升级回应 24
2.11 远程重启 25
2.11.1 远程重启请求 25
2.11.2 远程重启回应 26
附录:信号量字典表 27
一、概述
1.1 适用范围和意义
为了建立统一的充电桩管理平台,统一充电桩管理平台与充电桩物联网网关/主机的通讯接口,本文制定了《低速充电桩 TCP 接口协议》。在本文中,《低速充电桩 TCP 接口协议》统一简称为本协议。
一个充电桩物联网网关/主机可能带一个或者多个子设备。
1.2 名词定义
在本协议中,定义如下名词:
名称 说明 备注
IOT_Dev 充电桩
IOT_Server 协议服务器
网关/主机 充电桩通过网关或者主机与平台进行通讯
子设备 充电桩网关或者主机携带的一个或者多个设备
1.3 修改历史记录
版本 日期 内容 人员
V0.1 2022年 09月20 日 协议草案
V0.2 2022年10月11日 告警上报中添加05102001上报
1.4报文状态定义
1.4.1 充电桩类型
状态 编码 备注
直流充电桩 1
交流充电桩 2
交直流充电桩 3
1.4.2 充电口类型
状态 编码 备注
直流(DC) 1
交流(AC) 2
1.4.3 充电口状态
状态 编码 备注
待连接 0
空闲 1
充电中 2
已充满 3
异常 4
掉线 5
1.4.4 电池信息
适用直流充电桩,交流充电桩不需识别。
状态 编码 备注
未识别 0
适合充电的铅酸电池 1
适合充电的锂电池 2
损坏的铅酸电池 3
不符合标准的铅酸电池 4
损坏的锂电池 5
不符合标准的锂电池 6
1.5通讯规则
1.5.1 协议服务器(IOT_Server)
充电桩和 IOT_Server 连接为 TCP 长连接,采用域名(Domain Name):端口(Port)方式, 域名和端口号由平台运营厂商提供。如果正式连接地址无法连接,设备应自动切换到备份连接地址进 行连接。
正式连接地址:XX.XXXX.com:XXXX
测试连接地址:Test_XX.XXXX.com:XXXX
1.5.2 通讯报文原则
设备登录:IOT_Dev 进行向 IOT_Server 发送登录请求;
设备鉴权:IOT_Server 收到 IOT_Dev 登录请求,通过设备 ID 进行鉴权,如果是合法设备则允许进行连接,并向 IOT_DEV 发送登录成功数据包,否则强制关闭 TCP 连接;
报文收发:IOT_Dev 与 IOT_Server 建立数据连接以后,发送设备状态、故障/报警信息; IOT_Server 向IOT_Dev 发送控制指令;
连接失败:如果设备连续 10 个包发送失败或者连续 10 分钟无法与平台建立连接,则设备判断为请求连接失败,需要重新发起连接。
1.6 报文格式
本协议报文内容采用 UTF-8 编码 JSON 格式。
1.6.1 报文协议说明
1.报文中所有数值类型为十进制;
2.报文中时间为 13 位 Unix 时间戳,格式是字符串,如:2019-09-03 19:07:05 转换为“1567508825531”;如果设备端的 CPU 是 32 位的,最大是 10 位字符,则在后面补位0,达到 13 位
3.报文中不允许使用转义字符,如\n、\t、\r、\s;
4.报文中的交易流水号规则:CD+yymmdd+8位数字 如:CD22090112345678
5.报文中字符类型的时间格式可为“yyyy-MM-dd HH:mm:ss” 如:2019-09-03 19:07:05
1.6.2 报文类型
报文类型 报文动作 数据流方向 类型编码
登录 登录请求 平台设备 110
登录响应 平台设备 111
心跳 心跳上报请求 平台设备 310
心跳上报响应 平台设备 311
实时数据上报 实时数据上报请求 平台设备 310
实时数据上报响应 平台设备 311
状态上报 状态上报请求 平台设备 310
状态上报响应 平台设备 311
远程控制 远程控制请求 平台设备 500
远程控制响应 平台设备 501
告警上报 告警上报请求 平台设备 410
告警上报响应 平台设备 411
刷卡事件 刷卡事件请求 平台设备 410
刷卡事件响应 平台设备 411
平台下发设置参数 平台下发设置参数请求 平台设备 500
平台下发设置参数响应 平台设备 501
配置查询 配置查询请求 平台设备 210
配置查询响应 平台设备 211
远程升级 远程升级请求 平台设备 500
远程升级响应 平台设备 501
远程重启 远程重启请求 平台设备 500
远程重启响应 平台设备 501
历史数据上报 历史数据上报请求 设备平台 310
历史数据上报响应 设备平台 311
1.6.7报文省略说明
在本协议中,报文参数不必全量上报,可根据实际情况省略部分键值对。
1.7充电桩上报策略
1.7.7遥测上报策略
充电桩上电后一直保持长连接,并且 60 秒一次的长连接上报,上报信息要包含正在充电的端口信息,如充电口状态,充电电压,充电电流,已充电量。
1.7.8告警上报策略
告警触发后向平台上报告警开始报文,上报成功后不再需要重复上报该告警,仅需将告警信号量状态随遥测报文定时上报。告警消除条件:5min 内告警一直处于消除状态,才能上报告警结束报文,消除告警。
1.7.9离线判断
TCP 连接断开或者 20 分钟未收到性能上报报文,即判断为离线,恢复连接后恢复上线。
1.7.10设备编码规则
通讯协议中网关、主机、设备与子设备的 ID 编码规则如下:
1.编码共 12 位,格式为XXXXYYYYYYYY,其中 XXXX 表示 4 位厂家代码, YYYYYYYY 为 8 位 ID
2.厂家英文代码为四位,若不足四位,以数字“0”补位,在厂家代码后面补“0”
3.集中式的设备如果是 1 拖 10,则 10 个端口的命名规则为:XXXXYYYYYY00-
XXXXYYYYYY09,XXXXYYYYYY00 为端口 0 的 ID
4.分布式设备的格式为 XXXXYYYYYYYY,其中 XXXX 表示 4 位厂家代码, YYYYYYYY 为分布式设备的 8 位ID;
2充电桩协议
2.1登录
充电桩第一次连接服务器,或是充电桩断电后重新加电,充电桩被服务器强制断开连接后重新连接服务器。
2.1.1 登录请求
名称 父节点 含义 说明
msgType 报文代码 编码:110,登录请求
devId 设备 ID 网关/主机的 ID
txnNo 消息流水号 13 位时间戳
iccid IMEI 或IMSI 或ICCID 流量卡的 ICCID
devType 设备类型 5:充电桩
devAttr 设备属性 1:集中式充电桩
2:分布式充电桩
devElecAttr 设备交直流属性 1:直流充电桩
2:交流充电桩
3:交直流充电桩
softVersion 软件版本号 充电桩的软件版本
hardVersion 硬件版本号 充电桩的硬件版本
protocolVersion 协议版本号 平台通信协议版本:V1
devList 设备列表 网关/主机携带的子设备列表
devId devList 子设备 ID 子设备的 ID
报文示例:
{
“msgType”: 110,
“devId”: “MMCD12345600”, “txnNo”: “1567508825531”,
“iccid”: “123456789”,
“devType”: 3,
“devAttr”: 2,
“softVersion”: “”,
“hardVersion”: “”, “protocolVersion”: “V1”, “devList”: [{
“devId”: “MMCD12345601”
}, {
}]
}
"devId ": “MMCD12345602”
2.1.2 登录回应
名称 父节点 含义 说明
msgType 报文代码 编码:111,登录回应
devId 设备 ID 网关/主机的 ID
txnNo 消息流水号 与请求报文的 txnNo 对应
result 结果 0:失败
1:成功
报文示例:
{
“msgType”: 111,
“devId”: