语音包配置
本文档介绍智能门锁的语音包配置功能,包括语音包下载、切换和语言设置。
功能概述
语音包配置模块支持以下功能:
| 功能 | 指令码 | 说明 |
|---|---|---|
| 配置开始 | 0x30A1 | 开始语音包下载流程 |
| 配置过程 | 0x30A2 | 分包传输语音包数据 |
| 配置确认 | 0x30A3 | 确认语音包配置完成 |
| 读取语音包 | 0x30A4 | 查询当前使用的语音包 |
| 设置语言包 | 0x30A5 | 切换语音包语言 |
配置流程
语音包配置开始
指令码: 0x30A1
方向: APP → 门锁
加密: SM4 私钥模式
请求消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| LockID | 字符串 | 40 | 锁 ID |
| UserID | 字符串 | 20 | 用户 ID |
| name | 字符串 | 20 | 语音包名称 |
| label | 字符串 | 20 | 语音包标签 |
| updated_at | 整型 | 4 | 语音包更新时间戳(UNIX格式) |
| FwSize | 整型 | 4 | 语音包大小 |
| FwMD5 | 整型 | 16 | 语音包 MD5 值 |
| Token | 整型 | 4 | 动态口令 |
| AuthCodeLen | 整型 | 1 | AuthCode 数据长度 |
| AuthCode | 字符串 | 变长 | 鉴权码,长度由 AuthCodeLen 指示 |
应答消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Token | 整型 | 4 | 动态口令 |
| Status | 整型 | 1 | 处理状态 |
语音包配置过程
指令码: 0x30A2
方向: APP → 门锁
加密: 明文传输
注意
该指令不加密,使用明文传输。单包数据最大 256 字节,使用 WriteNoRespond 服务。
请求消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Index | 整型 | 2 | 数据包序列号 |
| Size | 整型 | 2 | 数据包大小 |
| Data | 二进制 | N | 数据包数据,N 同 Size(最大 256) |
应答消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Status | 整型 | 1 | 处理状态 |
语音包配置确认
指令码: 0x30A3
方向: 门锁 → APP
加密: SM4 私钥模式
请求消息
无(由门锁主动推送)
应答消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Status | 整型 | 1 | 处理状态 |
读取当前语音包
指令码: 0x30A4
方向: APP → 门锁
加密: SM4 私钥模式
请求消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| LockID | 字符串 | 40 | 锁 ID |
| UserID | 字符串 | 20 | 用户 ID |
| Token | 整型 | 4 | 动态口令 |
| AuthCodeLen | 整型 | 1 | 鉴权码长度 |
| AuthCode | 字符串 | 变长 | 鉴权码,用于锁验证用户合法性 |
应答消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Token | 整型 | 4 | 动态口令 |
| Status | 整型 | 1 | 处理状态 |
| Count | 整型 | 1 | 语言包数量 |
| LanguageList | 数组 | 24×Count | 语言包列表,第一个为当前使用语言 |
LanguageList 元素结构
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| name | 字符串 | 20 | 语音包名称 |
| updated_at | 整型 | 4 | 更新时间戳(UNIX格式),默认为固件编译时间戳,更新语言包时修改为0x30A1传入的updated_at |
语音包名称定义
语音包名称遵循 {语言代码}@default 格式。
| name | 语言 |
|---|---|
| zh_CN@default | 中文简体 |
| en_US@default | 英语美国 |
命名规则
- 格式:
{语言代码}@default - 语言代码:遵循 IETF 语言标签规范(如
zh_CN、en_US、ja_JP等) - 音色标识:固定为
@default,表示默认音色 - 示例:
zh_CN@default(中文简体)、en_US@default(英语美国)、ja_JP@default(日语)等
修改语言包
指令码: 0x30A5
方向: APP → 门锁
加密: SM4 私钥模式
请求消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| LockID | 字符串 | 40 | 锁 ID |
| name | 字符串 | 20 | 语音包名称 |
| Token | 整型 | 4 | 动态口令 |
| AuthCodeLen | 整型 | 1 | 鉴权码长度 |
| AuthCode | 字符串 | 变长 | 鉴权码,用于锁验证用户合法性 |
应答消息
| 字段名称 | 字段类型 | 字段长度 | 字段说明 |
|---|---|---|---|
| CmdID | 整型 | 2 | 指令 ID |
| Token | 整型 | 4 | 动态口令 |
| Status | 整型 | 1 | 处理状态 |
