Wi-Fi 门禁 DP 参考

更新时间:2023-10-16 03:02:58下载pdf

本文介绍了涂鸦智能 Wi-Fi 门禁门锁应用中涉及的 DP 功能、帧格式及其使用方法,适用于 Wi-Fi 门禁门锁公版项目。

背景信息

名词解释

下表罗列了本文涉及到的部分名词和解释,更多详情,请参考 名词解释

名词 解释
DP 全称为 Data Point,同时被称为 DP。一个 DP 指的就是 一个功能点 或者 一条/对指令码
PID 全称为 Product ID,表示描述一类产品功能(DP)的集合。
涂鸦 IoT 开发平台 创建的每一个产品都会产生一个唯一的产品编号,关联了产品具体的功能点、App 控制面板、出货信息等所有跟这个产品相关的信息。
uuid 设备的唯一识别 ID,又称作 License,长度是 20 位。
authkey 设备在云端注册时需要的密钥,和 UUID 是一一对应的关系,长度是 32 位。
固件 key 固件在 涂鸦 IoT 开发平台 的唯一身份标识。
成员 也称作 用户,是同一个概念。
成员 ID 2 字节无符号整数,指成员编号(也称为用户编号),由服务器/云端分配下发,本地无需维护,取值范围 0x0001~0xFFFE,其他为保留值。
硬件 ID 2 字节无符号整数,指开锁方式相关的硬件编号,由设备本地分配维护,每一个开锁方式对应一个唯一硬件 ID
例如,指纹一硬件 ID 为 0x0001,密码一硬件 ID 为 0x0002,取值范围 0x0000~0xFFFE,0xFFFF 为保留值。
时效性 某个具体的开锁方式(例如指纹或密码)在指定的时间范围内有效。
下发 数据传输的方向,手机 → 设备。
上报 数据传输的方向,设备 → 手机。

DP 格式

使用涂鸦 Wi-Fi 门禁模组 dp_data_len 的长度为 2 字节。其他 DP 格式信息,请参见下表:

字段 长度(bytes) 说明
dp_id 1 DP 的指令码
dp_type 1 DP 的数据类型
dp_data_len 2 DP 的数据长度
dp_data_value dp_data_len DP 的数据内容

解锁方式管理

解锁方式是跟用户信息相关的,例如用户的指纹、解锁密码、动态密码、人脸 ID 等。

添加解锁方式

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 1 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
时效性
(17 字节)
次数
(1 字节)
密码长度
(1 字节)
密码内容
(n 字节)
消息 uuid
(2 字节)
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:录入开始
0xFE:录入取消
(App 端发起)
0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 详见
附录 1
取值
范围
说明 说明 消息唯一序号,由云端
生成,用于关联对应消息上报
上报 1 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
次数
(1 字节)
返回状态
(1 字节)
消息 uuid
(2 字节)
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:录入开始 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 需要录入的总次数
例如:指纹一般是 6 次,
门卡、人脸一般是 1 次
0x00:默认值 同下发
0xFC:录入中 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 录入次数的序号
例如:指纹一般是 6 次,
填写每次的编号(从 1 开始)
录入异常原因:
0x00:无异常
0x01:指纹不全
0xFD:录入失败 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 当前的录入阶段:
0x00:录入开始
0xFC:录入中
0xFF:录入完成
录入失败原因
0xFE:录入取消
(App 端发起)
0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 0x00:默认值 0x00:默认值
0xFF:录入完成 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0x0000~0xFFFE 0x00:默认值 0x00:默认值

交互示例

  • 当开锁方式为密码、门卡、人脸时,交互流程如下图所示:

    App门锁录入开始录入开始录入完成App门锁
  • 当开锁方式为指纹时,交互流程如下图所示:

    App门锁录入开始录入开始(次数=6)录入进行(次数=1)录入进行(次数=2、3、4、5、6)录入完成App门锁

删除解锁方式

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 2 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
删除方式
(1 字节)
0x00:删除成员 0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 0x00:删除某个成员下所有开锁方式
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0x0000~0xFFFE 0x01:删除某成员的某一个开锁方式
上报 2 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
删除方式
(1 字节)
返回状态
(1 字节)
0x00:删除成员 0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 0x00:删除某个成员
下所有开锁方式
0x00:删除失败
0x01:硬件编号不存在
0x02:硬件编号不能删除(如管理员)
0xFF:删除成功
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0x0000~0xFFFE 0x01:删除某成员的
某一个开锁方式
0x00:删除失败
0x01:硬件编号不存在
0x02:硬件编号不能删除(如管理员)
0xFF:删除成功

