Skip to content

扫码充设备私有通信协议 V2.0.6

1 协议基础

1.1 通信方式

通信使用 MQTT-3.1.1 协议,采用“注册服务器 + 业务服务器”的双服务器架构。连接参数与 Topic 约定如下:

连接参数示例数据说明
注册服务器域名login.goldmel.com设备首次上线用于注册与录入流程
注册服务器端口1883MQTT 标准端口
注册服务器用户名device_login注册链路鉴权账号
注册服务器密码device_login@...注册链路鉴权密码
注册服务器上行Topicgm/login/dev/<IMEI>设备向注册服务器上报数据
注册服务器下行Topicgm/login/srv/<IMEI>注册服务器向设备下发数据
业务服务器域名mqtt.goldmel.com设备完成录入后切换到业务链路
业务服务器端口1883MQTT 标准端口
业务服务器用户名user业务链路鉴权账号
业务服务器密码user业务链路鉴权密码
业务服务器上行Topicgm/charger/dev/<IMEI>设备向业务服务器上报运行与订单数据
业务服务器下行Topicgm/charger/srv/<IMEI>业务服务器向设备下发控制指令
Client ID设备IMEI注册链路与业务链路均使用设备 IMEI

1.2 数据加密

加密参数示例数据说明
加密算法AES-128-CBC数据正文加密算法
填充模式Pkcs7分组补齐方式
Key(1+imei)转为16进制设备侧按 IMEI 规则生成
Iv00000000000000000000000000000000固定全零初始化向量

数据格式示例: #(cmd type),<1>,<2>,<3>,<4>,<5>,<6>,...,<type n><LF>


2 生产售后指令

2.1 充电桩请求注册

设备→后台:设备通电后上传信息,后端接收后创建设备档案。

序号字段名称数据示例字段说明
起始符#
1指令类型LOGIN
2指令序号0每次发送指令后累加,超过999时归零
3设备项目名称NCS12NDSK=2路蓝牙+4G充电桩 NCS01=1路4G通断器 NCS02=2路4G充电桩 NCS06=6路4G充电桩 NCS12=12路4G充电桩
4cat1Ver0.0.1
5imei86471007867055015字节
6imsi46004766431143215字节
7iccid120字节
8subtypeA空=扫码充电桩 A=扫码充电桩 B/C=扫码+刷卡充电桩 NCS01: B=单相断路器 T=三相断路器

后台→设备:注册响应

序号字段名称数据示例字段说明
起始符#
1指令类型LOGIN
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4绑定状态00=未绑定;1=已绑定
5录入状态00=未录入;1=已录入
6验证码12344位验证码,用于设备显示

2.2 业务服务器参数配置

后台→设备:设备录入成功,返回业务服务器信息

示例报文:#LOGIN-RETURN,login.goldmel.com,1883,Username,Password,gm/open/up/<imei>,gm/open/dn/<imei>,12345678

序号参数名称数据示例备注
1起始标识+指令类型#LOGIN-RETURN
2业务服务器域名mqtt.goldmel.com未录入传空
3业务服务器端口1883未录入传空
4业务服务器用户名saomachong未录入传空
5业务服务器密码Password未录入传空
6业务服务器上行Topicgm/charger/dev/<IMEI>充电桩使用此Topic上报数据
7业务服务器下行Topicgm/open/dn/<IMEI>平台使用此Topic下发数据
8产品类目50=扫码充 1=扫电宝 3=云控开关 4=兔充充 5=开放协议
9商户编号0123456789注册平台心跳回传此编号
10充电桩编号12345678开放协议设备过渡阶段使用15字节绑定码
11业务服务器密钥1236965080482281使用对应的密钥生成规则

设备→后台:设备完成业务服务器参数存储后上报结果

示例报文:#LOGIN-RETURN,0

序号参数名称数据示例备注
1起始标识+指令类型#LOGIN-RETURN
2执行结果00=指令执行成功;1=指令执行失败

2.3 注册服务器心跳

设备→后台:2min上传一次心跳数据,服务器回复接收状态,接收超时后将设备置为离线状态。

示例报文:#0,0,25,55,1,14400-200-50-12-38-100

序号字段名称数据示例字段说明
起始符#
1指令类型0
2指令序号0每次发送指令后累加,超过999时归零
3信号强度250~31
4信号接收功率550~99(原始值:-140~-40)
5插孔数量11位~12位
6剩余充电时长/电量14400计时充电时,单位:秒;计量充电时,等效剩余电量
7实时功率200200W
8电费金额5050分=0.5元
9服务费金额1212分=0.12元
10余额38余额=支付金额-电费-服务费=0.38元
11使用电量100100=100Wh

