芯步的智能硬件开放接口其实挺简单的,就是一套标准HTTP API,无论你用Python、PHP还是写Shell脚本,只要会发POST请求就能调。下面我把对接流程和几个常用的自定义联动场景拆开讲讲。
一、 核心思路:把“出门开关”当成一个受控的“继电器”
要实现自定义联动,首先要理解芯步这套设备的逻辑。
不管是智能墙壁出门开关、还是密码门禁,它们本质上就是一个继电器。你按一下墙上的物理按钮,它是通电一瞬间然后断开,门锁吸合然后释放,门就开了。
通过HTTP接口对接,做的其实就是模拟手指按按钮的动作。你向云端发一条指令(比如 {"power":1}),云端会在 80-120 毫秒内把这个指令推送到设备,设备吸合继电器,门就开了。
有了这个基础,我们就可以玩出很多花活了。
二、 对接准备工作:拿到三把钥匙
在写代码之前,需要先在你的芯步后台拿到三样东西,这就好比是开门的钥匙:
AppID:你的应用ID,标识你是哪个开发者。
AppSecret:你的应用密钥,千万别泄露,后面签名要用。
Device ID:就是你要控制的那个出门开关的ID,贴在设备外壳上或者后台设备列表里都能看到。
小提示:签名(Sign)的生成算法稍微有点绕,简单说就是 md5(md5(密钥) + 时间戳)。官方各种语言的SDK都比较全,如果不想自己算签名,直接复制官方的示例代码改改参数就行。
三、 基础对接:怎么让它“开门”?
开门动作是最简单的,其实就是控制继电器的通断。
接口地址(找个地方记下来):http(s)://api.thingboot.com/{你的AppId}/device/control/?sign={签名}&ts={时间戳}
请求方法:POST数据格式:JSON
假设你有一个门禁,想通过系统远程开门,只需要在请求体里带上设备ID和命令:
如果你用的是智能墙壁出门开关,它还有更实用的模式,不需要你自己再去做定时关门的逻辑:
先通后断:比如
{"point": 3000},意思是接通电源,保持3秒后自动断开。这非常适合门禁,瞬间给电插锁一个开锁信号,人拉开门,几秒后自动回锁。先断后通:这个通常用于控制那些“断电开锁”的特殊门锁。
四、 实战方案:几种自定义联动操作
有了接口这把锤子,咱们就可以到处敲钉子(做联动)了。
方案一:人脸识别/二维码联动开门(替代物理按键)
场景:公司园区、公寓、健身房。访客在门口刷二维码或者刷脸,门就开了。
实现逻辑
你有一个微信小程序或者一体机,识别到合法人员。
你的后台服务器收到识别成功的通知。
操作:你的服务器去调用芯步的HTTP接口,向那个门的出门开关发送
{"power": 1}或者{"point": 3000}。门禁控制器收到指令,继电器吸合,电插锁弹开,门开了。
技术要点:这一个方案完全不需要改动现场物理线路。出门开关原本接电磁锁的线不用动,你只是在云端并联了一个“遥控手指”。
方案二:办公室“一键离开”场景(联动照明+空调)
场景:下班场景,或者共享棋牌室、茶室时间结束。员工按一下“下班”按钮(或者系统自动检测),关门、关灯、关空调一步到位。
实现逻辑这时候光用出门开关就不够了,需要配合芯步的智能墙壁插座或者包间控制器。
场景触发(比如管理员在APP点“关闭会议室”,或者计时结束)。
操作:服务器并发发送两条命令:
给智能墙壁出门开关发送关锁命令(如果门是开的,先关门)。
给包间控制器或者智能插座发送
{"power": 0}指令(0代表断电),电脑、空调、灯光统统断电。
结果:房间断电解锁(如果是断电开锁的锁),或者关门断电,实现节能和安全。
方案三:异常报警联动(暴力闯入锁门)
场景:深夜仓库、机房。安防系统检测到有人非法闯入。
实现逻辑
红外传感器或门磁传感器触发报警,推送到你的服务器。
操作:服务器识别到这是“非法事件”,立即向出门开关发送 永久断开 指令或者锁死指令(具体看设备支持,有些设备支持“互锁”或“禁止本地操作”模式,需确认型号)。
效果:非法闯入者即便按墙上的出门开关也无法开门(通过接口设置禁用本地按键),实现远程反锁,直到保安到达。
五、 友情提示:几个注意事项
关于供电:芯步的智能墙壁出门开关一般是220V强电控制的。这意味着它可以直接串在电插锁的零火线上。但在接线时一定要断电操作,注意安全。
关于锁的类型:市面上电锁分两种:
通电开锁(大多数电插锁):发指令
{"power":1}开门。断电开锁(磁力锁常用):发指令
{"power":0}开门。买锁的时候问清楚老板,在代码里把逻辑反过来就行。
关于响应速度:官方数据是 80-120ms。实测在Wi-Fi信号好的地方,基本就是你二维码刚扫上,“咔哒”一声就响了,体验还不错。如果追求极致稳定或纯内网环境,芯步设备也支持局域网和私有化部署。
总结
对接芯步的出门开关非常简单,本质就是调用HTTP接口发送JSON指令。
想开门:发
{"power": 1}。想自动关:发
{"point": 3000}。想联动:在你的业务逻辑(如扫码成功、红外触发、定时任务)里插入上面的HTTP请求就行。