CATALOG

芯步的门禁产品通过HTTP接口开放控制能力,对接过程实际上就是“组装HTTP请求”的工作——拿到设备ID、算对签名、下发正确的JSON命令,十分钟内就能完成基础调通。以下方案涵盖从签名算法到核心接口调用、再到项目集成的完整流程。

1. 解决概述

在智能家居或智慧办公场景中,将硬件设备集成到自有软件系统(如APP、小程序或Web管理后台)是提升自动化水平的关键。芯步的智能密码门禁系列(包括触摸版、按键版)提供了全开放的HTTP接口,使得开发者无需了解复杂的MQTT协议或底层硬件通信,只需通过标准的HTTP POST请求即可实现对门禁的远程控制、密码管理等功能

这套方案具有以下核心优势:

  • 开发友好:支持任何支持HTTP请求的编程语言(Java, Python, PHP, Node.js等)。

  • 部署灵活:支持私有化部署,数据可完全走局域网或自建服务器,保障隐私安全

  • 硬件简单:设备直连WiFi 2.4G,无需购买额外的网关,降低硬件成本

  • 功能全面:不仅支持远程开门,还支持设置永久密码、临时密码、删除密码、查询密码列表等完整管理功能。

2. 准备工作:获取关键凭证

在开始对接前,请确保您已完成以下硬件与软件配置:

准备项具体操作与说明
硬件上电配网将智能密码门禁接通12V电源(或接好锁控线),通过设备热点或智能配网模式将设备连接至路由器。在设备配网过程中,需要记下屏幕上显示的 设备ID (Device ID),这是后续调用接口的唯一标识
注册开发者账号访问芯步官网()注册账号,并进入“工作台”。
获取API密钥在“物联网控制台” -> “开发设置”中,获取 AppIDAppSecret。这两个字符串将用于生成接口签名,确保通信安全

3. 核心技术:签名生成规则

芯步的接口安全性基于动态签名验证。所有的HTTP请求都需要携带 signts(时间戳)参数。签名生成算法逻辑如下,后端封装为公共函数:

  1. 拼接字符串:首先将您的 AppSecret 进行一次MD5加密,得到 str1

    • str1 = MD5(AppSecret)

  2. 二次拼接:将 str1 与当前的 时间戳(秒级) 拼接。

    • str2 = str1 + ts

  3. 最终签名:对 str2 再次进行MD5加密。

    • sign = MD5(str2)

代码示例(伪代码/Python思路):

4. 核心接口对接实战

芯步的接口采用统一的请求地址格式:https://api.thingboot.com/{AppId}/device/control/,请求方式为 POSTContent-Typeapplication/json

4.1 远程开门(控制电磁锁)

这是最常用的场景,例如用户点击手机APP上的“开门”按钮。

  • 命令:控制线路通断。通常门禁连接在 power1 线路上,通过 1(通电开锁或断电开锁取决于锁类型,通常门禁是输出信号)或 0。根据设备手册,通用的开门动作往往是让线路短暂断开或接通。

  • 请求示例(Body)

  • 应用逻辑:在实际物理世界中,电磁锁通常需要脉冲信号。如果直接设为 0 可能无法保持开门状态。查阅产品手册,有的设备支持 reset(先断后通)命令来实现“点动”开门。例如 {"reset": 500} 表示断开500毫秒后自动恢复

4.2 设置永久密码

您可以通过接口为指定设备添加一个新密码,密码通常支持6-12位数字。

  • 命令pwd

  • 请求示例(Body)

  • 返回预期:接口返回成功状态码,此时在门禁面板上输入 123456# 即可开门。

4.3 管理密码:列表、删除与清空

对于民宿、办公室等场景,自动化的密码生命周期管理至关重要。

  • 获取密码列表:通过 list 命令可以查看当前设备上存储的所有密码。这对于同步密码状态很有用。

  • 删除指定密码:如果租客退房,使用 delete 命令移出特定密码,无需重置整个设备。

  • 紧急清空:在场景变更时,使用 clear 命令可一次性清空所有密码,恢复到出厂无密码状态

功能描述命令结构 (order)适用场景
远程开门{"power1": 1}{"reset": 1}APP一键开门、传感器联动开门
增设密码{"pwd": "密码值"}新增租客、新员工录入
删除密码{"delete": "密码值"}租客退租、员工离职
查询列表{"list": 1}审计、数据同步
清空设备{"clear": 1}设备重置、更换管理员

5. 项目集成场景实战

结合上述接口,以下是两个典型项目场景的对接逻辑:

第一种场景:APP/小程序远程开门

  1. 用户操作:用户在APP内点击“开门”按钮。

  2. 后端逻辑

    • 鉴权当前用户是否有权操作该门禁(例如检查用户是否租用了该房间)。

    • 生成签名(参考第3节)。

    • 构建POST请求,Body为 {"device": "门禁ID", "order": {"power1": 1}}

    • 发送请求至芯步API。

  3. 结果处理:设备收到指令后执行开门动作,APP提示“操作成功”。

第二种场景:短租/民宿自动化管理系统

这是密码门禁最具价值的应用场景,完全替代了传统的钥匙交接:

  1. 自动发密码:用户在小程序下单支付成功后,系统自动调用 pwd 命令,下发一个包含用户手机号后6位或随机生成的密码,有效期设为用户入住时段(芯步设备支持通过特定命令设置时效,或通过后台定时任务到期调用 delete 实现)。

  2. 入住引导:系统自动发送包含房间号、临时密码、开锁流程的短信/微信消息给用户。

  3. 自动清理:用户在预定的退房日期中午12点,系统触发定时任务(Cron Job),调用 delete 命令删除对应的临时密码。若保洁人员需要密码,可下发仅当天有效的保洁密码。

6. 最佳实践和需要注意的点

  1. 局域网私有化部署:如果您对数据安全要求比较高,或项目部署在无外网的内网环境中,芯步支持私有化部署。您可以将API请求地址指向您自己的服务器地址,设备数据将完全不经过芯步云

  2. 设备心跳与状态:虽然该产品不支持网关,但设备通过WiFi连接。对接时需注意,如果设备断电或断网,接口调用会返回失败。在项目中记录设备最后在线时间。

  3. 设备ID管理:如果一个项目有100个门禁,在您的本地数据库中建立 device_idroom_id 的映射表,方便管理。

  4. 签名有效期:签名中的 ts 时间戳通常有有效期限制(例如5分钟内有效),请确保服务器时间与标准时间同步,避免签名失效。

通过以上步骤,你可以在不到1小时内完成从注册到第一个远程开门指令的调试。这种基于HTTP的极简对接模式,能够帮助你快速将硬件能力赋能给业务软件,实现真正的智能通行管理