Skip to content

整机上报

1、设备开机1分钟,上报一次数据
2、机柜每20分钟,上报整机数据
3、归还充电宝(自检0x28),立即上报一次数据。

指令下发 ▼

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

数据格式:JSON字符串

名称标识代码数据类型备注
指令名称cmdstringupload_all

更新整机上报

{ "cmd":"upload_all" }

设备回复 △

无, 会触发API请求

API请求

请求URL

POST

https://{host}/api/rentbox/client/upload?rentboxSN={rentboxSN}&signal={signal}&sign={sign} 

text
/api/rentbox/client/upload
text
Content-Type:text/plain

请求参数

名称标识代码是否必填备注
服务器域名hostYES客户提供,例如:s.abc.com
机柜SNrentboxSNYES4G通讯模块,IMEI号
信号值signalYES-
接口签名signYESMD5加密

接口签名

text
sign=MD5("rentboxSN={rentboxSN}|signal={signal}")

Body

上报数据:字节码数据,Hex,16进制解析

字节码名称标识代码备注
Byte[0]头码head默认:0xA8
Byte[1~2]包长度length例如:0x01 0x25,转10进制,包长度为293
Byte[3]指令名称cmd默认:0x10,机柜信息
Byte[4~n]自定义数据data机芯板信息、仓位信息
Byte[n+1]校验码verify数据包补码校验

示例:上报18口机柜信息

A8 01 25 10 10 00 00 00 6E 6E 01 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 02 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 03 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 04 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 05 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 06 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 20 00 00 00 6E 6E 07 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 08 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 09 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 0A 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 0B 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 0C 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 30 00 00 00 6E 6E 0D 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 0E 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 0F 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 10 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 11 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 12 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 88

json
A8 -------------------------------------------- Byte[0] 头码
01 25 ----------------------------------------- Byte[1~2] 包长度:293
10 -------------------------------------------- Byte[3] 上报机柜信息指令
10 00 00 00 6E 6E ----------------------------- 机芯板信息 1
01 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 -- 仓位信息:1
02 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 -- 仓位信息:2
03 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 -- 仓位信息:3 
04 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 -- 仓位信息:4 
05 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 -- 仓位信息:5 
06 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 -- 仓位信息:6
20 00 00 00 6E 6E ----------------------------- 机芯板信息 2 
07 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 -- 仓位信息:7 
08 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 -- 仓位信息:8
09 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 -- 仓位信息:9 
0A 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 -- 仓位信息:10 
0B 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 -- 仓位信息:11 
0C 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 -- 仓位信息:12
30 00 00 00 6E 6E ----------------------------- 机芯板信息 3 
0D 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 -- 仓位信息:13  
0E 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 -- 仓位信息:14 
0F 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 -- 仓位信息:15  
10 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 -- 仓位信息:16  
11 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 -- 仓位信息:17  
12 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 -- 仓位信息:18  
88 -------------------------------------------- Byte[292] 校验码

机芯板信息

共6个字节。示例:单个机芯板数据

json
30 00 00 00 6E 6E
字节码名称标识代码备注
Byte[0]机芯板地址controlIndex默认:0x10
Byte[1]预留1undefined1默认:0x00
Byte[2]预留2undefined2默认:0x00
Byte[3]温度temp0x00:没有NTC
0x10:16℃
0x64:100℃
Byte[4]软件版本号softVersion0x00:0
0x10:16
0xFF:255
Byte[5]硬件版本号hardVersion0x00:0
0x10:16
0xFF:255

仓位信息

共15个字节。示例:单个仓位数据

json
01 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00
字节码名称标识代码备注
Byte[0]仓位地址holeIndex范围:0-100
Byte[1]状态信息state0x00:没有移动电源 0x01:充电宝正常 0x02:充电异常 0x03:通讯异常 0x04:卡宝/损坏 0x05:按键被强制释放 0x06:归还时电磁阀未归位 0x07:预留 0x08:防盗协议通信不成功 0x09:Typec短路 0x0A:归还失败,电池不弹出 0x0B~0xFF:预留
Byte[2]充电宝电流powerbankCurr保留1位小数
例如:0x10=16,表示1.6A
Byte[3]充电宝电压powerbankVolt保留1位小数
例如0x10=16,表示1.6V
Byte[4]区域码area客户定制
Byte[5~8]充电宝SNpowerbankSN0x00:0
0x10:16
0xFF:255
Byte[9]电量soc0x00:0
0x10:16%
0xFF:255%
Byte[10]温度temp0x00:没有NTC
0x10:16℃
0x64:100℃
Byte[11]充电电压chargeVolt保留1位小数
例如0x10=16,表示1.6V
Byte[12]充电电流chargeCurr保留1位小数
例如0x10=16,表示1.6A
Byte[13]软件版本softVersion0x00:0
0x10:16
0xFF:255
Byte[14]仓位检测sensor解析为二进制 ----------- Bit[7]:按键检测:0闭合 1断开 Bit[6]:电磁阀检测:0闭合 1断开 Bit[5]:预留 Bit[4]:预留 Bit[3]:预留 Bit[2]:预留 Bit[1]:预留 Bit[0]:预留 ---------- 0X80=1000 0000:按键断开,电磁阀闭合 0X40=0100 0000:按键闭合,电磁阀断开 0X00=0000 0000:按键闭合,电磁阀闭合 0XC0=1100 0000:按键断开,电磁阀断开

请求示例

text
Content-Type:text/plain

Body Hex

A8 01 25 10 10 00 00 00 6E 6E 01 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 02 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 03 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 04 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 05 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 06 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 20 00 00 00 6E 6E 07 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 08 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 09 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 0A 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 0B 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 0C 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 30 00 00 00 6E 6E 0D 01 00 F1 04 05 8E 17 08 5F 18 00 00 CA 00 0E 01 00 E1 04 05 8E 15 F0 63 18 00 00 CA 00 0F 00 00 00 00 00 00 00 00 FF FF 00 00 00 80 10 01 00 EB 04 05 8D 99 F7 5F 18 00 00 CA 00 11 01 00 EA 04 05 8D FC 12 5F 18 00 00 CA 00 12 01 00 B6 04 05 8D 93 E7 1A 1C 32 14 CA 00 88

sign = f212709ce41a2c6ac4ac3f6c9bdee020

MD5("rentboxSN=860602069165357|signal=CSQ:30")

响应结果

json
{
    "code":200,
    "type":0,
    "data":"",
    "msg":"OK",
    "time":1705661910697
}
名称标识代码类型备注
状态码codeint默认:200
状态类型typeint默认:0
自定义数据datastring默认:""
异常消息msgstring默认:OK
时间戳timelong当前毫秒时间戳