简体中文
简体中文
English
联系我们
注册
登录
语言
简体中文
简体中文
English
联系我们
登录
注册
返回主站
layout空间导航

Wi-Fi Pro 基础版 DP 参考

更新时间:2021-07-05 03:15:06下载pdf

背景信息

名词解释

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

名称 解释
DP 全称为 Data Point,同时被称为 DP 点。一个DP指的就是“一个功能点”或者“一条/对指令码”。
PID 全称为 Product ID,表示描述一类产品功能(DP)的集合。在 涂鸦IoT平台 创建的每一个产品都会产生一个唯一的产品编号,关联了产品具体的功能点、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_type 数据类型

dp_type数据类型的定义及取值范围定义如下:

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

开门方式类

同步本地录入开门方式

功能
数据流向
dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
同步所有指纹编号 上报 25 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有密码编号 上报 26 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有卡编号 上报 27 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有人脸编号 上报 28 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有虹膜编号 上报 29 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有掌纹编号 上报 30 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据
同步所有指静脉编号 上报 31 raw 0XN 1片区~125片区(每个片区2字节)
例如:01 03 // 0000 0001 0000 0011 即 1该片区存在0、1号开锁方式,实际指纹编号为0、1
注意:最多125个片区,空片区无需传数据

App 远程开锁

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
远程开门请求倒计时 上报 9 value 0x01 倒计时数(4字节)
范围:0x00~0x5a
设备免密远程开门密钥 下发 50 raw len raw数据说明
上报 raw数据说明
新免密远程开门-带密钥 下发 50 raw len raw数据说明
上报 raw数据说明

App 发起添加开门方式/关联本地能力

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
查询创建类型 上报 34 bool 0x01 查询类型
(1字节)0x00:失败
0x01:生效
创建类型回复 下发 35 enum 0x01 enum数据说明
门锁录入完成 上报 62 raw 0x04 raw数据说明
远程创建成功 下发 37 bool 0x01 创建结果
(1字节)0x00:失败
0x01:成功
取消远程创建 下发 42 bool 0x01 取消结果
(1字节)0x00:失败
0x01:成功
关联本地能力 下发 60 raw 0x04 raw数据说明
管理员密钥上报 上报 61 raw 0x05 raw数据说明

App 发起删除开门方式

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
门锁允许远程删除 上报 38 bool 0X01 门锁状态(1字节)
0x00:不允许
0x01:允许
远程删除回复 上报 40 bool 0X01 删除结论(1字节)
0x00:失败
0x01:成功
远程删除指纹 下发 39 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除密码 下发 41 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除卡片 下发 43 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除人脸 下发 51 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除指静脉 下发 52 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除掌纹 下发 53 bool 0X01 硬件id(4字节)
0x00~0xFE
远程删除虹膜 下发 54 bool 0X01 硬件id(4字节)
0x00~0xFE

设置类

部分面板未支持设置类 DP。

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
说明
常开设置开关 下发 58 bool 0x01 状态(1字节)0x00:关闭
0x01:开启
常开设置时间 下发 59 raw 0XN raw数据说明
布防开关 下发 10 bool 0X01 数据说明(1字节)0x00: 关闭布防
0x01: 永久
开启布防

记录型

功能名称 数据流 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 报警枚举(1字节)
enum数据说明
App 远程解锁记录 上报 15 value 0x04 硬件id(4字节)
0x00~0xFE
劫持告警 上报 16 bool 0x01 类型(1字节)
(无需mcu上报)
从门内侧打开门锁 上报 17 bool 0x01 内容(1字节)
0x00:未落锁
0x01:已落锁
门铃呼叫记录 上报 19 bool 0x01 内容(1字节)
0x00:未发生
0x01:门铃呼叫
虹膜解锁记录 上报 22 value 0x04 硬件id(4字节)
0x00~0xFE
掌纹解锁记录 上报 23 value 0x04 硬件id(4字节)
0x00~0xFE
指静脉解锁记录 上报 24 value 0x04 硬件id(4字节)
0x00~0xFE
离线密码解锁上报 上报(给模组) 33 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:解密数据
离线密码清空上报 上报给模组 32 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:解密后数据长度
组合解锁记录 上报 44 raw 0x07 raw数据说明
关锁记录 上报 57 raw 0x05 raw数据说明

状态类

功能名称 数据流 dp_id
(1byte)
dp_type
(1byte)
dp_data_len
(2byte)
数据说明
剩余电量 上报 12 value 0x01 电量百分比(4字节)
0x00~0x64
电池电量状态 上报 11 enum 0x01 电量百分比(1字节)
0X00:高
0X01:中
0X02:低
0X03:电池电量即将耗尽
反锁状态 上报 13 bool 0x01 状态(1字节)
0X00:未反锁
0X01:已反锁
童锁状态 上报 14 bool 0x01 状态(1字节)
0X00童锁关闭
0X01:童锁打开
门开合状态 上报 18 enum 0x01 状态(1字节)
0x00:未知
0x01:门打开
0x02:门关闭
上提反锁状态 上报 21 bool 0x01 状态(1字节)
0x00:未上提反锁
0x01:已上提反锁
落锁状态 上报 55 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 0x1