卡片模块
卡片模块用于管理门锁的 IC 卡/NFC 卡,包括卡片的注册、修改、删除和确认操作。
概述
卡片模块通过通用扩展指令(0x3030)实现,使用不同的子指令码区分具体操作。
卡片注册是一个交互式流程:
- APP 发送注册开始指令
- 用户在门锁上刷卡
- 门锁返回注册确认(包含卡片 ID)
- APP 可选择取消注册
通用扩展指令
所有卡片操作使用父指令 0x3030,通过子指令码区分具体功能。数据包格式参考 数据包格式。
注册卡片开始
启动卡片注册流程,支持限时、循环、胁迫等高级设置。
子指令码
24
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
| CardNo | 整型 | 2 | 卡片序号(可任意设置,以返回为准) |
| UseCountLimit | 整型 | 2 | 使用次数限制0xFFFF: 不限次数 |
| Operate | 整型 | 1 | 操作类型0: 注册1: 修改2: 删除3: 删除全部 |
| IsAdmin | 整型 | 1 | 是否管理员卡片 |
| IsForce | 整型 | 1 | 是否胁迫卡片 |
| Token | 整型 | 4 | 动态口令 |
| IsRound | 整型 | 1 | 是否循环使用 |
| WeekRound | 整型 | 1 | 循环周期 Bit0-6 置位分别代表周日至周六 |
| StartDate | 整型 | 4 | 生效日期(UNIX 时间) |
| EndDate | 整型 | 4 | 失效日期(UNIX 时间) |
| StartTime | 整型 | 4 | 每日生效时间(UNIX 时间) |
| EndTime | 整型 | 4 | 每日失效时间(UNIX 时间) |
| AuthCodeLen | 整型 | 1 | 鉴权码长度 |
| AuthCode | 字符串 | 变长 | 鉴权码 |
鉴权码计算
鉴权码计算方法参考 加密与签名 文档。
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Token | 整型 | 4 | 动态口令 |
| Status | 整型 | 1 | 状态码0: 成功 |
| No | 整型 | 2 | 门锁上的序号 |
注册卡片取消
取消正在进行的卡片注册流程。
子指令码
25
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
响应参数
无
注册卡片确认
门锁在用户刷卡后主动推送此消息给 APP。
子指令码
22
请求参数
无(由门锁主动推送)
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Status | 整型 | 1 | 注册状态 |
| No | 整型 | 2 | 门锁上的序号 |
| CardID | 字符串 | 20 | 卡片 ID |
状态码说明
| 值 | 说明 |
|---|---|
0x00 | 成功 |
0xFF | 注册取消 |
0xFE | 管理员已满 |
0xFD | 用户已满 |
0xFC | 卡片已满 |
0xFB | 卡片已存在 |
