Skip to content

SN号弹出

1、用于扫码付费后,给机柜发送SN号弹出指令,弹出充电宝
2、充电宝SN,可在如下指令获取

指令名称指令下发指令回复相关协议
查询机柜信息check0x10MQTT
整机上报(主动)upload_all-MQTT
整机上报(定时)-0x10HTTP

WARNING

1、充电宝弹出后,机柜会花3秒钟,进行仓位通讯和传感器检查,确保充电宝已经正常弹出。
2、在检查期间,如果发起查询命令(check、check_all),原来的充电宝有可能在里面,建议5秒后再发命令查询。

指令下发 ▼

订阅主题:/powerbank/{uuid}/user/get

数据格式:JSON字符串

名称标识代码数据类型备注
指令名称cmdstringpopup_sn
指令数据datastring充电宝SN

示例:弹出充电宝;充电宝SN:10211856

text
{"cmd":"popup_sn","data":"10211856"}

定制功能 ▼

订阅主题:/powerbank/{uuid}/user/get

数据格式:JSON字符串

名称标识代码数据类型备注
指令名称cmdstringpopup_sn
指令数据datastring充电宝SN
当前时间戳timestampstring当前时间戳(秒)
有效时间ttlstring命令有效时间(秒)

示例:弹出充电宝;充电宝SN:10211856,如果网络延迟导致30秒内没收到命令,则不弹出

text
{"cmd":"popup_sn","data":"10211856","timestamp":"1759941810","ttl":"30"}

:::

设备回复 △

发布主题:/powerbank/{uuid}/user/update

数据格式:字节码数据,Hex,16进制解析

字节码名称标识代码备注
byte[0]头码head默认:0xA8
byte[1~2]包长度length例如:0x01 0x25,转10进制,包长度为293
byte[3]指令名称cmd默认:0x31,SN弹出
byte[4]仓位地址holeIndex范围:1-100
byte[5~8]充电宝SNpowerbankSN0x00 0x00 0x0B 0xCF = SN:3023
0x00 0x9B 0xD2 0x10 = SN:10211856
0xFF 0xFF 0xFF 0xFF = SN:4294967295‬
byte[9]弹出状态state0x00:弹出失败 0x01:弹出成功 0x11:串口通信超时 0x12:充电宝未弹出,可以读取到SN号 0x87:获取时间戳失败 0x88:超过ttl有效时间 0xFB:无符合租借条件的充电宝 0xFC:未找到目标SN的充电宝 0xFD:向线程池添加任务失败 0xFE:上一次租借未完成,无法启动新租借流程 0xFF:租借命令解析失败 其他值:未知错误
byte[10]预留undefined默认:0x00
byte[11]校验码verify数据包补码校验

示例:上报SN弹出数据

text
A8 00 0C 31 60 00 9B D2 10 01 00 3B
text
A8 -------------------------------------------- byte[0] 头码
00 0C ----------------------------------------- byte[1~2] 包长度9
31 -------------------------------------------- byte[3] SN弹出指令
60 -------------------------------------------- byte[4] 仓位地址
00 9B D2 10 ------------------------------------byte[5~8] 充电宝SN:10211856
01 -------------------------------------------- byte[9] 弹出状态
00 -------------------------------------------- byte[10] 预留
3B -------------------------------------------- byte[11] 校验码