微信充电终端 充电站与服务器 通信协议第4版二轮充电桩协议对接充电系统源码搭建

微信充电终端 充电站与服务器 通信协议第4版
使用GPRS网络通信 TCP连接协议
凡是“保留”表示暂时不用,没有实际作用,可为任意值,一般可写入0。
如果服务器发送的指令码不存在,或者版本不支持,下位机可能不会回复数据。

服务器软件编写流程:
1:充电站上电后或断网重新连接后,会自动向服务器发送指令码是0x01的数据,服务
器收到该数据后,读取该充电站编号、通道总数等信息。在客户端上显示该充电站在线。
2:用户扫码或通过微信客户端充电时,服务器根据用户选择的插座号,对充电站发送0x20指令,打开对应插座。每分钟使用0x23指令读一次功率,然后计费。如果收到了充电站发来的0x04指令,判断是插座关闭时,应停止计费,并根据收到的数据提示插座关闭原因。
3:有用户刷卡时,服务器回复该卡余额(该卡号已添加到服务器内部),并告知充电站该卡是否可以使用。如果可以使用,充电站会继续让用户输入插座号,输入正确后,打开该插座,并报告给服务器,服务器开始对该卡计费。计费过程与第2步相同。
4:在计费过程中如果断网,建议服务器按最后一次收到的功率计费,或按照读到的最大功率计费。直到与该充电站重新建立连接后,先读全部继电器状态,如果某个继电器已关闭,应立即停止计费。再读全部通道的平均功率,正在使用的,按照当前功率正常计费。
服务器软件按照上述步骤即可正常计费。关于输入的插座号不存在、输入的插座号被占用、空载断电、充满断电、过载断电 等其它问题,充电站已在硬件上进行处理,服务器编写程序时,不用考虑这些非正常操作的情况。

服务器软件编写注意事项:
1、通信中没有采用短格式“心跳信号”,而是使用正常通信数据作为“心跳信号”。充电站90s未收到服务器返回的数据,认为与服务器连接已经断开,自动重新连接网络。
充电站在向服务器发送数据时,如果数据发送失败,也会自动重新连接网络。
服务器发送数据,充电站会立即响应,网络状态良好的情况下,响应时间约0.3s。实际使用时,网络延时约1-6s左右;个别指令执行时间较长,加上网络延时,响应时间在10s左右。如果超过规定时间充电站未响应,可认为充电站离线。注意:在网络使用高峰期拥堵情况下,实测服务器发送一条指令,充电站3分钟后才收到。
2、服务器对充电站发送指令后,应当等待充电站回复数据后,再发下一条指令。如果服务器对充电站连续发送多条指令,因为充电站对指令做出响应需要一定的时间(带有粘包处理,但不保证每条指令都能按发送顺序正确处理,可能存在后发先到情况),部分指令会被忽略。
3、服务器每次与充电站重新连接后,可以使用0x28指令读取充电站通道状态。因为在充电站断网期间,部分通道也会因空载、充满、过载等原因自动关闭。
4、0x23指令获取的是充电站每个通道1分钟的功率平均值。服务器正常计费时,应当使用0x23指令获取功率值,并且每分钟根据当前功率扣费一次。

