芯步的单路智能墙壁开关虽然常规用于照明控制,但利用其“先断后通”命令可以让电磁锁瞬间断电开门的场景完全适用。以下方案以HTTP接口调用为核心,约10分钟即可完成对接。
1. 解决概述
1.1 场景描述
在办公室、公寓、机房或门禁系统中,常需要实现远程开门。通常情况下,电磁锁(或电插锁)采用的是“断电开门”原理:即锁体在通电状态下吸合(锁门),断电时松开(开门)。
1.2 实现逻辑
我们将芯步的单路智能墙壁开关串联在电磁锁的供电线路上。
平常状态:开关保持闭合(通电),门锁吸合,门处于关闭状态。
开门动作:软件发送
reset1(先断后通)命令,开关瞬间断开1-2秒,电磁锁断电松开,门被打开;随后开关自动恢复通电,门锁重新吸合,等待下一次指令。
1.3 适用产品
产品名称:智能触摸墙壁开关(1路) / 智能墙壁开关1路
核心优势:支持HTTP API、支持局域网控制、无需网关(直连WiFi 2.4G)、支持断电记忆和自动恢复功能。
2. 准备工作
在开始编程对接前,需要完成以下物理安装和平台配置:
设备安装
将单路智能墙壁开关安装在电磁锁的供电火线上。
注意:请请一定要由专业电工操作,确保开关控制的是锁具的通断电。
注册与登录
访问芯步官网注册账号 。
登录后进入“工作台”,创建或进入“物联网控制台”模块。
获取凭证
在控制台的“开发设置”中,获取 AppID 和 AppSecret(开发者密码)。
设备配网
使用“芯步小程序”或控制台界面,将开关接入现场的2.4G WiFi网络 。
记录下设备的唯一标识 Device ID(可在控制台设备列表查看)。
3. 核心接口详解
要实现远程开门,关键在于使用HTTP协议调用设备控制接口,并下发特定的“点动”命令。
3.1 请求地址
POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}3.2 签名机制
为了安全性,每次请求都需要携带签名 sign 和时间戳 ts。
ts:当前时间的Unix时间戳(秒级),例如
1710000000。sign
md5( md5(AppSecret) + ts )。
注:平台支持IP白名单设置,可以在控制台将服务器IP加入白名单以增强安全性 。
3.3 开门指令分析
针对1路开关,控制开门的具体指令参数如下
| JSON指令示例 | 功能描述 | 为什么用于开门 |
|---|---|---|
{"power1": 0} | 即时关闭 | 直接断电开门,但必须手动再发“开”指令才能锁门,否则门会一直开着。 |
{"power1": 1} | 即时开启 | 通电锁门。 |
{"reset1": "2000"} | 先断后通 | 推荐。立即断开电路(断电开门),保持2秒后自动恢复通电(锁门)。无需下发两次指令。 |
最佳实践:推荐使用 reset1 命令实现“点动开门”。
例如:
{"reset1":"1000"}代表断开1秒后自动闭合。对于门锁,通常1-2秒足以让锁舌收回。
4. 对接开发步骤
以下代码演示如何通过编程方式实现远程开门。
4.1 签名生成示例 (伪代码/逻辑)
在发送请求前,请按照以下逻辑生成URL中的 sign 和 ts
String appSecret = "你的AppSecret"; String ts = System.currentTimeMillis() / 1000; // 获取秒级时间戳 String step1 = md5(appSecret); // 第一次MD5 String step2 = step1 + ts; // 拼接时间戳 String sign = md5(step2); // 第二次MD5,最终签名
4.2 开门请求示例 (cURL)
假设你的设备ID为 887799,想让门锁断开2秒自动复位:
4.3 集成到你的系统
无论是小程序、APP还是PC端管理后台,只需在你需要开门的地方发起上述HTTP请求即可。
微信小程序代码片段示例
5. 注意事项与最佳实践
关于门锁类型
本方案仅适用于断电开门类型的锁(如电磁锁、电插锁)。
如果是通电开门型锁具(如某些电动机柜锁),则需要发送
point1(先通后断)指令。
响应速度
实测局域网内命令下发到设备执行的延迟在 80-120ms 之间 ,按下开关的同时门几乎立即反应。
状态同步
如果用户手动按压墙壁开关物理按键开门,系统可能无法实时获取门磁状态。如果需要记录刷卡记录或详细日志,可以配合门磁传感器使用。
网络依赖
设备依赖WiFi。如果网络中断,物理按键依然有效,但远程指令将失效。如需高可靠性,请确保现场WiFi信号覆盖良好。
通过以上步骤,即可将普通的智能墙壁开关改造为工业级的远程门禁控制器,无需购买昂贵的专业门禁网关。