智能充电桩服务系统软硬件通讯协议

该协议内容遵循modbus-rtu协议,如有不足,还请各路大神指正。

1、设备链接服务器或与服务器心跳

设备主机上电:设备主机自动向服务器发送 “00” 指令,请求注册或设备与服务器通讯心跳(每10秒)。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口数据长度(字节)

端口编号

端口状态

端口编号

端口状态

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

00

04

01

00

02

01

69

说明:端口数据长度包括端口编号和端口状态,如有12个端口,则数据长度是24字节

端口状态:00空闲, 01可用, 02关闭, 03充电中。

设备主机:未收到“01”指令,说明服务器未连接成功,设备每隔3秒向服务器发送1次“00” 指令,直至收到服务器回复“01”指令,说明注册成功。

此处如果分不清注册连接和心跳,可分为两个协议来使用,需确认。

2、设备链接服务器后,服务器回复连接成功并发送校时时间

服务器:收到“00”指令后注册,回复“01”指令,说明注册成功并要求同步网络时间。

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

01

22

08

01

18

06

23

69

说明:协议中时间年月日时分秒都是十进制下的值

3、卡信息查询

设备主机上报:用户刷卡,查询人员信息,发送“02”指令,请求查询。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

芯片号1

芯片号2

芯片号3

芯片号4

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

02

01

0E

FA

36

69

说明:芯片号码由“芯片号码1”“芯片号码2”“芯片号码3”“芯片号码4”组成,即示例中芯片号为:“010EFA36”。

4、人脸信息查询

设备主机上报:用户刷脸,查询人员信息,发送“03”指令,请求查询。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

人脸数据

字节长度

人脸信息01

人脸信息02

人脸信息03

人脸信息04

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

03

04

01

0E

FA

36

69

说明:人脸信息字节长度是指后面“人脸信息01”,“人脸信息02”,“人脸信息03”,.....等数据组合的字节长度。

5、设备刷卡和人脸识别后,服务器返回人员信息

服务器:收到刷卡“02”或人脸识别“03”查询人员信息后,回复“04”指令,并返回人员信息。

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

会员号

01

会员号

02

会员号

03

余额千万位百万位

余额十万位万位

余额千位百位

余额

十位个位

余额

小数位

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

04

22

08

01

00

00

23

12

56

69

说明:会员号是由“会员号01”“会员号02”“会员号03”组成,即示例中会员号是“220801”,余额是由“余额千万位百万位”“余额十万位万位”“余额千位百位”“余额十位个位”“余额小数位”组成,即实例中余额为“2312.56”元。

6、服务器控制设备开始充电

服务器:小程序端用户开启充电或设备前用户刷卡或刷脸后按键启动充电,发送“05”指令,设备指定端口开启充电。

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

端口编号

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

05

02

69

说明:通知设备指定端口号开启充电,端口编号十六进制,表达第几号端口。

7、服务器通知设备停止充电

服务器:小程序端用户停止充电或设备前用户刷卡或刷脸后按键停止充电,发送“06”指令,设备指定端口开启充电。

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

端口编号

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

06

02

69

说明:通知设备指定端口号停止充电,端口编号十六进制,表达第几号端口。

8、服务器通知设备充电或关闭/开启端口后,设备回复服务器端口状态

设备主机上报:服务器通知设备主机开启充电成功后或者关闭端口号后或开启端口号后,回复“07”指令,上报端口状态。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

07

01

00

69

说明:设备开启充电后,向服务器上报端口状态,端口状态:00空闲, 01可用, 02关闭, 03充电中。

9、服务器通知设备停止充电后,设备上报数据给服务器

设备主机上报:服务器通知设备主机停止充电成功后,回复“08”指令,上报端口状态,上报功率和电量。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

功率高位

功率低位

电量高位

电量低位

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

08

01

00

69

说明:设备停止充电后,向服务器发送当前设备端口状态,功率,电量信息。

10、服务器查询设备所有端口状态

服务器:查询设备状态,发送“09”指令。

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

09

69

11、设备响应服务器查询端口状态

设备主机上报:服务器查询设备状态,发送“09”指令后,回复“0A”指令,上报端口状态。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口数据长度(字节)

端口编号

端口状态

端口编号

端口状态

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0A

04

01

00

02

01

69

说明:通知服务器端口状态,端口编号十六进制,端口状态:00空闲, 01可用, 02关闭, 03充电中。

12、电枪插入,设备上报服务器

电枪插入车辆后,设备向服务器发送指令“0B”指令,告知服务器当前插入设备的端口号。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0B

01

69

说明:通知设备指定端口号开启充电,端口编号十六进制,表达第几号端口。

13、电枪拔开,设备上报服务器

电枪插入车辆后,设备向服务器发送指令“0C”指令,告知服务器当前插入设备的端口号。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0C

01

69

说明:通知设备指定端口号开启充电,端口编号十六进制,表达第几号端口。

14、电量充满后,设备自动断电

设备判断充满电后,自动断电,向服务器发送“0D”指令,告知服务器端口订单已充满

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0D

01

69

说明:服务器收到该指令后,是否需服务器发送停止指令给设备,具体看设备定

15、低功率充电心跳

低功率充电桩开始充电后,发送心跳数据到服务器,指令“0E

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

功率高位

功率低位

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0E

01

00

69

说明:端口编号十六进制,端口状态:00空闲, 01可用, 02关闭, 03充电中。

功率需要硬件补充完整,此处可以使用高位低位来表达功率数据,整数部分,小数部分。

16、大功率充电心跳

低功率充电桩开始充电后,发送心跳数据到服务器,指令“0F

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

