Wi-Fi 拍照锁 DP 参考

更新时间:2024-06-20 08:59:17下载pdf

您现在正在阅览的,是一篇不完全公开的文档,这表示该文档内容的适用性有一定的限制,文档或目录所描述的内容适用于旧版本 SDK、API、工具、平台等。
如果您需要更准确的技术文档,请访问 涂鸦开发者平台,然后自行搜索。

背景信息

名词解释

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

名称 解释
DP 全称为 Data Point,同时被称为 DP 点。一个DP指的就是“一个功能点”或者“一条/对指令码”。
PID 全称为 Product ID,表示描述一类产品功能(DP)的集合。在 涂鸦开发者平台 创建的每一个产品都会产生一个唯一的产品编号,关联了产品具体的功能点、App 控制面板、出货信息等所有跟这个产品相关的信息。
uuid 设备的唯一识别ID,又称作 License,长度是20位。
authkey 设备在云端注册时需要的密钥,和 UUID 是一一对应的关系,长度是 32 位。
固件 key 固件在涂鸦平台的唯一身份标识。
成员 也称作 用户,是同一个概念。
成员 ID 1 字节无符号整数,指成员编号(也称为用户编号),由服务器分配下发,本地无需维护,取值范围0x01~0x64,其他为保留值。
硬件 ID 1 字节无符号整数,指开锁方式相关的硬件编号,由本地分配维护,每一个开锁方式对应一个硬件 ID,例如:指纹一硬件 ID 为 0x01 ,密码一硬件 ID 为 0x02,取值范围 0x00~0xFE,0xFF 为保留值。
时效性 某个具体的开锁方式(例如指纹或密码)在指定的时间范围内有效。
自动落锁 开锁一段时间后自动关锁,支持自定义落锁时间。
上提反锁 通过将门内的门把手上提进行反锁(下压是开锁)
劫持报警 用户在遭遇歹徒劫持时通过指定的开门方式进行报警的功能。
免密远程开锁 免密针对的是需要密码的开锁方式,远程指的是通过手机开锁。
下发 数据传输的方向,例如:手机发送给Wi-Fi设备。
上报 数据传输的方向,例如:Wi-Fi设备发送给手机。

DP 格式

字段 长度 说明
dp_id 1 dp点的指令码
dp_type 1 dp点的数据类型
dp_data_len 2 dp点的数据长度
dp_data_value dp_data_len dp点的数据(具体请看dp点详解)

dp_type 数据类型

dp_type 取值 长度(byte) 说明
raw 0 1~255 原始类型,详见dp点详解
bool 1 1 布尔值
value 2 4 值类型(int)
string 3 0~255 字符串(可能为空)
enum 4 1 枚举值

开门方式类

同步本地录入开门方式

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
同步本地开门方式 上报 40 raw 0x0N raw数据说明
同步本地人脸数据
(当设备支持APP录入人脸识别数据,选择该dp)
上报 51 raw 0XN raw数据说明
下发 raw数据说明

App 远程开锁

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
远程开门请求倒计时 上报 17 value 0x01 倒计时数(4字节)
范围:0x00~0x5a
设备免密远程开门密钥 下发 19 raw len raw数据说明
上报 raw数据说明
新免密远程开门-带密钥 下发 20 raw len raw数据说明
上报 raw数据说明
实时视频远程请求 上报 18 raw 0X02 raw数据说明
下发 raw数据说明
抓拍告警倒计时 上报 22 value 0x01 倒计时数
(4字节)
0x00~0x5a
抓拍告警回复 下发 23 bool 0x01 状态
(1字节)
0x00:无效
0x01:关闭弹窗

App 添加开门方式和关联本地能力

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
查询创建类型 上报 34 bool 0x01 查询类型
(1字节)
0x00:失败
0x01:生效
创建类型回复 下发 35 enum 0x01 类型内容
(1字节)
0x00:指纹;
0x01:卡片;
0x02:密码;
0x03:管理员指纹;
0x04:管理员卡片;
0x05:管理员密码
门锁录入完成 上报 36 raw 0x04 raw数据说明
远程创建成功 下发 37 bool 0x01 创建结果
(1字节)
0x00:失败
0x01:成功
取消远程创建 下发 44 bool 0x01 取消结果
(1字节)
0x00:失败
0x01:成功
关联本地能力 下发 38 raw 0x04 raw数据说明
管理员密钥上报 上报 39 raw 0x05 raw数据说明
图片列表获取 下发 50 bool 0x01 门锁状态
(1字节)
0x00:不允许
0x01:允许
识别到陌生人 上报 52 bool 0x01 门锁状态
(1字节)
0x00:不允许
0x01:允许