后台→设备:心跳响应

示例报文:#0,0,0

序号字段名称数据示例字段说明
起始符#
1指令类型0
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败

3 4G充电桩功能指令

3.1 设备注册

设备→后台:设备通电后上传信息,后端接收后创建设备档案。

示例报文:#LOGIN,0,NCS12,0.0.1,864710078670550,460047664311432,1,A

序号字段名称数据示例字段说明
起始符#
1指令类型LOGIN
2指令序号0每次发送指令后累加,超过999时归零
3设备项目名称NCS12NDSK=2路蓝牙+4G充电桩 NCS01=1路4G通断器 NCS02=2路4G充电桩 NCS06=6路4G充电桩 NCS12=12路4G充电桩
4cat1Ver0.0.1
5imei86471007867055015字节
6imsi46004766431143215字节
7iccid120字节
8subtypeA空=扫码充电桩 A=扫码充电桩 B/C=扫码+刷卡充电桩

后台→设备:注册响应

示例报文:#LOGIN,0,0,0,0,1234

序号字段名称数据示例字段说明
起始符#
1指令类型LOGIN
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4绑定状态00=未绑定;1=已绑定
5录入状态00=未录入;1=已录入
6验证码12344位验证码,用于设备显示

3.2 设备绑定

后台→设备:设置绑定状态,切换绑定状态显示。

示例报文:#A,0,0,1

序号字段名称数据示例字段说明
起始符#
1指令类型A
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4绑定状态10=解绑;1=绑定

设备→后台:绑定响应

示例报文:#A,0,0,NCS12

序号字段名称数据示例字段说明
起始符#
1指令类型A
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4设备类型NCS12NDSK=2路蓝牙4G设备 NCS02=2路4G设备 NCS06=6路4G设备 NCS12=12路4G设备

3.3 心跳

设备→后台:2min上传一次心跳数据,服务器回复接收状态,接收超时后将设备置为离线状态。

示例报文:#0,0,25,55,1,14400-200-50-12-38-100

序号字段名称数据示例字段说明
起始符#
1指令类型0
2指令序号0每次发送指令后累加,超过999时归零
3信号强度250~31
4信号接收功率550~99(原始值:-140~-40)
5插孔数量11位~12位
6剩余充电时长/电量14400计时充电时,单位:秒;计量充电时,等效剩余电量
7实时功率200200W
8电费金额5050分=0.5元
9服务费金额1212分=0.12元
10余额38余额=支付金额-电费-服务费=0.38元
11使用电量100100=100Wh

后台→设备:心跳响应

示例报文:#0,0,0

序号字段名称数据示例字段说明
起始符#
1指令类型0
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败

3.4 掉电提醒

设备→后台:设备掉电时存储订单信息,并向后台发送指令。

示例报文:#DROP,123,25,55,1,14400-200-50-12-38-100

序号字段名称数据示例字段说明
起始符#
1指令类型DROP
2指令序号123每次发送指令后累加,超过999时归零
3信号强度250~31
4订单编号0
5插孔数量11位~12位
6剩余充电时长/电量14400计时充电时,单位:秒;计量充电时,等效剩余电量
7实时功率200200W
8电费金额5050分=0.5元
9服务费金额1212分=0.12元
10余额38余额=支付金额-电费-服务费=0.38元
11使用电量100100=100Wh

后台→设备:掉电提醒响应

示例报文:#DROP,123,0

序号字段名称数据示例字段说明
起始符#
1指令类型DROP
2指令序号123等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败

3.5 开启充电

后台→设备:小程序发送开启设备请求后,后台发送指令,设备接收到指令后开启充电。

示例报文:#1,0,0,1,0,180,1,5,10,2000,10,45,600,1

序号字段名称数据示例字段说明
起始符#
1指令类型1
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4插孔序号14G+蓝牙:0=左侧;1=右侧;4G:1=1路,12=12路(注意避免传0)
5充电类型00=计时收费;1=计量收费;2=按功率收费;3=按时段收费(支持预约充电)
6充电时长/电量180计时充电和按功率收费时,180=180min;计量充电和按时段收费时,180=180Wh
7充满自停开关11=开启充满自停,0=关闭充满自停
8充满自停功率5浮充功率;5=5W
9充满自停延时10浮充延时;10=10min
10超载功率20002000=2000W
11空载自停功率1010=1W
12空载自停延时4545=45s;0s=关闭空载自停
13最大充电时长600600=600min
14空载自停开关11=开启空载自停,0=关闭空载自停
15~21按电量/功率/时段费率扩展数据见下方扩展数据
22时间戳
23订单编号
24结束符\n

按电量收费扩展数据