修改解锁方式

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 3 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
时效性
(17 字节)
次数
(1 字节)
密码长度
(1 字节)
密码内容
(n 字节)
0x00:仅修改某
个成员的时效性
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 详见
附录 1
0x00:默认值
(次数不允许修改)
说明 说明
0xF1:仅修改
成员角色
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 无后续字段
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0x0000~0xFFFE 详见
附录 1
取值范围 说明 说明
上报 3 raw len 类型
(1 字节)
阶段
(1 字节)
管理员标记
(1 字节)
成员 ID
(2 字节)
硬件 ID
(2 字节)
次数
(1 字节)
返回状态
(1 字节)
0x00:仅修改某
个成员的时效性
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 0x00:默认 0x00:修改失败
0xFF:修改成功
0xF1:仅修改
成员角色
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0xFFFF:默认值 0x00:默认 0x00:修改失败
0xFF:修改成功
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0x00:默认 0x00:普通成员
0x01:管理员
0x0001~0xFFFE 0x0000~0xFFFE 取值范围 0x00:修改失败
0xFF:修改成功

同步解锁方式

  • 目的与意义:为了保持云端和设备本地开锁方式的一致性,每次进入面板内成员管理列表或者在成员管理界面下拉刷新时,都会触发解锁方式的全量同步,包括手机和本地添加的所有开锁方式。
  • 硬件类型枚举:用来通知设备端本次需要同步的解锁方式类型,未下发的硬件类型本地无需上报。阶段为 同步中 的每包数据长度由您自定义,建议每包数据总长度不大于 200 个字节。
  • 同步本地添加的开锁方式:本地添加的开锁方式通过同步的方式上报给云端,目前有以下几种情况:
    • 上报时成员 ID 用 0xFFFD,同步完成后,用户可选择关联给指定的 App 成员。
    • 上报时成员 ID 用 0xFFFF,同步完成后,用户可选择关联给指定的 App 成员。
    • 同步本地添加的开锁方式,用户 ID 使用 0xFFFD、0xFFFF,目前在云端做等效处理,不区分是否可通过 App 做删除操作的权限。
数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 4 raw len 硬件类型枚举
(len 字节)
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x07:遥控器
0xF0:临时密码
上报 4 raw len 阶段
(1 字节)
数据包序号
(1 字节)
同步数据
(n 字节)
0x00:同步中 0x00~0xFF
序号从 0 开始依次递增
数据 1、数据 2、...、数据 n
数据格式定义
上报 4 raw len 阶段
(1 字节)
总包数
(1 字节)
0x01:同步结束 总包数
例如发送了 2 次阶段为同步中的包,则总包数为 2

临时密码管理

临时密码包括一次性密码和周期性密码。临时密码和普通密码的不同之处有以下几点:

  • 临时密码不属于任何成员

  • 临时密码的时效性在连接状态下可单独更改

  • 临时密码作为开门方式时的 类型定义为 0xF0 (0x01 为密码,0x02 为门卡,0x03 为指纹……)

临时密码的使用 风险 在于:

  • 如果设备断电,不能及时连接上网络同步时钟,会导致本地时钟不能正确工作,周期性密码的周期重复功能会出现在本地无法准确判断的问题。
  • 解决方案建议:
    • 本地添加后备电池,确保本地时钟不因断电产生异常。
    • 产品接受在上述情况下产生的问题。

添加临时密码

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 5 raw len 类型
(1 字节)
时效性
(17 字节)
次数
(1 字节)
密码长度
(1 字节)
密码内容
(n 字节)
消息 UUID
(2 字节)
0x00:类型 0
0x01:类型 1
详见附录 1 取值范围 密码字节数 n
(仅用于密码类型)
说明 消息唯一序号,由云端生成
用于关联对应消息上报
上报 5 raw len 硬件 ID
(2 字节)
返回状态
(1 字节)
消息 UUID
(2 字节)
0x0000~0xFFFE 0x00:添加成功
0x01:添加失败
0x02:硬件 ID 分配完
0x03:密码重复
0x0A:弱密码
同下发

删除临时密码

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 6 raw len 硬件 ID
(2 字节)
0x0000~0xFFFE
上报 6 raw len 硬件 ID
(2 字节)
返回状态
(1 字节)
0x0000~0xFFFE 0x00:删除成功
0x01:删除失败

注:设备本地不存在时建议
也回复 0x00 删除成功

