CATALOG

芯步的智能门禁产品全线开放HTTP接口,这意味着你可以用任何编程语言直接向设备下发指令,实现门禁与其他系统的联动控制。以下方案涵盖核心接口对接、签名算法、典型场景代码实现及架构。

解决方案:基于芯步开放接口的智能门禁感应开关二次开发

一、 背景与概述

在很多智能化改造场景中,传统的门禁系统往往是孤立的,无法与消防系统、监控系统或楼宇自动化系统联动。芯步的智能门禁产品线(如智能墙壁出门开关、智能密码门禁等)提供了标准化的 HTTP 开放接口。开发者可以通过二次开发,利用任何支持 HTTP 请求的编程语言(Python, Java, PHP, Node-RED, Shell 等)接管门禁控制权,实现跨系统的智能联动。

二、 核心技术原理

芯步的设备采用 WiFi(2.4GHz) 直连或网关连接方式,云端提供统一的 RESTful API。

二次开发的核心流程是:外部系统/传感器触发 -> 后端服务器计算签名 -> 调用芯步 API -> 设备执行动作(开/关/点动)

主要涉及以下两类操作:

  1. 设备控制: 向指定设备下发 power(开关)、reset(断开后接通,常用于门禁触发)、point(接通后断开)等指令

  2. 状态反馈: (可选)通过回调/消息服务器接收设备上报的状态,确认门是否已开。

三、 二次开发关键步骤

1. 环境准备与接口鉴权

在调用 API 前,需要从芯步控制台获取密钥,并进行签名计算以保证安全性。

  • AppID:开发者ID,用于标识身份。

  • AppSecret:开发者密码,用于加密签名。

  • 签名算法(Sign)md5( md5(AppSecret) + ts )

    • 注:ts 为 Unix 时间戳(秒)。

代码示例(Python 签名生成):

2. 核心接口调用:控制门禁开关

门禁控制的核心是继电器通断。对于电插锁或磁力锁,通常需要断电开锁

场景: 用户按动自定义按钮,服务器控制门禁打开 3 秒钟后自动锁闭(即“点动”模式)。在芯步协议中,这对应 reset(先断后通)指令。如果锁是断电开锁类型,reset 参数表示断开多久

请求地址:https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

请求方法:POST请求头:Content-Type: application/json

请求体参数:

释义:"reset": 3000 表示立即断开继电器(开门),3000毫秒(3秒)后自动闭合继电器(锁门)

3. 不同产品的指令差异

芯步对不同硬件产品的指令字段做了统一抽象,开发时需根据实际产品型号传参:

产品类型典型动作指令order 参数示例说明
智能墙壁出门开关点动开门{"reset": 3000}线路断开3秒后自动恢复通电
常开/常闭{"power": 1}{"power": 0}直接控制继电器状态
智能密码门禁远程开门{"power": 1}触发门禁继电器动作
添加密码{"pwd": "123456"}远程修改门禁密码

四、 典型联动场景解决方案

以下是几种高频的二次开发应用场景:

场景 1:火警联动(安全优先)

需求: 当烟感传感器或消防系统触发警报时,门禁系统必须立即断开所有门的电源(开门),确保人员逃生。实现方案:

  1. 监听: 服务器监听消防系统的干接点信号或 Modbus 数据。

  2. 逻辑: 一旦接收到火警信号,触发联动逻辑。

  3. 执行: 服务器遍历所有门禁设备ID,下发 {"power": 0} 命令(如果是断电开锁类型,需反逻辑处理)。

    • 此场景下应忽略返回值,使用异步多线程批量发送,确保即时性。

场景 2:人脸识别/二维码闸机联动

需求: 在访客机或闸机上刷脸/扫码成功,控制门禁自动开门。实现方案:

  1. 触发: 第三方设备(如安卓闸机)通过 HTTP 请求调用开发者的后端接口。

  2. 鉴权: 后端验证访客权限。

  3. 执行: 后端调用芯步 API。

    • 推荐指令:{"reset": 2000} (开门2秒,适合人员快速通过)。

    • 代码片段(Python 使用 requests 库):

场景 3:办公自动化(OA)系统集成

需求: 员工在手机 APP 端点击“加班申请审批通过”,自动为员工开启特定楼层的门禁权限(或临时密码)。实现方案:

  1. 接口调用: OA 系统审批流程结束后,回调自定义联动服务。

  2. 动作:

    • 方式 A(下发密码): 调用 {"pwd": "随机临时码"} 接口,下发到密码门禁设备

    • 方式 B(临时授权): 记录数据库,并触发 {"reset": 60000}(开门1分钟,允许进入)。

五、 高级功能与优化

  1. 局域网私有化部署(低延迟方案)对于网络依赖性高或安全性要求严苛的场景,芯步支持 私有化部署。设备直连本地服务器的 IP 地址,二次开发时只需将 API 请求的域名替换为内网 IP 即可,响应速度可低至 80-120ms

  2. 定时任务与保持功能在二次开发时,可以利用接口参数实现简单的定时逻辑,无需在服务器端维护复杂的 Cron 任务。

    • 示例:{"reset": 3600000}

    • 效果: 开门,并在 1小时后 自动锁门。这对于仓库、机房等需要定时巡检的场景非常实用

  3. 多设备批量控制请求体中的 device 字段支持传入逗号分隔的多个 ID。

    • 示例:"device": "123456,123457,123458"

    • 应用: 一键打开所有门禁,或统一锁定整栋大楼。

六、 总结

通过芯步提供的开放 HTTP 接口,开发者可以像调用本地函数一样远程控制硬件。无论是简单的 Shell 脚本 还是复杂的业务中台系统,只需遵循 签名鉴权 -> 构造 JSON -> 发送 POST 请求 这一流程,就能轻松实现门禁与消防、安防、OA 等系统的无缝联动。这种开放性使得门禁系统从“硬件工具”升级为“可编程的服务”。