电费可以时间分段计费,单位元/度。服务费按功率分段计费,单位为元/小时或者元/度。

示例报文:#1,0,0,1,1,1000,1,5,10,2000,10,45,600,1,100,4,800-1200-1800-2400,500-587-687-287,1,4,300-500-800-2200,120-150-220-270

序号字段名称数据示例字段说明
15支付金额100100=1元
16电费数量4
17电费分段800-1200-1800-2400按时间分段计费:默认00:00~24:00
18电费费率500-587-687-2870:00~8:00电费0.500元/度,8:00~12:00电费0.587元/度,12:00~18:00电费0.687元/度,18:00~24:00电费0.287元/度
19服务费单位11=元/小时 2=元/度
20服务费数量4
21服务费分段300-500-800-2200按功率分段计费:默认2200W
22服务费费率120-150-220-270服务费单位=1时:0~300W服务费0.12元/小时;服务费单位=2时:0~300W服务费0.12元/度

按功率收费扩展数据

示例报文:#1,0,0,1,2,180,1,5,10,2000,10,45,600,1,25,200,50,400,75,600,100

序号字段名称数据示例字段说明
15费率1250.25元/小时;基准费率
16功率阈值1200功率阈值,200W
17费率2500.50元/小时
18功率阈值2400功率阈值,400W
19费率3750.75元/小时
20功率阈值3600功率阈值,600W
21费率41001.00元/小时

按时段收费扩展数据

费率数据为电费+服务费。

示例报文:#1,0,0,1,3,1000,1,5,10,2000,10,45,600,1,900,630,1000,1200,1200,2200,900

序号字段名称数据示例字段说明
15费率19000.9元/1000wh,00:00~06:30之间执行该费率;基准费率
16时间阈值163006:30
17费率210001.0元/1000wh,06:30~12:00之间执行该费率
18时间阈值2120012:00
19费率312001.2元/1000wh,12:00~22:00之间执行该费率
20时间阈值3220022:00
21费率49000.9元/1000wh,22:00~24:00之间执行该费率

设备→后台:开启充电响应

示例报文:#1,0,0,1,180

序号字段名称数据示例字段说明
起始符#
1指令类型1
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4插孔序号1
5充电类型00=计时收费;1=计量收费;2=按功率收费;3=按时段收费
6充电时长/电量180
7服务时长180
8计费功率200用200W所在的区间计算服务费
9结束符\n

3.6 终止充电

后台→设备:小程序发送终止充电请求后,后台发送指令到设备,同步设备剩余时间。

示例报文:#2,0,0,1,0

序号字段名称数据示例字段说明
起始符#
1指令类型2
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4插孔序号14G+蓝牙:0=左侧;1=右侧;4G:1=1路,12=12路(避免传0)
5充电时长/功率0该值为0时关闭设备;预留同步功能
6结束符\n

设备→后台:终止充电响应

示例报文:#2,0,0,1,90,0,200,1,90,50,12,38

序号字段名称数据示例字段说明
起始符#
1指令类型2
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4插孔序号1
5剩余充电时长/电量90计时充电时,10800=10800秒=180分钟;计量充电时,180=180Wh
6充电类型00=计时收费;1=计量收费;2=按功率收费;3=按时段收费
7实时功率200自停瞬时功率,200W
8服务费类型11=元/小时;2=元/度
9使用时长9090=90秒
10电费金额5050分=0.5元
11服务费金额1212分=0.12元
12余额38余额=支付金额-电费-服务费=0.38元
13使用电量100100=100Wh

3.7 查询端口状态

后台→设备:查询单个插孔的充电状态。

示例报文:#3,0,0,1

序号字段名称数据示例字段说明
起始符#
1指令类型3
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4插孔序号14G+蓝牙:0=左侧;1=右侧;4G:1=1路,12=12路
5结束符\n

设备→后台:查询端口状态响应

示例报文:#3,0,0,1,0,180,200,0

序号字段名称数据示例字段说明
起始符#
1指令类型3
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4插孔序号1
5充电类型00=计时收费;1=计量收费;2=按功率收费;3=按时段收费
6剩余充电时长/电量180
7实时功率200自停瞬时功率,200W
8使用时长90当前值为订单使用时长
9计费功率200当前值为订单平均功率
10服务费类型11=元/小时;2=元/度
11使用时长9090=90秒
12电费金额5050分=0.5元
13服务费金额1212分=0.12元
14余额38余额=支付金额-电费-服务费=0.38元
15使用电量100100=100Wh

3.8 查询设备状态

后台→设备:查询设备所有插孔的充电状态。

示例报文:#4,0,0

序号字段名称数据示例字段说明
起始符#
1指令类型4
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4结束符\n

设备→后台:查询设备状态响应

