这方案主要解决两个事:一是怎么用HTTP接口远程控制单路开关,二是怎么跟门禁、传感器玩出场景联动。芯步的接口是开放且免费的,对接起来比较轻量。
一、 为什么要搞“场景联动”?
想象一下这个场景:深夜加班狗回到公司,刷卡开门的一瞬间,走廊的灯自动亮起,不用摸黑找开关;或者棋牌室的客人扫码下单,包间里的灯和麻将桌自动通电,门禁解锁。
这就是我们要实现的 “场景联动” 。核心设备就是芯步的 “单路智能墙壁控制开关”。别看它长得跟普通开关一样,其实它内置了 WiFi 芯片,最重要的是——开放了 HTTP 接口。这意味着你可以用自己的服务器、小程序甚至手机 APP 直接指挥它干活。
二、 我们要用到的“家伙什”
单路智能墙壁开关:负责控制一路灯光(或者门禁的供电)。
芯步开放平台:设备管理和接口中转站。
你现有的业务系统:比如你的小程序后台、门禁管理系统、或者扫码支付系统。
触发源:门禁读卡器、人体传感器、或者扫码枪。
三、 核心步骤:怎么连?—— “握手”与“发令”
很多朋友看到硬件就头大,以为要写很复杂的嵌入式代码。其实不需要!你完全不需要懂单片机,只要会发 HTTP 请求就行。
1. 设备“上网”
先把开关装上(接好零火线),然后用官方小程序给它配网。配好网后,在芯步的控制台里,你会看到一个唯一的设备 ID。
2. 搞定 API 签名(这一步最头疼?其实很简单)
芯步的接口是开放的,调用地址大概是这样的结构:
为了防止别人乱控制你的灯,接口带了签名机制。稍微口语化地解释一下你得拿着系统给你的“钥匙”(AppSecret),配合当前时间,算出一个只有你自己能生成的“暗号”(sign)。
来个 Python 伪代码(不用全懂,给开发看就行):
就这么几行,灯就亮了。“power1”:1 是开,“power1”:0 是关 。
3. 进阶技巧:让它自己关(防呆设计)
这个开关有个很实用的功能,叫 reset 。比如会议室预约结束,你怕灯一直开着浪费电,下发一条指令:
意思是:给我打开灯(power1:1),但是 3600000 毫秒(1小时)后必须自动关掉。这对于计时收费的场所(像棋牌室、自习室)非常方便。
四、 重头戏:如何实现“联动门禁”?
这里我们实现一个最经典的 “刷开门 -> 灯亮” 的联动场景。
场景设定
用户在小程序下单 -> 获得门禁权限 -> 刷门禁 -> 包间灯自动亮起 -> 开始计时。
实现逻辑图
读卡器/门禁机:捕获到“合法刷卡”事件。
你的业务服务器
收到刷卡信号。
判断该用户权限、包间号。
关键步骤:调用芯步的 API。
芯步云/局域网:转发命令给那个包间里的“单路墙壁开关”。
灯光:亮起。
细节处理方案
方案 A:公网控制(适合连锁店、分布式场景)如果你家开关装在有互联网的地方,你的服务器在云端。那直接用上面的公网 API 就行。刷卡成功后,你的服务器去调芯步云接口,芯步云推送给设备。延迟大概在 80-120 毫秒,基本感觉不到延迟。
方案 B:局域网直连(追求极速/断网也能用)芯步的开关还支持局域网控制,如果你比较喜欢折腾,可以考虑这种方案。
先把开关固定 IP,直接在浏览器里对它发请求:
这样你的本地服务器可以直接控制开关,不需要经过外网,即便外网断了,刷门禁依然能开灯。
延伸联动:人体传感器
如果觉得刷卡都麻烦,想实现“人进门自动亮”,那就加一个人体存在传感器。
传感器检测到人。
传感器向你的服务器上报状态。
你的服务器判断逻辑(比如只有特定时间段才触发)。
服务器向墙壁开关发送 “power1”:1。
五、 踩坑经验和需要注意的点
聊点实在的,对接过程中容易遇到啥问题:
关于单火还是零火:芯步的开关一般支持单火,老房子改造很方便,不需要重新布线。但如果灯具功率太低(比如小于 5W 的 LED 灯),单火线可能会“鬼火”(灯关掉后微闪)。如果你的项目是新装修,请一定要预留零线,选零火版,稳得一比。
门禁怎么接
思路一:如果你的门是电磁锁、电插锁,且电流不大,可以考虑直接把门禁电源接到这个开关上。用开关控制门禁电源的通断,实现远程开门。
思路二(更推荐):开关只负责灯。门禁由专门的门禁控制器管。联动靠软件做。服务器收到“门开了”的事件,顺手调个接口把灯打开。这样软硬分离,故障率最低。
状态同步:如果有人手贱,直接用手按了开关把灯关了,你的软件里怎么知道状态?芯步的设备支持状态上报,你需要在后台配置一个“回调 URL”,设备状态一变,它会主动通知你的服务器。
六、 总结
利用芯步的单路智能墙壁开关做联动,其实就是 “触发源 + 大脑(你的服务器)+ 执行器(开关)” 这个模型。
门槛低:不用写硬件代码,会调 API 就行。
场景活:它能控制照明,也能控制排风扇、水阀甚至门禁电源。
玩法多:配合定时器,可以实现“人来灯亮,人走灯灭”;配合计费系统,可以实现“断电结算”。
你要是想动手试试,直接去他们官网注册个号,找客服要一份 API文档,前后端配合一下,一个下午就能把 Demo 跑起来。