App 删除开门方式

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
门锁允许远程删除 上报 41 bool 0X01 门锁状态(1字节)
0x00:不允许
0x01:允许
远程删除回复 上报 43 bool 0X01 删除结论(1字节)
0x00:失败
0x01:成功
远程删除开门方式(app发起) 下发 42 raw len raw数据说明
上报 raw数据说明
远程删除开门方式(本地发起) 上报 42 raw len raw数据说明
下发 raw数据说明

设置类

部分面板未支持。

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
常开设置开关 下发 47 bool 0x01 状态(1字节)
0x00:关闭
0x01:开启
常开设置时间 下发 48 raw 0XN raw数据说明
布防开关 下发 46 bool 0X01 数据说明(1字节)
0x00: 关闭布防
0x01: 永久
开启布防
强制反锁 下发 33 bool 0X01 数据说明(1字节)
0x00: 关闭布防
0x01: 永久
0x01:强制反锁
再次拍照 下发 32 bool 0X01 数据说明(1字节)
0x00: 关闭布防
0x01:再次抓拍
旋转角度 上报 31 value 0X04 硬件ID(4字节)
0x00~0xFE
拍照模式 下发 45 enum 0X01 数据说明(1字节)
0x00:关闭拍照
0X01:省电(告警触发拍照)
0X02:标准(门铃呼叫、告警等触发抓拍)
0X03:安防(所有开关门,门锁本地管理等均触发抓拍)
引导页动作 下发 49 raw 0XN 动作码(1字节)
0X00~0XFE
上报 raw数据说明

