面向平台/厂商管理员与产线工站。固件开发者只需取得本机授权、可信公钥和匹配 SDK,板端写入见 平台与授权。后台入口和账号按接入环境由团队提供。
签发前准备
在后台「设备管理 → 仪表」操作。账号需要 device:read;批量签发同时需要 device:create、device:update、device:install、vehicle:create,且属于平台或对应厂商。经销商不能签发。
选择已启用、支持 APP 连接的仪表型号,并完成出厂配置:默认车型、兼容车型、安装槽位,以及产品实际支持的功能与无线能力。型号未启用或未配置出厂资料时先补配置,不反复重试签发。
在后台批量签发
- 点击「批量创建仪表」,选择仪表型号和数量,每批 1–100 台。
- 单台可在「SDK 集成」填写硬件标识;必须来自目标设备。多台批次不接受同一个硬件标识。需要逐台硬件绑定时按单台请求签发,每次填写对应标识。
- 提交后保存批次号和返回的 SN/设备 ID 清单,下载本批授权 ZIP。每个
.motolic对应一台设备,不能把同一个文件烧到整批设备。 - 超过 100 台拆成独立批次。此处 100 是单次请求上限,不代表合同授权总量;商务配额另按交付约定确认。
- 产线校验授权文件与实物一一对应,写入并重启验签。分别记录“后台签发成功”和“硬件写入验证成功”,不能用下载成功代替烧录成功。
授权文件包含每设备秘密,只交给受控工站。当前后台不提供产线写入结果自动追踪;工站自行保存不含秘密的 SN、硬件标识、包版本和验证结果。
获取可信公钥
在仪表列表点击「下载公钥证书」,由已登录且有 device:read 的账号取得。将该文件经约定的受控交付渠道交给固件负责人,并确认来自与 APP、设备登记一致的环境。公钥用于构建受信任固件;私钥始终留在服务端。
P4 使用声明 moto_license_trust_key[65] 的完整 P-256 公钥头,按 设备配置 构建和写入。不能从待验证的 License 或陌生人提供的附件自行建立信任。
产线系统的 API
以下是已认证管理 API 的路径,相对于团队提供的服务基址;产线按后台约定取得会话和权限,不把管理凭据放入终端固件。返回清单使用标准响应封装,下载接口直接返回文件。
| 操作 | 方法与路径 | 权限 |
|---|---|---|
| 签发 | POST /api/v1/admin/device-licenses |
上述四项签发权限 |
| 整批下载 | POST /api/v1/admin/device-licenses/{operationId}/download |
device:update |
| 单台下载 | POST /api/v1/admin/devices/{deviceId}/license/download |
device:update |
| 公钥 | GET /api/v1/admin/device-licenses/trust-key |
device:read |
| 授权状态 | GET /api/v1/admin/devices/{deviceId}/license |
device:read |
签发请求示意;deviceModelId 换成实际型号 ID,operationId 为本次新生成的 UUID:
{
"operationId": "2c743957-d676-4c47-8b89-e4c6862a1ed7",
"deviceModelId": 123,
"count": 10,
"hardwareId": null
}
hardwareId 最多 64 字符,只允许字母、数字、点、下划线、冒号和连字符。需要硬件绑定时 count=1。响应清单包含 deviceId、serialNumber、licenseId、issuedAt、activatedAt,不包含密钥。
网络超时或响应丢失时,保持原 operationId 和完整请求内容重试;新批次才生成新 ID。同组织同请求返回原结果,复用 ID 却改型号、数量或硬件标识会被拒绝。工站必须在发送前保存请求及 ID,不能因超时又签发一批。
整批下载逐台检查授权状态,任一设备不符合条件就拒绝整批,不返回部分 ZIP。单台只允许仍启用、未撤销、授权未激活且没有 owner 的设备下载。
下载丢失与交付异常
- 未激活且仍满足下载条件:按原设备/批次重新下载,是导出原授权,不重新生成身份或密钥。
- 已激活或已有 owner:下载被拒绝;重置绑定也不会重新开放已激活授权下载。
- 授权写错设备:停止该台出厂,核对硬件标识、SN 和公钥环境;不同授权不能覆盖已配置授权。
- 已激活授权丢失、换板、返修:进入 售后恢复,不要擦除 NVS 后伪装成新设备。