1、充电站通电后向服务器发送本机信息。包括本机通道总数、GPRS网络信号强度、基站定位位置、2G/4G网络。
2byte 4byte 1byte 1byte 1byte 1byte 7byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x01 0x00 8 xx data0-data6 xxxx 0x7887
帧头:固定为0x5aa5,所有发送数据全部以0x5aa5开头。 973E
充电站编号:充电站的出厂编号 4byte
指令码:该数据的功能。
帧号:帧号是0表示第0帧数据。
帧长度:表示收到该数据后,后面还有7字节数据,不算最后两字节的CRC16校验数据和帧尾。8+4
错误代码:保留。
数据包:data0:本机通道总数。如16路、20路、32路、40路
data1:GPRS网络信号强度 范围:0-99
data2-data3:基站定位LAC
data4-data5:基站定位CID
data6=0:2G网络,SIM800C方案;data6=1:4G全网通,SIM7600CE方案。
2:2G,A9方案;3:4G,EC20方案 4:网口
CRC16校验:对从“充电站编号”—“数据包data6”共17字节进行CRC16校验,高字节在前,低字节在后。CRC校验部分版本未处理
帧尾:固定为0x7887,所有发送数据全部以0x7887结束。
5aa5 50101085 01 030801 0a 3c b8d6 600e 03 e1507887
4+1+3+1+1+2+2+1=15
服务器收到数据后向充电站回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x01 0x00 0x01 Xx xxxx 0x7887
帧头:固定为0x5aa5,所有发送数据全部以0x5aa5开头。
充电站编号:充电站的出厂编号 4byte
指令码:该数据的功能。
帧号:帧号是0表示第0帧数据。
帧长度:表示收到该数据后,后面还有1+4*n(n表示这台设备后面485总线上带的设备数量,包括本机)字节数据,不算最后两字节的CRC16校验数据和帧尾。
错误代码:0:数据接收失败;1:数据接收成功;2:CRC16校验失败,数据接收失败。
CRC16校验:对从“充电站编号”—“数据包结尾”字节进行CRC16校验,高字节在前,低字节在后。
帧尾:固定为0x7887,所有发送数据全部以0x7887结束。

2、充电站刷卡后向服务器发送卡号,查询该卡余额。
2byte 4byte 1byte 1byte 1byte 1byte 8byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x02 0x00 9 xx data0-data7 xxxx 0x7887
数据包:data0-data7:IC卡卡号 8字节。

服务器收到数据后向充电站回复信息
2byte 4byte 1byte 1byte 1byte 1byte 4byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x02 0x00 5 xx data0-data3 xxxx 0x7887
错误代码:0:该卡无法使用,未激活;1:该卡可以使用;2:CRC16校验失败,数据接收失败;3:该卡余额不足;4:此卡正在使用,5:此卡未注册,6:挂失,7:月卡。
数据包:data0-data3:该卡内金额,以分为单位,1234=12.34元。
7:月卡
Data0-1:分钟
Data2-3:天数

3、充电站向服务器发送数据,使用某个卡号 打开/关闭某个通道。服务器收到数据后开始/停止计费。
2byte 4byte 1byte 1byte 1byte 1byte 10byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x03 0x00 11 xx data0-data9 xxxx 0x7887
数据包:data0:通道号 (范围:1-40)
data1:data1=0:关闭;data1=1:打开。
data2-data9:IC卡卡号 8字节。

服务器收到数据后向充电站回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x03 0x00 1 xx xxxx 0x7887
错误代码:0:请求失败。1:请求成功,服务器已开始/停止计费,充电站可以打开/关闭端口;2:CRC16校验失败,数据接收失败。
数据包:保留。

4、充电站向服务器发送数据,因为功率异常等原因,某个通道被打开/关闭。服务器收到数据后开始/停止计费,并可显示关闭原因。
2byte 4byte 1byte 1byte 1byte 1byte 3byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x04 0x00 3+1 xx data0-data2 xxxx 0x7887
数据包:data0:通道号 (范围:1-40)
data1:data1=0:关闭;data1=1:打开。
data2:如果data1=0:未知原因;1:空载;2:充满(参考电池BMS充满标准);3:过载(实际功率大于本机最大允许功率)4:后台关闭,5:故障,(温度异常)
5aa510160088 04000400050001dfa97887
5aa510160088 04000400050001dfa97887
5AA510160050045D04000200013B697887
5AA510000008047D04000700024BDB7887

服务器收到数据后向充电站回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x04 0x00 1 xx xxxx 0x7887
错误代码:0:接收失败。1:接收成功,服务器已开始/停止计费;2:CRC16校验失败,数据接收失败。
4.1、充电站向服务器发送数据,因为功率异常等原因,某个通道被打开/关闭。服务器收到数据后开始/停止计费,并可显示关闭原因。
2byte 4byte 1byte 1byte 1byte 1byte 3byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x05 0x00 3+1 xx data0-data2 xxxx 0x7887
数据包:data0:通道号 (范围:1-40)
data1:data1=0:关闭;data1=1:打开。
data2:如果data1=0:0:未知原因(温度异常);1:空载;2:充满(参考电池BMS充满标准);3:过载(实际功率大于本机最大允许功率)4:后台关闭,5:故障,继电器粘连等。