记录类

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
数据说明
指纹解锁记录 上报 1 value 0x04 硬件ID(4字节)
0x00~0xFE
普通密码解锁记录 上报 2 value 0x04 硬件ID(4字节)
0x00~0xFE
临时密码解锁记录 上报 3 value 0x04 硬件ID(4字节)
0x00~0xFE
门卡解锁记录 上报 5 value 0x04 硬件ID(4字节)
0x00~0xFE
人脸识别解锁 上报 6 value 0x04 硬件ID(4字节)
0x00~0xFE
钥匙解锁 上报 7 value 0x04 硬件ID(4字节)
0x00~0xFE
告警记录 上报 8 enum 0x01 硬件ID(4字节)
0x00:指纹试错
0x01:密码试错
0x02:门卡试错
0x03:人脸试错
0x04:假锁
0x05:高温
0x06:超时未关门
0x07:锁舌未弹出
0x08:防撬
0x09:钥匙插入
0x0A:低电
0x0B:电量耗尽
0x0C:震动
0x0D:门铃呼叫
0x0E:陌生人逗留
0x0F:布防告警
APP远程解锁记录 上报 4 value 0x04 硬件ID(4字节)
0x00~0xFE
劫持告警 上报 28 bool 0x01 类型(1字节)
(无需mcu上报)
从门内侧打开门锁 上报 9 bool 0x01 内容(1字节)
0x00:未落锁
0x01:已落锁
虹膜解锁记录 上报 11 value 0x04 硬件ID(4字节)
0x00~0xFE
掌纹解锁记录 上报 12 value 0x04 硬件ID(4字节)
0x00~0xFE
指静脉解锁记录 上报 13 value 0x04 硬件ID(4字节)
0x00~0xFE
离线密码解锁上报 上报(给模组) 14 raw 0xN 数据说明(N字节):
格林时间+密码长度+密码
Year(1)+mon(1)+day(1)
+hour(1)+min(1)+sec(1)
+code_len(1)+code(n)
(模组)回复 结论回复(N字节
0 正确
非0 错误(无后续数据)
Type:
0 限时开门密码
1 单次开门
密码2 清
除密码 decode_len:解密后数据长度
decode:解密数据
离线密码清空上报 上报(给模组) 15 raw 0xN 数据说明(N字节):
格林时间+密码长度+密码
Year(1)+mon(1)+day(1)
+hour(1)+min(1)+sec(1)
+code_len(1)+code(n)
(模组)回复 结论回复(N字节
0 正确
非0 错误(无后续数据)
Type:
0 限时开门密码
1 单次开门
密码2 清
除密码 decode_len:解密后数据长度
组合解锁记录 上报 16 raw 0x07 raw数据说明
关锁记录 上报 10 raw 0x05 raw数据说明

状态类

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
数据说明
剩余电量 上报 25 value 0x01 电量百分比(4字节)
0x00~0x64
电池电量状态 上报 24 enum 0x01 电量百分比(1字节)
0X00:高
0X01:中
0X02:低
0X03:电池电量即将耗尽
反锁状态 上报 26 bool 0x01 状态(1字节)
0X00:未反锁
0X01:已反锁
童锁状态 上报 27 bool 0x01 状态(1字节)
0X00童锁关闭
0X01:童锁打开
门开合状态 上报 29 enum 0x01 状态(1字节)
0x00:未知
0x01:门打开
0x02:门关闭
上提反锁状态 上报 30 bool 0x01 状态(1字节)
0x00:未上提反锁
0x01:已上提反锁
落锁状态 上报 21 bool 0x01 状态(1字节)
0x00:未落锁
0x01:已落锁

附录一:时效性

字节 含义 说明 举例
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
若时效为永久有效,则起始时间0x7FFFFFFF0
3B
6 9A
7 C9
8 FF
9 时效的循环方式 0x00:不循环 0x01:天循环 0x02:周循环 0x03:月循环
10 循环标志位1 不循环时10~17
字节全部为0
默认=0x00 bit7:默认为0
bit6:31号
……
bit0:25号
11 循环标志位2 默认=0x00 bit7:默认为24号
……
bit0:17号
12 循环标志位3 默认=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(十进制)

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

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

示例:设置2018-01-26 08:00:00到2018-08-08 09:56:32期间内,每周一至周五的早上8:00到8:30生效,则:

  • 2018-01-26 08:00:00:转换为unix时间为1516924800 = 0x5A6A6F80‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬
  • 2018-08-08 09:56:32:转换为unix时间为1533693392 = 0x5B6A4DD0‬
  • 时效的循环方式为:0x02,表示周循环
  • 循环天标志位1 = 0x00
  • 循环天标志位2 = 0x00
  • 循环天标志位3 = 0x00
  • 循环天标志位4 = 0x3E(周一至周五)
  • 一天中的起始时间 1 = 0x08,一天中的起始时间 2 = 0x00
  • 一天中的结束时间 1 = 0x08,一天中的结束时间 2 = 0x1E
    ‬‬‬‬综上,下发的时效性序列为 5A 6A 6F 80 5B 6A 4D D0 02 00 00 00 3E 08 00 08 1E‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬。

周编码示例:

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

附录二:常开时间段说明

每段都包含4个字节,其中

  • 第一字节表示开始时间的小时
  • 第二字节表示开始时间的分钟
  • 第三字节表示结束时间的小时
  • 第四字节表示结束时间的分钟

比如其实时间是: 08:30, 结束时间为: 20:30, 则该常开时段的表示为: 0x08 0x1E 0x14 0x1E

附录三:抓拍事件对应表

事件状态 描述 状态值
状态1 防撬告警 0x0000
状态2 远程开门请求 0x0001
状态3 指纹开门试错 0x0002
状态4 密码开门试错 0x0003
状态5 卡片开门试错 0x0004
状态6 人脸开门试错 0x0005
状态7 掌纹开门试错 0x0006
状态8 指静脉开门试错 0x0007
状态9 指纹开门 0x0008
状态10 密码开门 0x0009
状态11 卡片开锁 0x000A
状态12 人脸开锁 0x000B
状态13 掌静脉开锁 0x000C
状态14 指静脉开锁 0X000D
状态15 临时密码解锁 0x000E
状态16 动态密码解锁 0x000F
状态17 远程解锁 0X0010
状态18 离线密码解锁上报 0x0011
状态19 门铃呼叫记录 0x0012
状态20 劫持告警 0x0013
状态21 低电报警 0x0014
状态22 钥匙插入报警 0x0015
状态23 高温报警 0x0016
状态24 门铃+远程开门 0x0017
状态25 有人停留(逗留) 0x0018
状态26 门锁被破坏 0x0019
状态27 特殊指纹开锁 0x001A
状态28 布防模式下开锁 0x001B

如果门铃呼叫和远程开门记录需要使用同一张照片,请使用事件状态2。