示例报文:#4,0,0,12,14400-200-50-12-38-100

序号字段名称数据示例字段说明
起始符#
1指令类型4
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4插孔数量121路~12路
5剩余充电时长/电量14400计时充电时,单位:秒;计量充电时,等效剩余电量
6实时功率200200W
7电费金额5050分=0.5元
8服务费金额1212分=0.12元
9余额38余额=支付金额-电费-服务费=0.38元
10使用电量100100=100Wh

3.9 设备自停

设备→后台:设备达到停止运行条件后,设备终止充电,并向后台发送指令。

示例报文:#5,0,0,1,0,180,235.05,0,240.12,1,90,50,12,38,100

序号字段名称数据示例字段说明
起始符#
1指令类型5
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4插孔序号1
5结束类型00=充满自停 1=空载自停 2=充电完成 3=设备超载 4=计时超时 5=充电器拔出
6剩余充电时长/电量180
7实时功率235.05自停瞬时功率,235.05W
8充电类型00=计时收费;1=计量收费;2=按功率收费;3=按时段收费
9计费功率240.12当前值为订单平均功率
10服务费类型11=元/小时 2=元/度
11使用时长9090=90秒
12电费金额5050分=0.5元
13服务费金额1212分=0.12元
14余额38余额=支付金额-电费-服务费=0.38元
15使用电量100100=100Wh

后台→设备:自停响应

示例报文:#5,0,0,1

序号字段名称数据示例字段说明
起始符#
1指令类型5
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4插孔序号1
5结束符\n

3.10 查询功率阈值

后台→设备:查询设备功率阈值。

示例报文:#7,0,0,1

序号字段名称数据示例字段说明
起始符#
1指令类型7
2指令序号0每次发送指令后累加,超过999时归零
3设备序号00=本机/主设备
4插孔序号10=左侧;1=右侧
5结束符\n

设备→后台:查询功率阈值响应

示例报文:#7,0,0,5,60,2000,1,10,45,600,1000,0,0,0

序号字段名称数据示例字段说明
起始符#
1指令类型7
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4充满自停功率阈值5充满自停触发功率,5W
5充满自停延时60设备功率低于浮充功率60分钟后触发充满自停
6超载功率2000超载触发功率,超过该值后直接断电
7充满自停开关11=开启充满自停,0=关闭
8空载功率10空载自停触发功率,1.0W
9空载延时45设备空载45秒后触发空载自停
10空载自停开关11=开启空载自停,0=关闭
11最大充电时长600600分钟
12累计充电时长10001000秒
13充满自停计时00秒
14空载自停计时00秒
15超载自停计时00秒
16结束符\n

3.11 刷卡充电

设备→后台:设备刷卡后请求充电。

示例报文:#B,0,0,1,AABB1122

字段名称字段属性字段说明
起始符#
指令类型B
指令序号0每次发送指令后累加,超过999时归零
设备序号00=本机/主设备
插孔序号11~12路
卡片序号AABB1122
结束符\n

后台→设备:刷卡充电响应

示例报文:#B,0,0,1,100

序号字段名称数据示例字段说明
起始符#
1指令类型B
2指令序号0等同请求数据指令序号
3返回数据00=指令执行成功;1=指令执行失败
4卡号校验10=校验失败;1=校验成功;2=卡片余额不足
5卡片余额100单位分,100=1元

3.12 远程重启

后台→设备:远程重启设备。

示例报文:#REBOOT,0,0

字段名称字段属性字段说明
起始符#
指令类型REBOOT
指令序号0每次发送指令后累加,超过999时归零
设备序号00=本机/主设备
结束符\n

设备→后台:远程重启响应

示例报文:#REBOOT,0,0

字段名称字段属性字段说明
起始符#
指令类型REBOOT
指令序号0等同请求数据指令序号
返回数据00=指令执行成功;1=指令执行失败
结束符\n

4 附录

4.1 返回数据类型

参数字段说明
0预留
1成功
2失败
3有数据

4.2 设备类型

序号名称设备类型子类型通信方式通道数备注
0单路充电桩BCS01A蓝牙1量产中
1单路通断器BCS01B蓝牙1量产中
2单路充电面板BCS01E蓝牙1量产中
3脉冲支付器BCS01F蓝牙1未生产
4双路充电桩BSC02A蓝牙2量产中
5双路蓝牙4G充电桩NDSKA蓝牙+4G2停产
6单路4G通断器NCS01B4G1量产中
7双路4G充电桩NCS02A4G2量产中
86路4G充电桩NCS06D4G6未上市
912路4G充电桩NCS12A4G12量产中
1012路4G刷卡充电桩NCS12C4G12少量试产