修改临时密码

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 7 raw len 硬件 ID
(2 字节)
类型
(1 字节)
时效性
(17 字节)
次数
(1 字节)
密码长度
(1 字节)
密码内容
(n 字节)
0x0000~0xFFFE 0x00:类型 0
0x01:类型 1
详见附录 1 取值范围 密码字节数 n
(仅用于密码类型)
说明
上报 7 raw len 硬件 ID
(2 字节)
返回状态
(1 字节)
0x0000~0xFFFE 0x00:修改成功
0x01:修改失败

远程解锁管理

配置秘钥

  • 进行远程开锁前,必须先配置远程开锁。一般 首次配网成功 云端会主动下发一次,MCU 也可 主动上报 DP8 为失败 触发云端下发密钥。若请求后云端未下发秘钥,可多次请求直到收到秘钥下发。
  • MCU 收到 DP8 后处理并存储秘钥信息,需要做出 成功回复上报。之后远程开门时直接用本地保存的信息进行校验,无需重复请求
  • 远程解锁 DP9 指令里的 秘钥内容 就是通过 远程解锁设置秘钥 指令进行配置的。
  • 该指令中的 是否生效、秘钥 ID、秘钥生效时间、秘钥失效时间、秘钥使用次数 都是预留的字段,可暂不做处理。
数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 8 raw len 是否生效
(1 字节)
秘钥 ID
(2 字节)
秘钥生效时间
(4 字节)
秘钥失效时间
(4 字节)
秘钥使用次数
(2 字节)
秘钥内容
(8 字节)
0x00:失效
0x01:生效
暂不启用,仅 1 个 Unix 时间戳
(当前时间)
Unix 时间戳
(最大时间)
0x0000~0xFFFF
默认 0,永久有效
ASCII 码
上报 8 raw len 返回状态
(1 字节)
秘钥 ID
(2 字节)
0x00:成功
0x01:失败
暂不启用,仅 1 个

远程解锁

远程开锁指的是通过 App 的通信链路进行开锁。

  • 如果是通过手机进行开锁,则称为 手机远程开锁
  • 如果是通过音箱进行开锁,则称为 语音远程开锁
数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
下发 9 raw len 功能
(1 字节)
成员 ID
(2 字节)
秘钥内容
(8 字节)
解锁方式
(2 字节)
通道 ID
(2 字节)
0x00:关门
0x01:开门
0x0001~0xFFFE ASCII 码 0x0000:未定义远程开锁
0x0001:手机 App 远程开锁
0x0002:语音音箱远程开锁
0x0003:遥控器解锁
0x0000~0xFFFF
上报 9 raw len 返回状态
(1 字节)
成员 ID
(2 字节)
通道 ID
(2 字节)
0x00:成功
0x01:失败
0x02:失效
0x03:秘钥次数使用完
0x04:秘钥不在有效期内
0x05:秘钥比对错误
0x0001~0xFFFE 同上

锁相关设置

简单设置项

功能 数据方向 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
dp_data_value
单一/组合解锁 下发/上报 25 enum 0x01 组合解锁方式枚举(1 字节)
0x00:单一解锁
0x01:指纹+密码
0x02:指纹+门卡
0x03:指纹+人脸
0x04:密码+门卡
0x05:密码+人脸
0x06:门卡+人脸
门禁报警音量 下发/上报 26 enum 0x01 音量枚举(1 字节)
0x00:静音
0x01:音量低
0x02:音量中
0x03:音量高
门锁语言 下发/上报 27 enum 0x01 语言枚举(1 字节)
0x00:简体中文
0x01:英文
0x02:日文
...
0x09:繁体中文
0x0A:韩语
自动落锁延时 下发/上报 31 value 0x04 延时时长(4 字节)
单位:秒
自动落锁开关 下发/上报 30 bool 0x01 状态(1 字节)
0x00:关闭
0x01:开启
开门速度 下发/上报 32 enum 0x01 开门速度
0x00:低速
0x01:中速
0x02:高速
开门比例 下发/上报 33 value 0x04 比例(4 字节)
按百分之 5 递增
报警声音时间 下发/上报 34 value 0x04 时长(4 字节)
0-30min,默认 3min

常开设置项

功能 数据方向 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
dp_data_value
常开设置开关 下发/上报 28 bool 0x01 状态(1 字节)
0x00:关闭
0x01:开启
常开时间段 下发/上报 29 raw len 是否永久(1 字节) 周循环(1 字节) 时段个数(1 字节) 时段数据(n 字节)
0x00:非永久
0x01:永久
详见附件一:
周编码规则
时段个数 详见附件三:
常开时段说明

