CATALOG

芯步的智能墙壁出门开关本质是一个WiFi继电器,核心原理是通断控制电磁锁电源——给电锁门、断电开门。基于其开放的HTTP接口,二次开发只需向指定API发送一条JSON命令即可实现远程开门。以下是完整的解决方案。

一、 核心原理与准备

1.1 工作原理

智能门禁墙壁开关通常串联在电磁锁的供电线路上。

  • 默认状态:开关闭合,电磁锁通电,门处于吸合锁定状态。

  • 开门动作:通过接口发送命令,让开关断开(断电)-> 电磁锁失去磁力 -> 门打开。

  • 自动复位:为了避免门一直开着,通常发送“先断后通”命令,指定断开几秒后自动恢复通电锁门

1.2 准备条件

在开始开发前,请确保完成以下步骤:

  1. 硬件安装:将芯步“智能墙壁出门开关”安装在门禁电控锁的线路中(86盒标准安装)。

  2. 设备配网:下载“芯步”或使用小程序,将设备连接至2.4G WiFi网络

  3. 获取凭证:登录芯步控制台,获取关键的三个参数:

    • AppId:应用唯一标识。

    • AppSecret:应用密钥(用于签名加密)。

    • Device ID:该墙壁开关的设备编号(通常扫描设备上的二维码或直接在App内查看)。

二、 接口协议分析

芯步的接口设计非常简洁,采用标准的 HTTP POST 请求,无需引入复杂的SDK,适合任何编程语言

2.1 请求地址

[HTTP] POST http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
  • {AppId}:替换为你的应用ID。

  • {sign}:动态生成的签名,用于身份验证。

  • {ts}:当前Unix时间戳(秒),用于防止请求重放。

2.2 核心命令(Order)

对于门禁控制,主要利用 先断后通 功能,以防止门锁控制器损坏或门长时间敞开。以下是墙壁出门开关支持的命令

命令类型JSON 示例功能说明适用场景
即时开关{"power": 0}0=关闭(开门),1=开启(锁门)常规切换
先断后通(推荐){"reset": 3000}先断开线路(开门),保持断开状态 3000毫秒(3秒)后自动重新接通(锁门)门禁控制(最常用)
先通后断{"point": 5000}先接通,5秒后断开控制门铃或警示灯

2.3 签名机制(Sign)

为了防止接口被恶意调用,所有请求都需要携带签名。算法非常简单

  1. AppSecret 进行一次 MD5 哈希。

  2. 将上述结果拼接上时间戳 ts(例如: e10adc3949ba59abbe56e057f20f883e1704067200)。

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

三、 二次开发实现方案

以下分别展示 一键开门脚本集成到现有管理系统(PHP/Java) 以及 微信小程序调用 的具体实现逻辑。

3.1 方案一:简易版(命令行/Bash)

适用于运维人员测试连接,或者通过树莓派、NAS执行定时任务

3.2 方案二:Java SpringBoot 统一控制层

适用于将门禁集成到公司的OA系统、考勤系统或APP后端

3.3 方案三:微信小程序/Web前端

安全警告不推荐在前端直接暴露 AppSecret,极易导致密钥泄露。正确的做法是通过自己的后端Server中转,或者使用芯步私有云模式(局域网控制)。

如果仅在局域网内使用(安全且快速),前端可以直接请求局域网IP进行控制

四、 高级功能与优化

4.1 解决“门磁”状态同步

单纯控制开关不知道门是开是关。

  • 解决方案:配合芯步带“功率计量”功能的开关。电磁锁工作时有一定的功耗(例如5-10W)。

    • 如果检测到功率为 0W:门处于断电开门状态。

    • 如果检测到功率为 8W:门处于通电锁闭状态。

    • 通过分析电流突变,可以逻辑判断是否有人“暴力开门”或“长时间未关门”。

4.2 定时任务与无人值守

利用接口的 reset 参数特性,可以实现更复杂的逻辑:

  • 深夜常闭:结合云服务器的定时任务(Cron Job),每天晚上10点发送 {"power":1} 强制锁门,并禁用远程开门权限。

  • 延时关门的精细控制{"reset":10000} 表示按一下开关或点一下APP,门禁断开10秒。对于需要搬运大件物品的场景非常实用。

4.3 私有化部署(局域网)

对安全要求比较高(如机房、服务器室)的场景,芯步支持私有化部署。

  • 原理:开关不再连接芯步官方云,而是连接你自己搭建的服务器(或直接通过局域网IP调用)。

  • 优点:响应速度更快(局域网通常<10ms),完全不经过外网,数据物理隔绝

五、 总结

通过对芯步智能墙壁开关的 HTTP API 二次开发,实现远程开门非常简单。核心逻辑就是构建一个符合鉴权规则的 POST 请求,并向设备发送 {"reset": 3000} 点动命令。开发者可以将其轻松接入现有的微信公众号后台、钉钉/飞书机器人或企业内部管理系统,低成本实现智能门禁改造