Skip to content

整机上报

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

指令下发 ▼

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

数据格式:JSON字符串

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

更新整机上报

text
{"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例如:0x00 0x89,转10进制,包长度为137
byte[3]指令名称cmd默认:0x10,机柜信息
byte[4~n]自定义数据data机芯板信息、仓位信息
byte[n+1]校验码verify数据包补码校验

示例:上报8口机柜信息

text
A8 00 89 10 01 FF FF 00 04 16 01 01 00 EC 00 05 11 49 F1 64 1F 32 01 0D 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 80 03 01 00 E8 00 05 11 46 AC 64 20 32 00 0D 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 80 02 FF FF 00 04 16 05 01 00 D7 00 04 C6 F0 96 64 1F 32 00 1A 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 80 07 01 00 E9 00 05 11 49 DB 64 1E 32 00 0D 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 80 D8
text
A8 -------------------------------------------- byte[0] 头码
00 89 ----------------------------------------- byte[1~2] 包长度:137
10 -------------------------------------------- byte[3] 上报机柜信息指令
01 FF FF 00 04 16  ---------------------------- 机芯板信息:1
01 01 00 EC 00 05 11 49 F1 64 1F 32 01 0D 00 -- 仓位信息:1
02 00 00 00 00 00 00 00 00 00 00 00 00 00 80 -- 仓位信息:2
03 01 00 E8 00 05 11 46 AC 64 20 32 00 0D 00 -- 仓位信息:3 
04 00 00 00 00 00 00 00 00 00 00 00 00 00 80 -- 仓位信息:4 
02 FF FF 00 04 16 ----------------------------- 机芯板信息:2 
05 01 00 D7 00 04 C6 F0 96 64 1F 32 00 1A 00 -- 仓位信息:5 
06 00 00 00 00 00 00 00 00 00 00 00 00 00 80 -- 仓位信息:6
07 01 00 E9 00 05 11 49 DB 64 1E 32 00 0D 00 -- 仓位信息:7 
08 00 00 00 00 00 00 00 00 00 00 00 00 00 80 -- 仓位信息:8 
D8 -------------------------------------------- byte[136] 校验码

机芯板信息

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

text
01 FF FF 00 04 16
字节码名称标识代码备注
byte[0]机芯板地址controlIndex默认:0x01
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个字节。示例:单个仓位数据

text
01 01 00 EC 00 05 11 49 F1 64 1F 32 01 0D 00
字节码名称标识代码备注
byte[0]仓位地址holeIndex范围:1-100
byte[1]状态信息state0x00:没有移动电源 0x01:充电宝正常 0x02:区域码异常 0x03:通讯异常 0x04~0xFF:预留
byte[2]充电宝电流powerbankCurr保留1位小数
例如:0x10=16,表示1.6A
byte[3]充电宝电压powerbankVolt保留1位小数
例如0x10=16,表示1.6V
byte[4]区域码area客户定制
byte[5~8]充电宝SNpowerbankSN0x05 0x11 0x49 0xF1=85019121
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]:预留 Bit[6]:预留 Bit[5]:预留 Bit[4]:预留 Bit[3]:串口状态:0正常 1异常 Bit[2]:红外检测:0断开(损坏或遮挡) 1闭合(正常) Bit[1]:到位检测:0断开(正常) 1闭合(有充电宝) Bit[0]:充电状态:0未充电 1充电中 ---------- 0X04=0000 0100:无充电宝 0X06=0000 0110:有充电宝(未充电) 0X07=0000 0111:有充电宝(充电中)

仓位示意图

请求示例

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")

响应结果

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