呼叫、拍照和告警等设置

  • 再次拍照:单击面板上的重新拍摄会触发一次对应 DP 的下发。
  • 语音播报:具体多语言支持客户自己配置。请求远程解锁拒绝,面板上可选对应的拒绝原因,此时面板会通过该 DP 下发。设备完全基于该 DP 数值来决定是否播放对应的拒绝原因。
  • 告警弹窗:设备主动上报,此时面板有对应的消息通知,用户可选择不解除与解除报警,通过 DP39 下发告知设备。
功能 数据方向 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
dp_data_value
请求远程开门 下发/上报 24 raw len 多通道呼叫
上报数值请查看:通道协议说明

上报数值:
0x00:请求开门

下发取值:
0x00:解锁
0x01:拒绝解锁
再次拍照 下发/上报 36 bool 0x01 是否再次拍照(1 字节)
0x01:拍照
0x00:不处理
语音播报 下发/上报 37 enum 0x01 播放类型(1 字节)
0x00:第一段
0x01:第二段
0x02:第三段
0x03:第四段
0x04:第五段
0x05:第六段
告警弹窗 上报 38 raw len 多通道告警
具体查看:通道协议说明

取值:
0x00:本地解除
0x01:异常报警
解除告警 下发 39 raw len 多通道告警
具体查看:通道协议说明

取值:
0x00:不解除
0x01:解除报警
上报 39 raw len 具体查看:通道协议说明

取值:
0x00:解除失败
0x01:解除成功
0x02:未知(可能是下发了无效的指令,
例如设备没有报警但下发了解除的指令)

实时状态上报

功能 数据方向 dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
门开合状态 上报 35 raw len 多通道状态(n 字节)
按多通道协议说明组数据
门状态定义:
0x01:门打开
0x02:门关闭

记录数据上报

解锁记录

记录类型 dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
指纹解锁 10 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 0x0000~0xFFFE
默认值:0xFFFF
普通密码解锁 11 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 同上
门卡解锁 12 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 同上
遥控器解锁 14 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE
默认:0xFF
同上
人脸识别解锁 13 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 同上
离线密码解锁 17 raw 0x12 离线密码记录 通道 ID(2 字节)
详见离线密码记录说明 同上
所有离线密码清空 19 raw 0x12 离线密码记录 通道 ID(2 字节)
详见离线密码记录说明 同上
单条离线密码清除 21 raw 0x12 离线密码记录 通道 ID(2 字节)
详见离线密码记录说明 同上
临时密码解锁 16 raw 0x06 硬件 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 同上
App 远程解锁 22 raw 0x06 成员 ID(4 字节) 通道 ID(2 字节)
0x0000~0xFFFE 同上

告警记录

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
上报 23 raw 0x03 告警枚举(1 字节) 通道 ID(2 字节)
取值范围 0x0000~0xFFFE
默认值:0xFFFF

组合解锁记录

数据
方向
dp_id
(1 字节)
dp_type
(1 字节)
dp_data_len
(2 字节)
dp_data_value
上报 15 raw 0x09 组合类型
(1 字节)
开锁方式-1
(1 字节)
硬件 ID-1
(2 字节)
开锁方式-2
(1 字节)
硬件 ID-2
(2 字节)
通道 ID
(2 字节)
0x00:单一开锁
0x01:组合开锁
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x05:掌纹
0x06:指静脉
0xF0:临时密码
0x0000~
0xFFFE
0x01:密码
0x02:门卡
0x03:指纹
0x04:人脸
0x05:掌纹
0x06:指静脉
0xF0:临时密码
0x0000~
0xFFFE
0x0000~
0xFFFE

算法密码

本小节介绍作为开锁方式的算法密码,包括离线密码和动态密码。工作原理大致为:云端与设备端运行相同的算法生成密码与验证密码,当用户输入生成的密码时,设备端验证通过即认为合法,可执行开锁等操作。

离线密码

  • 使用场景:

    操作人员通过 App 获取离线密码,并告知用户。

    • 用户得到 单次密码:6 小时内使用,开门成功,密码失效,并产生一条开门记录。否则 6 小时后失效。
    • 用户得到 时效密码:24 小时内使用 1 次,密码激活,时效内都可使用,使用一次产生一条开门记录。24 小时内未使用则失。
    • 用户得到 清空单条密码:时效性和要清空的那条密码相同,多次使用只有第 1 次生效,产生使用过 清空单条密码的记录
    • 用户得到 清空所有密码:24 小时内使用,清空所有密码,只有 1 次,产生使用过 清空所有密码 的记录。否则 24 小时后失效。
  • 清空单条密码/所有密码的限制:

    • 只能清空 至少使用过 1 次的时效密码(即激活的时效密码)
    • 不能清空 单次密码,因为单次密码使用 1 次后就失效了。
  • 使用方式:如果采用模组通用对接,请参考 MCU 对接协议-0x16 指令。如果采用 SDK 对接,请参考对应接口文档。

