CATALOG

芯步的12键密码门禁支持最多30个“永久有效、断电不丢失”的密码,适合长期授权场景(如员工、租户)。以下是基于其开放HTTP接口的完整对接方案。

1. 准备工作

在开始对接之前,请确保完成以下硬件与账户准备:

  1. 硬件通电与配网

    • 将12键密码门禁通电,并使用手机APP(或其他配置工具)将其连接至2.4G WiFi网络。

    • 注意:设备必须联网才能接收HTTP指令

  2. 获取凭证

    • 登录芯步官网控制台。

    • 在“开发设置”中获取三个关键值:AppID(应用ID)、AppSecret(开发者密码)、以及设备的唯一标识 Device ID(设备ID)

2. 接口鉴权(签名计算)

芯步的HTTP接口采用动态签名验证,所有请求都必须携带sign(签名)和ts(时间戳)。签名生成逻辑如下(通用伪代码/逻辑):

  1. 将你的 AppSecret 进行一次MD5加密,得到 secret_md5

  2. secret_md5 与当前Unix时间戳(秒,即ts)进行拼接。

  3. 将拼接后的字符串再次进行MD5加密,得到最终的 sign

算法公式sign = MD5( MD5(AppSecret) + ts )

例子:假设 AppSecret 是 "abc123",ts 是 "1700000000"。 先计算出 MD5("abc123") = "e99a18c428cb38d5f22...", 然后计算 MD5("e99a18c4...22...1700000000") 得到最终签名

3. 核心对接流程:永久密码管理

针对“永久密码管理”,主要涉及三个核心操作:设置密码查询列表删除密码。请求地址统一为:https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

3.1 设置/添加永久密码

通过向设备下发 pwd 命令可以实现。该设备支持30个永久密码位,且断电不丢失。

  • 接口命令{"pwd":"密码内容"} (注意:若需指定序号请参考设备文档,默认可不填)

  • 请求示例

  • 业务逻辑关联:在对接管理系统中,当管理员点击“添加员工”或“授权租客”时,后台调用此接口。将生成的密码与系统内部的用户ID(UserID)进行绑定存储,以便后续管理

3.2 查询所有密码列表

在删除或审计前,通常需要先获取当前设备上已存储的密码列表。

  • 接口命令{"list":1}

  • 请求示例

  • 返回处理:接口会返回当前设备存储的所有密码及其序号。系统可解析该列表,与本地数据库对比,用于同步状态或展示给管理员

3.3 删除永久密码

当人员离职、租客退租或更换密码时,必须执行删除操作,以保障安全。

  • 接口命令:支持按密码删除或按序号删除。

    • 按密码删{"delete":"密码内容"}

    • 按序号删:(将密码位的编号传进去)

  • 请求示例

  • 永远不要使用“清空密码”命令{"clear":1})进行日常管理,该命令仅适用于设备初始化

4. 系统架构与逻辑

为了实现“管理系统化”,在您的服务器端建立以下逻辑:

  1. 数据库设计建立一个 门禁权限表,包含字段:设备ID用户ID密码值类型(永久/临时)、生效时间创建时间

  2. 状态同步机制

    • 主动下发:管理员操作UI -> 后端计算Sign -> 调用API设置密码 -> 数据库记录日志。

    • 被动接收:设备支持事件上报。当有人按密码开门时,设备会通过HTTP上报开门事件(包含“谁开的门”)。

    • 您需要在控制台配置“回调URL”,用于接收开门记录。收到回调后,更新数据库中的“最后使用时间”。

  3. 异常处理

    • 如果调用 设置密码 接口返回失败(如网络超时),您的系统应重试3次。若仍失败,标记设备离线并在管理界面提示管理员。

5. 常见问题与排查

  • 签名错误

    • 检查时间戳ts是否为秒级(10位数字),不是毫秒级(13位)。

    • 确保拼接顺序是 MD5结果+时间戳,中间无任何符号

  • 密码不生效

    • 确认门禁设备WiFi信号良好(设备需联网同步时间,若时间不准可能导致有时效的密码异常,但永久密码一般不受影响)。

    • 确认发送的密码位数是否符合设备限制(通常为4-8位)。

  • 数量限制

    • 该型号明确标注仅支持30个永久密码。当您的系统提示需要新增第31个永久密码时,API会报错。您的管理软件必须加入校验逻辑:提示管理员“已达上限,请先删除旧密码”

6. 总结

对接芯步12键密码门禁实现永久密码管理,核心在于利用 pwddelete 两个HTTP指令。将设备API封装成独立的 “门禁服务层” ,上层业务系统无需关心硬件协议,只需调用“授权用户”和“注销用户”的内部函数即可,这样可以有效屏蔽硬件细节,便于后续维护。