在线升级(MCU)
1、发送升级指令,设备断开网络,无法回复MQTT结果
2、机柜收到升级指令,请求HTTP,获取最新版本号和固件下载地址。
3、机柜通过固件名称的版本号,判断是否需要升级
4、升级固件包括:主控板、机芯板
指令下发 ▼
订阅主题:/powerbank/{uuid}/user/get
数据格式:JSON字符串
名称 | 标识代码 | 数据类型 | 备注 |
---|---|---|---|
指令名称 | cmd | string | push_version_publish |
升级所有固件
{ "cmd":"push_version_publish" }
设备回复 △
无, 会触发API请求
API请求
提示
服务器API地址,只需要返回正确Body数据即可,不严格要求请求路径。我们推荐如下写法:
GET 主控板固件
https://{host}/api/rentbox/client/version/main?id={id}
GET 机芯板固件
https://{host}/api/rentbox/client/version/control?id={id}
text
/api/rentbox/client/version/main
text
/api/rentbox/client/version/control
请求参数
名称 | 标识代码 | 是否必填 | 备注 |
---|---|---|---|
服务器域名 | host | YES | 客户提供,例如:s.abc.com |
固件ID | id | YES | 客户提供,例如:1、2、3,根据厂商不同机型,需传入不同ID,返回不同的升级地址。示例: 1、移远主控版固件 2、移远主控版固件(备电) 3、美格主控版固件 4、美格主控版升级(备电) 5、安卓主控版固件 |
请求示例
响应结果
json
{
"code":200,
"type":0,
"data":"BST6_ZS_EC20_V6088_0x926C_100520.bin,100520,http://abc.com/apps/xxxxxx.bin",
"msg":"OK",
"time":1705479460869
}
名称 | 标识代码 | 类型 | 备注 |
---|---|---|---|
状态码 | code | int | 默认:200 |
状态类型 | type | int | 默认:0 |
自定义数据 | data | string | 升级参数,","分割数组 |
异常消息 | msg | string | 默认:OK |
时间戳 | time | long | 当前毫秒时间戳 |
升级参数
- | 名称 | 标识代码 | 类型 | 备注 |
---|---|---|---|---|
array[0] | 固件名称 | fileName | string | 例如:BST6_ZS_EC20_V6088_0x926C_100520.bin |
array[1] | 固件长度 | fileSize | long | 例如:100520 |
array[2] | 下载地址 | url | string | 例如:http://abc.com/apps/xxxxxx.bin |