功率高位

功率低位

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

0F

01

00

69

说明:端口编号十六进制,端口状态:00空闲, 01可用, 02关闭, 03充电中。

功率需要硬件补充完整,此处可以使用高位低位来表达功率数据,整数部分,小数部分。

17、汽车交流心跳

汽车交流充电桩开始充电后,发送心跳数据到服务器,指令“10

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

电量高位

电量低位

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

10

01

00

69

说明:端口编号十六进制,端口状态:00空闲, 01可用, 02关闭, 03充电中。

电量需要硬件补充完整,此处可以使用高位低位来表达电量数据,整数部分,小数部分。

18、汽车直流心跳

汽车交流充电桩开始充电后,发送心跳数据到服务器,指令“11

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

端口状态

电量高位

电量低位

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

11

01

00

69

说明:端口编号十六进制,端口状态:00空闲, 01可用, 02关闭, 03充电中。

电量需要硬件补充完整,此处可以使用高位低位来表达电量数据,整数部分,小数部分。

19、关闭端口

管理端控制设备某个端口关闭,发送指令“12

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

端口编号

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

12

02

69

说明:端口编号十六进制。

20、开启端口

管理端控制设备某个端口关闭,发送指令“13

头标识符

数据起始符

命令字

数据长度高位字节

数据长度低位字节

端口编号

crc16校验高位字节

crc16校验低位字节

结束符

FA

F5

96

13

02

69

说明:端口编号十六进制。

21、刷卡或刷脸后,设备选择端口

设备点击某个端口按钮后,通知服务器,发送指令“14”,等待服务器返回指令。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

14

01

69

说明:端口编号十六进制。

22、刷卡或刷脸后,设备开启充电

设备点击某个端口按钮后,通知服务器,发送指令“15”,服务器校验通过后,发回指令可以开始充电,设备点击开始充电,通知服务器,等待服务器返回充电指令。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

15

01

69

说明:端口编号十六进制。此场景需确定设备是否有开始按钮,若没有此按钮,则在协议【刷卡或刷脸后,设备选择端口,发送指令“14”】后,服务器就会下发充电指令。具体看硬件设备定

23、设备端点击结束充电按钮

点击结束前,需设备先选择结束那个端口的充电订单,即选择端口号,发送“16”指令。

设备编号(15字节)

头标识符

数据起始符

命令字

数据长度

高位字节

数据长度

低位字节

端口编号

crc16校验

高位字节

crc16校验

低位字节

结束符

383630303539303530393532303633

FA

F5

96

16

01

69

说明:端口编号十六进制。

补充说明:

不论是从那个终端发起操作,统一使用场景有:开始充电、停止充电、开启端口、关闭端口

  1. 服务器开始充电指令与设备开启充电后上报指令
  2. 服务器停止充电指令与设备停止充电后上报指令
  3. 服务器开启端口指令与设备端口状态上报指令
  4. 服务器关闭端口指令与设备端口状态上报指令

指令集:

场景

指令

设备连接服务器

0x00

设备与服务器心跳通讯

0x00

服务器响应连接并发送服务器时间

0x01

易充卡信息查询

0x02

人脸信息查询

0x03

刷卡或人脸查询的人员信息及余额

0x04

服务器通知设备开始充电

0x05

服务器通知设备停止充电

0x06

服务器通知设备开始充电、开启端口、关闭端口后,设备执行后端口状态上报

0x07

设备停止充电后,数据上报服务器

0x08

服务器查询设备所有端口状态

0x09

设备所有端口状态上报

0x0A

电枪插入,设备上报给服务器

0x0B

电枪拔开,设备上报给服务器

0x0C

电量充满后,设备主动断电

0x0D

低功率设备充电心跳

0x0E

大功率设备充电心跳

0x0F

汽车交流桩充电心跳

0x10

汽车直流桩充电心跳

0x11

服务器通知设备关闭端口

0x12

服务器通知设备开启端口

0x13

刷卡或刷脸后,设备上点击端口按钮

0x14

刷卡或刷脸后,设备上点击开始充电按钮

0x15

设备上点击结束充电按钮

0x16

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“智”电无忧是一款基于STM32的智能充电桩管理系统,它融合了先进的硬件和软件技术,为充电桩的管理提供了高效、智能的解决方案。 首先,“智”电无忧采用了STM32芯片作为核心控制芯片,具备强大的计算能力和高可靠性。该芯片支持多个通信接口,可以与充电桩中的各种传感器、电池管理系统等进行接口对接,实时监测桩体的状态和充电情况。 其次,该系统具备智能化的充电管理功能。通过与云平台的连接,充电桩可以实现远程控制和监测。用户可以通过手机App或者网页端进行充电桩的预约、查看充电状态、支付等操作。同时,系统中还集成了智能计费系统,可以根据电量、时间等因素进行精确计费,保证用户的用电成本和消费透明度。 此外,“智”电无忧还具备高度安全性和稳定性。系统在设计上考虑到充电桩的安全需求,包括过压、过流、短路等多种保护机制,有效防止安全事故的发生。同时,系统还具备自动故障检测和报警功能,一旦出现问题可以及时发出警报并采取相应的措施,保障用户和设备的安全。 总的来说,“智”电无忧是一款功能强大、智能化的充电桩管理系统。它利用STM32芯片的高性能,实现了充电桩的实时监测、远程控制和智能计费等功能。同时,系统还注重安全性和稳定性,保障用户和设备的安全。这一系统的应用将极大地提升充电桩的管理效率和用户体验,为电动汽车的普及提供了有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值