附录

附录一:时效性说明

字节 含义 说明 举例
1 时效
起始时间
unsigned int

4 字节(大端)
例如 unix 时间为:

123-456-789 = 0x075BCD15
若时效为永久有效,则起始时间为 0x00000000
7
2 5B
3 CD
4 15
5 时效
结束时间
unsigned int

4 字节(大端)
例如 Unix 时间为:

999-999-999 = 0x3B9AC9FF
若时效为永久有效,则结束时间为 0x7FFFFFFF
3B
6 9A
7 C9
8 FF
9 时效的循环方式 0x00:不循环 0x01:天循环 0x02:周循环 0x03:月循环
10 循环标志位 1 不循环时 10~17 字节全部为 0 默认=0x00 默认=0x00 bit7:默认为 0
bit6:31 号
……
bit0:25 号
11 循环标志位 2 默认=0x00 默认=0x00 bit7:24 号
……
bit0:17 号
12 循环标志位 3 默认=0x00 默认=0x00 bit7:16 号
……
bit0:9 号
13 循环标志位 4 默认=0x00 bit7:默认为 0
bit6:周六
……
bit1:周一
bit0:周日

详见周编码示例
bit7:8 号
……
bit0:1 号
14 一天中起始时间 1(小时数) 起始时间:8:30 08(十进制)
15 一天中起始时间 2(分钟数) 30(十进制)
16 一天中结束时间 1(小时数) 结束时间:20:30 20(十进制)
17 一天中结束时间 2(分钟数) 30(十进制)

周编码示例

bit7 保留 bit6 周六 bit5 周五 bit4 周四 bit3 周三 bit2 周二 bit1 周一 bit0 周日
0 0 1 0 1 0 1 0 0x2A
0 0 1 1 0 1 0 1 0x35
0 1 1 1 0 0 1 0 0x72
0 1 1 1 1 1 1 1 0x7F

添加或修改开锁方式时,时效性的循环方式和次数同时生效,但是一般仅使用以下两种情况:

  • 次数为 0x00,此时次数为永久有效,可仅处理时效的循环方式。
  • 时效的循环方式为 0x00,此时为不循环,可仅处理次数。

例如,设置 2018-01-26 08:00:00 到 2018-08-08 09:56:32 期间内,每周一至周五的早上 8:00 到 8:30 生效,则时效性为 0x 5A6A6F80 5B6A4DD0 02 0000003E 0800 081E

  • 2018-01-26 08:00:00 转换为 Unix 时间为 1516924800,即 0x5A6A6F80
  • 2018-08-08 09:56:32 转换为 Unix 时间为 1533693392,即 0x5B6A4DD0
  • 时效的循环方式为:0x02-周循环
  • 循环天标志位 1 = 循环天标志位 2 = 循环天标志位 3 = 0x00
  • 循环天标志位 4 = 0x3E(周一至周五)
  • 一天中的起始时间 1 = 0x08,一天中的起始时间 2 = 0x00
  • 一天中的结束时间 1 = 0x08,一天中的结束时间 2 = 0x1E

附录二:通道协议

多通道数据格式定义如下:

通道总数(1 字节) 通道 1 信息(1+n 字节) 通道 n 信息(1+n 字节)
0x00 ~ 0xFE 通道序号+通道值 通道序号+通道值

字段说明

  • 通道总数:1 字节,用于表述后续通道信息的个数。
  • 当前通道序号,1 字节,从 0 开始,如通道 1 对应值为 0,通道 2 对应值为 1。
  • 当前通道的值:当前通道值,定义详见各 DP 下的定义。

示例:以 4 个通道的场景,假设 DP 的值占一个字节:

场景 通道 1 的值(1 字节) 通道 2 的值(1 字节) 通道 3 的值(1 字节) 通道 4 的值(1 字节) 最终上报/下发的数据
如下发 3 个通道的值 0x21 不下发 0x5B 0x0B 下发数据:
0x03 0x00 0x21 0x02 0x5B 0x03 0x0B

附录三:常开时段说明

每段都包含 4 个字节:

  • 第一字节表示 开始时间的小时

  • 第二字节表示 开始时间的分钟

  • 第三字节表示 结束时间的小时

  • 第四字节表示 结束时间的分钟

    例如,开始时间是 08:30,结束时间为:20:30,则该常开时段表示为:0x08 0x1E 0x14 0x1E