服务器收到数据后向充电站回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x05 0x00 2 xx data0 xxxx 0x7887
错误代码:0:接收失败。1:接收成功,服务器已开始/停止计费;2:CRC16校验失败,数据接收失败。
数据包data0:插座号(1-40)

5、服务器向充电站设置功率上报0x23指令发送间隔。 (未实现)
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x18 0x00 3 xx xxxx 0x7887
Data0-1:时间间隔,单位:1S
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x18 0x00 1 xx xxxx 0x7887
错误代码:0:接收失败。1:接收成功;2:CRC16校验失败,数据接收失败。

6.3、服务器向充电站发送指令,开启/关闭指定通道,并指定充电时长。
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x19 0x00 5 xx data0-data1 xxxx 0x7887
数据包:错误代码:0x00 设置充电时间内,空载不停,充满不自停,过载停机
0x01 设置充电时间内,检测空载,充满自停,过载停机
0x02 设置充电时间内,检测空载,充满不自停,过载停机
0x03 设置充电时间内,空载不停,充满自停,过载停机
data0:充电通道号(1-40)。
data1=0:结束充电;data0=1:开始充电。
data2-3:充电时间,单位:1分钟
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x20 0x00 3 xx data0-data1 xxxx 0x7887
错误代码:0:执行失败;1:执行成功;2:CRC16校验失败,数据接收失败。
数据包:data0:充电通道号(1-40)。
data1=0:结束充电;data0=1:开始充电。

6.1、服务器向充电站发送指令,开启/关闭指定通道。
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x20 0x00 3 xx data0-data1 xxxx 0x7887
错误代码:0:正常开启;0xFF取消空载检测,保留充满自停,过载、漏电停机; 其他值,设置最短充电时长,在此时间内不进行空载检测、充满自停判断,单位6min,即0.1小时
数据包:
data0:充电通道号(1-40)。
data1=0:结束充电;data0=1:开始充电。

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x20 0x00 3 xx data0-data1 xxxx 0x7887
错误代码:0:执行失败;1:执行成功;2:CRC16校验失败,数据接收失败。
数据包:data0:充电通道号(1-40)。
data1=0:结束充电;data0=1:开始充电。

6.2、服务器向充电站发送指令,开启/关闭指定几个通道。
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x21 0x00 N+2 xx data0-data32 xxxx 0x7887
数据包:data0:充电通道数(1-32)。
data1=0:1号通道 结束充电;data0=1:开始充电。
data2=0:2号通道 结束充电;data0=1:开始充电。
data3=0:3号通道 结束充电;data0=1:开始充电。

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 2byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x21 0x00 N+2 xx data0-data32 xxxx 0x7887
错误代码:0:执行失败;1:执行成功;2:CRC16校验失败,数据接收失败。
数据包:data0:充电通道号(1-40)。
data1=0:1号通道结束充电;data0=1:1号通道开始充电。

9.1、服务器向充电站发送指令,获取全部通道一分钟的平均功率值。(新版本修改为:充电站每分钟向服务器主动发送23指令,服务器回复31指令,充电站再次回复31指令,做一次交互)
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x23 0x00 1 xx xxxx 0x7887

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 20byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x23 0x00 21 xx data0-data19 xxxx 0x7887
帧长度:总通道2+6 当总通道是10时,帧长度是102+1。40通道机器的帧长度是86。
错误代码:0:获取失败;1:获取成功;2:CRC16校验失败,数据接收失败。
数据包:data0-data1:通道1功率值,单位W。
data2-data3:通道2功率值,单位W。
data4-data5:通道3功率值,单位W。
data6-data7:通道4功率值,单位W。
……………………………………….
9.2、服务器向充电站发送指令,获取全部通道的累计电量值。(未实现)

