CATALOG

芯步的门禁产品通过HTTP接口开放了底层控制能力,你可以直接调用reset(先断后通)命令来控制电磁锁/电插锁的断电开门与恢复上锁。以下方案涵盖接口对接、签名算法、多场景实现代码以及双锁类型适配说明。

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

1. 概述与选型

针对电磁锁(通常为断电开锁型,即门禁正常工作时磁力吸附门板,断电时释放)和电插锁(通常为通电开锁型,但也有上电锁门型,需根据实际型号确认),芯步的智能墙壁出门开关或智能密码门禁是核心控制设备。该方案利用设备的“先断后通”(Reset)功能,确保门锁在触发后自动恢复供电状态,避免通道一直敞开。

产品型号核心功能适用场景
智能墙壁出门开关单路继电器控制,支持220V或12V(根据选型),体积小,适合86盒安装替换原有出门按钮,或隐藏式安装控制门锁
智能密码门禁[触摸]集成密码键盘 + 继电器输出,支持WiFi直连需要在门外进行密码验证的场景
智能控制器4路4路独立继电器输出,支持直流/交流多门集中控制(如公司大门、会议室、仓库联动)

推荐组合:保留原有的物理出门按钮,将“芯步智能开关”并联接入电磁锁电源回路,实现“物理按键+软件控制”的双重保险。

2. 核心控制逻辑:时序与接口命令

门禁系统的核心安全逻辑是“平时锁定,触发开门,几秒后恢复锁定”。为了防止长期断电导致门锁处于开启状态,不能简单地发送“断电”命令,而应该使用定时任务功能。

  • 控制逻辑:开锁(例如断电5秒) -> 延时(人员通过) -> 自动上锁(恢复供电)。

  • 对应接口功能:使用 reset 命令或 point 命令。

    • reset:先断开(断电开锁),持续指定毫秒后自动接通(恢复锁门)

    • point:先接通(上电开锁),持续后断开。

接口特点:芯步的开放接口采用HTTP协议,支持GET/POST,签名机制简单(MD5嵌套),无论是微信小程序、钉钉应用还是PC端软件,只要支持HTTP请求即可完成二次开发

3. 二次开发实战:如何下发开门指令

在二次开发中,你需要在你的业务系统(如OA系统、APP后端)中集成以下逻辑。接口地址统一为:http(s)://api.thingboot.com/{AppId}/device/control/

步骤一:准备鉴权参数在芯步控制台获取 AppId 和 AppSecret。签名算法如下:

  1. 先对 AppSecret 进行 MD5 加密得到 SecretMd5

  2. 拼接当前 Unix 时间戳 ts(例如 1715234567)。

  3. SecretMd5 + ts 字符串再次进行 MD5 加密,得到 sign

步骤二:下发开门命令假设我们需要电磁锁断电(开门)5秒,然后自动恢复(锁门)。

  • 设备ID100685(假设)

  • 命令{"reset": 5000}(5000毫秒=5秒)

代码示例一:使用 PHP 实现远程开门

代码示例二:使用 Python 实现远程开门

代码示例三:微信小程序端调用由于安全限制,不在小程序端直接放置AppSecret。正确做法是:小程序调用你自己的后端API -> 后端生成签名并转发给芯步云你的后端只需要暴露一个接口:https://yourdomain.com/api/open_door,内部逻辑参考上述 PHP/Python 代码即可

4. 硬件接线深度指南(关键)

不同的锁具对电压要求不同,接线方式直接影响系统稳定性。

场景A:配合电磁锁(常用12V/24V直流)电磁锁一般是断电开锁。

  1. 取电:将12V电源适配器接入智能开关的输入端(L/N为220V交流输入,需先转12V直流或购买直流版本开关)。

  2. 连接:如果购买了芯步智能墙壁开关(交流版),输出端为220V。你需要通过一个 220V转12V变压器 连接锁具。

  3. 优化:直接选用芯步直流版控制器,电源直接接12V,输出直接接锁具,避免变压损耗

场景B:配合电插锁(通电开锁型)电插锁默认状态是锁出(锁门),通电后缩回(开门)。

  1. 逻辑:使用 reset 命令同样适用。发送命令后,电插锁通电缩回,5秒后断电,锁舌弹出锁门。

  2. 注意:电插锁需要区分“通电开锁”和“通电上锁”,本方案以最通用的“通电开锁”为例。如果是“通电上锁”,则需改用 point 命令(先通后断)。

5. 高级应用:无密码扫码开门与人脸识别联动

利用开放接口,你可以实现比传统门禁更灵活的权限管理:

第一种场景:访客扫码自助开门

  1. 访客在门禁机(平板或手机)上输入预约码。

  2. 业务系统逻辑:校验预约码有效性 -> 调用芯步API开门 -> 记录访客进出时间。

  3. 无需为访客设置临时密码,也无需下发 IC 卡,降低管理成本。

第二种场景:与 HR 系统联动员工离职时,管理员无需去门禁设备上删除指纹/密码。

  1. 自动同步:HR 系统将员工状态标记为“离职”。

  2. 触发动作:自动化脚本调用芯步的 delete 命令接口,删除该员工在特定门禁下的密码权限。

  3. 代码示例order => {"delete": "23456"} (删除密码为23456的用户)

第三种场景:远程协助(快递/物业)业主在家中,保安室收到快递。

  1. 业主通过 APP 点击“开门”。

  2. 系统发送 {"reset": 8000} 命令(开门8秒,足够进出)。

  3. 门锁自动打开并关闭,全程无需保安触碰开关,实现无接触出入。

6. 常见问题与排障 (FAQ)

  • Q: 发送命令后门锁无反应,但接口返回成功?

    • A: 检查继电器是否有“咔哒”声。若有声但锁不动,说明接线错误电压不匹配(如220V开关接了12V锁)。若无声音,检查设备在线状态(心跳)。

  • Q: 如何解决网络中断时的开门问题?

    • A: 保留物理回路。将传统的物理出门按钮与芯步智能开关并联。即使 WiFi 断网,按下物理按钮,电路依然能导通开锁

  • Q: resetpower 命令有什么区别?

    • A: power 是永久改变状态。例如 {"power": 0} 会直接断开门锁电源,门将永远打不开(除非手动恢复)。reset 是脉冲式,它会在执行 power 0 后,自动倒计时执行 power 1门禁场景必须使用 reset

7. 总结

芯步的开放接口极大地降低了硬件开发的门槛。在二次开发门禁系统时,开发者不需要关注底层的继电器驱动或 Zigbee 协议,只需要关注业务逻辑(谁在什么时间可以开门)和HTTP 请求的稳定性。通过在代码中严格控制 reset 指令的延时参数( 3000ms-8000ms),可以平滑地配合电磁锁与电插锁,实现高效、安全、可审计的现代化门禁管理