Skip to content

掌静脉管理

掌静脉识别凭证,通过门锁红外传感器验证开锁。

生物特征凭证

掌静脉是生物特征凭证,原始数据存储在门锁本地,无法导出或修改。UpdatePalmVein 仅能更新标签、有效期等属性,如需修改需删除后重新录入。

指令列表

指令码名称方向说明
0x0900ListPalmVeinsAPP → 设备获取掌静脉列表
0x0901GetPalmVeinAPP → 设备获取掌静脉详情
0x0902StartPalmVeinEnrollAPP → 设备启动掌静脉录入
0x0903CancelPalmVeinEnrollAPP → 设备取消掌静脉录入
0x0904UpdatePalmVeinAPP → 设备更新掌静脉信息
0x0905DeletePalmVeinAPP → 设备删除掌静脉
0x0906ClearPalmVeinsAPP → 设备清空所有掌静脉
0x0980PalmVeinEnrollProgress设备 → APP录入进度通知
0x0981PalmVeinEnrollResult设备 → APP录入结果通知

数据结构

protobuf
message PalmVein {
  uint32 credential_id = 1;    // 凭证ID(锁内唯一)
  uint32 user_id = 2;          // 归属用户ID
  uint32 created_by = 3;       // 创建者用户ID
  uint64 created_at = 4;       // 创建时间(UNIX毫秒时间戳)
  ValidityPeriod validity = 5; // 有效期
  uint32 use_count_limit = 6;  // 使用次数限制(0=不限)
  uint32 use_count = 7;        // 已使用次数
  string label = 8;            // 标签(如"左手")
  bool is_duress = 9;          // 是否胁迫凭证
}
字段类型说明
credential_iduint32凭证ID,锁内唯一标识
user_iduint32归属用户ID
created_byuint32创建者用户ID
created_atuint64创建时间(UNIX毫秒时间戳)
validityValidityPeriod有效期,详见 凭证期限
use_count_limituint32使用次数限制,0 表示不限制
use_countuint32已使用次数
labelstring用户自定义标签,建议使用"左手"、"右手"等描述
is_duressbool是否胁迫凭证

录入流程

掌静脉录入需要用户将手掌对准红外传感器,系统会采集静脉纹路:

StartPalmVeinEnroll - 启动掌静脉录入

指令码: 0x0902

StartPalmVeinEnrollReq

protobuf
message StartPalmVeinEnrollReq {
  optional uint32 user_id = 1;          // 归属用户ID(不指定则自动创建用户)
  optional ValidityPeriod validity = 2; // 有效期
  optional uint32 use_count_limit = 3;  // 使用次数限制
  optional string label = 4;            // 标签
  optional bool is_duress = 5;          // 是否胁迫凭证
  optional uint32 timeout = 6;          // 单次采集超时(秒),默认30
}

StartPalmVeinEnrollResp

protobuf
message StartPalmVeinEnrollResp {
  uint32 code = 1;   // 0=已进入录入模式
  string message = 2;
}

PalmVeinEnrollProgress - 录入进度通知

指令码: 0x0980

方向: 设备 → APP(Notify)

protobuf
message PalmVeinEnrollProgress {
  uint32 current = 1;   // 当前已完成次数
  uint32 total = 2;     // 总共需要次数
  uint32 quality = 3;   // 本次采集质量(0-100)
  string hint = 4;      // 提示信息(如"请保持手掌稳定")
}
hint 示例说明
请将手掌对准传感器初始提示
请保持手掌稳定采集中
请稍微移近距离过远
请稍微移远距离过近

PalmVeinEnrollResult - 录入结果通知

指令码: 0x0981

方向: 设备 → APP(Notify)

protobuf
message PalmVeinEnrollResult {
  uint32 code = 1;           // 0=成功
  string message = 2;
  uint32 credential_id = 3;  // 新建的凭证ID(成功时有效)
  uint32 user_id = 4;        // 归属用户ID(成功时有效)
}

其他指令

掌静脉管理的 List、Get、Cancel、Update、Delete、Clear 指令结构与 指纹管理 完全一致,仅将 Fingerprint 替换为 PalmVein,指令码使用 0x09xx 区块。

指令请求结构响应结构
ListPalmVeinsListPalmVeinsReqListPalmVeinsResp
GetPalmVeinGetPalmVeinReqGetPalmVeinResp
CancelPalmVeinEnrollCancelPalmVeinEnrollReqCancelPalmVeinEnrollResp
UpdatePalmVeinUpdatePalmVeinReqUpdatePalmVeinResp
DeletePalmVeinDeletePalmVeinReqDeletePalmVeinResp
ClearPalmVeinsClearPalmVeinsReqClearPalmVeinsResp

相关文档

物联网设备通信协议文档