CATALOG

芯步的按键版智能密码门禁支持通过HTTP接口直接下发开门指令,这意味着你可以把任何能联网的系统——小程序、App、内部办公软件——变成远程遥控器。下面这份方案涵盖了从硬件接线、接口调用到集成落地的完整路径。

1. 解决概述

1.1 背景与需求

在许多场景下(如公寓管理、办公室访客接待、无人值守机房),管理员需要在未携带门禁卡或不知晓门禁密码的情况下远程开门。传统的按键版密码门禁通常仅支持本地键盘输入,无法满足此需求。

1.2 方案简介

本方案基于芯步“智能密码门禁[按键]” 硬件(型号:UNI-MJ-MM-AJ)及其开放的HTTP API接口。通过将门禁接入WiFi网络,外部业务系统(如微信小程序、内部管理系统、智能语音助手)可通过发送HTTPS POST请求,直接控制门锁的“通电开锁”或“断电开锁”,实现远程一键开门

1.3 核心技术优势

  • 无需网关:设备直连WiFi 2.4G网络,降低硬件成本和故障点

  • 接口简单:标准的HTTP协议,签名生成仅需MD5加密,兼容所有编程语言

  • 私有化部署:支持局域网直连或自建消息服务器,保障数据安全

2. 硬件连接与接线指南

在进行软件开发之前,需要确保硬件接线正确。锁的类型决定了门禁的工作模式。

2.1 接线原理

芯步按键门禁本质上是一个继电器控制器。通过控制继电器的“通”与“断”来瞬间切断或恢复电锁的电源,从而实现开锁。

2.2 两种常见锁的接线方式

锁具类型日常状态接线说明对应API指令
电磁锁 / 电插锁通电上锁,断电开锁将锁的正负极接在门禁的 COMNC(常闭)端口。设备工作时,电路导通,锁具吸合;设备(继电器)断开时,电路切断,锁具打开。{"power":0}{"reset":"1000"}
阴极锁 / 电控锁通电开锁,断电上锁将锁的正负极接在门禁的 COMNO(常开)端口。设备工作时,电路导通,锁具瞬间通电弹开。{"power":1}{"point":"1000"}

注意:根据锁具类型选择合适的“先断后通”(reset)或“先通后断”(point)指令,以毫秒级脉冲控制开锁,避免长时间通电烧毁线圈

2.3 上电与配网

  1. 供电:设备支持DC 12V或AC/DC供电(视具体型号),请按要求接入电源。

  2. 网络配置:通过芯步控制台或设备配网模式,将设备连接到办公/现场的2.4G WiFi网络。设备支持配置5组WiFi,自动选择信号最强的连接

3. HTTP 接口对接开发详解

芯步的开放接口是本次集成的核心。接口地址为:https://api.thingboot.com/{AppID}/device/control/

3.1 准备工作:获取凭证

在芯步开放平台(ThingBoot Open)中:

  1. 注册开发者账号,创建工作台。

  2. 在“开发设置”中获取 AppIDAppSecret

  3. 在控制台获取设备的唯一标识 Device ID(可从控制台查看或通过接口拉取)

3.2 签名算法(Sign)

API 请求需携带签名进行鉴权。算法规则如下Sign = md5( md5(AppSecret) + ts )

注:ts 为当前Unix时间戳(秒);+ 表示字符串拼接。

示例计算流程(伪代码):

3.3 API 调用实战:远程开门

以“脉冲开锁”(按下门铃按钮般的瞬间导通)为例,这种方式最安全,适合绝大多数电锁。

接口信息:

  • Method:POST

  • URLhttps://api.thingboot.com/{你的AppID}/device/control/?sign={计算出的sign}&ts={当前时间戳}

  • HeaderContent-Type: application/json

  • Body (JSON)

解释:{"reset": "1000"} 指令会让继电器断开1秒,然后重新吸合。对于“通电上锁”的锁具,这1秒的断电就会触发开锁动作

cURL 命令示例

成功响应示例:

4. 场景与集成案例

本方案可以灵活嵌入各种业务系统中,以下是两个典型的应用场景:

4.1 第一种场景:小程序/APP 远程开门 (To C)

  • 用户需求:住户忘带钥匙,通过手机APP点击“开门”。

  • 实现路径

    1. 用户打开微信小程序,点击“开门”按钮。

    2. 小程序后端服务器(或云函数)接收到请求,校验用户权限(该用户是否是此房间的租客)。

    3. 权限校验通过,服务器调用芯步API(封装上述HTTP请求)。

    4. 门禁设备收到指令,继电器动作,门锁打开。

    5. 手机端收到“开门成功”反馈。

  • 代码逻辑参考

4.2 第二种场景:企业内部系统对接 (To B)

  • 用户需求:访客在前台登记后,前台人员在电脑上点击“授权开门”,或访客输入预约码自动开门。

  • 实现路径

    1. 前台人员录入访客信息,点击“允许通行”。

    2. OA系统生成一次性临时密码(通过门禁的密码管理接口下发)或直接调用开门指令。

    3. 利用芯步的密码管理接口,可以远程设置密码删除密码清空密码列表,实现访客权限的精细化时间管理

    4. 高级联动:可配合芯步的“智能语音音柱”,在开门时播报“欢迎XX公司张先生”等自定义语音,提升接待体验

5. 常见问题与排障

  1. 设备离线怎么办?

    • 检查设备供电是否正常。

    • 现场WiFi信号是否稳定(不支持5G WiFi,需切换至2.4G)

    • 若需比较高稳定性,采用芯步支持的有线(以太网)版本控制器进行改造。

  2. 签名错误(Sign Error)

    • 检查时间戳 ts 是否为级(例如:1712134567),不是毫秒级。

    • 检查MD5结果是否为32位小写十六进制字符串。

    • 确认AppSecret前后无多余空格。

  3. 设备响应成功但门未开

    • 指令不匹配:确认锁的类型(通电开锁 vs 断电开锁)与 order 参数是否逻辑相符。如果是断电开锁的锁,却发送了 {"power":1} 导致线圈一直吸合,是无法开锁的。使用 resetpoint 脉冲指令。

    • 接线松动:检查门禁的COM口与锁的接线是否牢固。

  4. 私有化部署

    • 如果是在纯局域网环境,可以修改Hosts指向自建的API服务器,利用芯步支持的私有化协议进行控制,数据完全不经过公网