2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x24 0x00 1+n xx xxxx 0x7887

数据包:data0-datan:请求通道1-n电量值,单位KW*h。

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 20byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x24 0x00 1+2n xx data0-data2n xxxx 0x7887
帧长度:总通道2+6 当总通道是10时,帧长度是102+6。40通道机器的帧长度是86。
错误代码:0:获取失败;1:获取成功;2:CRC16校验失败,数据接收失败。
数据包:data0-data2n: 通道1电量值,单位KW*h。

9.3、服务器向充电站发送指令,升级设备hex程序。

2byte 4byte 1byte 1byte 1byte 1byte 10byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x2A 0x00 11 xx data0-data9 xxxx 0x7887
Data0-1:程序版本硬件+软件
Data2-5:程序地址
Data6-9:程序数据总长度
9.4充电站收到数据后向服务器回复请求程序数据信息
2byte 4byte 1byte 1byte 1byte 1byte 6byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x2B 0x00 7 xx data0-data5 xxxx 0x7887
错误代码:0:版本重复或更高,不需升级,此时数据包为全0;1:设备正常,请求数据; 2:CRC16校验失败,数据接收失败。
数据包:data0-data3:地址偏移量。00000000
Data4-data5:数据长度。
9.5服务器发送程序hex数据
2byte 4byte 1byte 1byte 1byte 1byte n+6 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x2B 0x00 n+7 xx data0-data(n+6) xxxx 0x7887
错误代码:0:获取失败;1:获取成功;2:CRC16校验失败,数据接收失败。
数据包:data0-data3:地址偏移量。
Data4-data5:数据长度(n)。实际使用128字节
Data6-data(n+6)(n个数据=32*4):数据。

10、服务器向充电站发送指令,获取全部通道工作状态,该通道是打开还是关闭。
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x28 0x00 1 xx xxxx 0x7887

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 5byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x28 0x00 6 xx data0-data4 xxxx 0x7887
错误代码:0:获取失败;1:获取成功;2:CRC16校验失败,数据接收失败。
数据包:data0:bit7-bit0表示通道8-通道1的状态。bit0=0:通道1的状态是关闭;bit0=1:通道1的状态是开启。
data1:bit7-bit0表示通道16-通道9的状态。
data2:bit7-bit0表示通道24-通道17的状态。
data3:bit7-bit0表示通道32-通道25的状态。
data4:bit7-bit0表示通道40-通道33的状态。
11、服务器向充电站发送指令,获取单个通道工作状态,电压、电流、功率、剩余充电时长。
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x29 0x00 2 xx xxxx 0x7887
Data0:要查询的端口号
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 5byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x29 0x00 6 xx data0-data4 xxxx 0x7887
错误代码:0:获取失败;1:获取成功;2:CRC16校验失败,数据接收失败。
数据包:Data0:状态 0:关闭; 1:开启 2: 温度保护 3:漏电保护4:整机过载保护5:保险管熔断6:插座过载或短路保护。
Data1-data2:插座充电电压单位0.1v。2
Data3-data4:插座电流值,单位0.01A。2
Data5-data6:插座功率值,单位W。 2
Data7-data8:插座电能值,单位0.01度。2
Data9-data10:插座剩余充电时长,单位分钟 2

12、服务器向充电站发送指令,获取充电站信息,包括本机通道总数、GPRS网络信号强度、基站定位位置。
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x31 0x00 1/2 xx 1字节空载检测时间倍数(空载检测时间单位6S) xxxx 0x7887
此参数不保存,单次设置有效,充电站重启后回复初始值6S。
5AA51016001331070101CC687887
5AA510160013310408010A36086000040392CC7887
5AA550103113310002010500007887
5AA550103113319208010A5D08680022036C3F7887
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 6byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x31 0x00 8 xx data0-data5 xxxx 0x7887
错误代码:0:获取失败;1:获取成功。
5AA550160179310002010200007887
数据包:data0:本机通道总数
data1:GPRS网络信号强度
data2-data3:硬件+软件版本号
data4-data5:环境温度
data6=0:2G网络, data6=1:4G网络

