跳到主要内容

设备维护指令

公开这些指令,是为了让独立软件也能支持硬件;公开语法不等于获得生产机柜的操作权限。所有服务端下发的维护指令都必须经过角色认证、机柜范围校验、审计记录,并具备明确的回滚或恢复方案。

FA: 维护弹出

下行: {FA,messageId,slotNumber,crc}

上行: {FA,sameMessageId,result,crc}

字段含义
slotNumber=0弹出全部槽位
slotNumber>0强制弹出指定槽位
result=1设备接受操作
result=0设备拒绝操作

FA 是维护动作,弹出的充电宝不能放电,不能用它代替正常租借。

FL: 启用或禁用槽位

下行: {FL,messageId,slotNumber,operation,crc}

上行: {FL,sameMessageId,disabledMaskHex,crc}

字段含义
slotNumber=0操作全部槽位
slotNumber>0操作单个槽位
operation=0启用
operation=1禁用
disabledMaskHex十六进制位掩码;bit 0 对应 1 号槽,bit 1 对应 2 号槽,以此类推

掩码示例:00000000 表示没有禁用槽位;0000000F 表示 1-4 号槽被禁用。

OT: 固件升级控制

升级下行: {OT,operation,host,port,path,md5,fileSize,crc}

控制/查询下行: {OT,operation,crc}

上行: {OT,result,resultInfo,crc}

operation含义
1升级主板 MCU
10升级全部叠加子板 MCU;已升级子板可自动跳过
20升级 8 口扩展子板 MCU
0查询升级进度;不带地址/路径参数
11查询全部子板固件版本;不带地址/路径参数
111停止升级;不带地址/路径参数
回复含义
result=110进度或已接受/成功;resultInfo 按操作和配置解析
result>=200对应操作的失败码
fileSize>0固件预期字节数
fileSize=0受支持固件上的断点续传模式

md5 与固件路径一起提供,下载文件必须匹配。生产实现还应在设备支持时使用 TLS、限制允许的主机、校验签名、检查机型/版本兼容性、分批发布、检查供电状态并准备恢复方案。禁止接受终端用户客户端传来的任意 URL。

SQ: 叠加子板查询

下行: {SQ,messageId,operation,0,crc}

上行: {SQ,sameMessageId,boardCount,board1,...,boardN,crc}

每个子板记录为 index:boardId:firmwareVersion。必须校验 boardCount 与实际记录数一致,不能静默丢弃多出的子板。

NI: 写入充电宝 ID

下行: {NI,messageId,slotId,newPowerBankId,crc}

上行: {NI,sameMessageId,result,currentPowerBankId,crc}

字段含义
slotId原始配置写明 1..12;实际按所选机柜拓扑校验
newPowerBankId本指令/配置最多 16 个字符;跨固件兼容建议使用 15 个
result=1写入成功
result=0写入失败或未生效

该指令会改变资产身份。运营后台应要求二次确认,读取并校验写入后的 ID,并在审计记录中保存旧值和新值。

KU: 按键事件上报

上行: {KU,lastMessageId,deviceId,keyOperation,crc}

协议不要求 ACK。

keyOperation含义
1短按
2长按,至少三秒
3双击

KU 只是事件,不代表租借、归还或维护成功。服务端因按键事件触发任何后续动作时,仍必须通过该动作自己的授权与状态校验。