13、服务器向充电站发送指令,获取充电站SIM卡的ICCID。
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x3a 0x00 1 xx xxxx 0x7887

示例:5aa5 00000000 3a000100 00007887

充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 12byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 CRC16校验 帧尾
0x5aa5 xx 0x3a 0x00 13 xx data0-data11 xxxx 0x7887
错误代码:0:获取失败;1:获取成功。
数据包:
data0-data1:保留
data2-data11:SIM卡的ICCID 89 86 07 B8 10 17 30 44 37 34
示例:5A A5 00 00 00 00 3A 00 0D 01 00 00 89 86 07 B8 10 17 30 44 37 34 00 00 78 87

14、服务器向充电站发送指令,重启充电站。充电站回复数据后开始重启。
2byte 4byte 1byte 1byte 1byte 1byte 1byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x40 0x00 2 xx data0 xxxx 0x7887
data0: 0:仅重启GPRS板 1:重启充电站全部板卡
示例:5AA590000001400002 00 01 00007887
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x40 0x00 1 xx xxxx 0x7887
错误代码:0:执行失败;1:执行成功,准备执行重启;2:ADD16校验失败,数据接收失败。

15、服务器向充电站发送指令,设置充电站音量大小。
2byte 4byte 1byte 1byte 1byte 1byte 1byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x41 0x00 2 xx data0 xxxx 0x7887
data0: 0-30:音量值
示例:5AA590000001b00002 00 01 00007887
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x41 0x00 1 xx xxxx 0x7887
错误代码:0:执行失败;1:执行成功,

16、服务器向充电站发送指令,设置后台IP地址及端口。
2byte 4byte 1byte 1byte 1byte 1byte 1byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x42 0x00 IP+Port+2 xx data0 xxxx 0x7887
data0-datan: IP地址:Port (例:159.168.1.1:9000)
示例:5AA590000004200 00007887
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x42 0x00 1 xx xxxx 0x7887
错误代码:0:执行失败;1:执行成功,

17、服务器向充电站发送指令,设置充电站ID编号。
2byte 4byte 1byte 1byte 1byte 1byte 1byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x43 0x00 9 xx data0 xxxx 0x7887
data0-7: 8位ID
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x43 0x00 1 xx xxxx 0x7887
错误代码:0:执行失败;1:执行成功,
18、服务器向充电站发送指令,重启显示和刷卡板。充电站回复数据后重启。
2byte 4byte 1byte 1byte 1byte 1byte 1byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x44 0x00 2 xx data0 xxxx 0x7887
data0: 0:仅重启显示和刷卡板 1:重启充电站全部板卡
示例:5AA590000001400002 00 01 00007887
充电站收到数据后向服务器回复信息
2byte 4byte 1byte 1byte 1byte 1byte 0byte 2byte 2byte
帧头 充电站编号 指令码 帧号 帧长度 错误代码 数据包 ADD16校验 帧尾
0x5aa5 xx 0x44 0x00 1 xx xxxx 0x7887
错误代码:0:执行失败;1:执行成功,准备执行重启;2:ADD16校验失败,数据接收失败。

补充协议1

协议目标:与大功率充电桩通讯,获取充电桩状态、发送命令等
通讯方式:485通讯,波特率9600,8数据位,1停止位,无校验位
协议内容:大功率充电桩基本的协议与原本的通讯协议兼容,有自己的主板编号,对于没有通讯模块的大功率板,可以借助于主控板的通讯模块实现数据到后台的转发。大功率板也可以自带通讯模块不使用本协议。
协议实现:大功率充电桩可以使用自己的通讯模块与后台通讯,当没有自己的通讯模块时,通过485发送数据到主控板,主控板将数据直接转发给后台,主板从后台接受的数据首先判断主板号是否与自己相同;相同则直接执行,不同则通过485转发给大功率充电板。

补充协议2

WIFI自组网协议:
不带通讯模块的设备搜寻附近的AP,连接后和AP通讯,带AP的设备统计连上自己的设备状态,路数、充电功率等信息,向后台转发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

玉阳软件yuyangdev_cn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值