芯步AC4-10A智能通断器支持HTTP开放接口,这意味着你可以完全按自己的需求来定制它的控制逻辑,不再受限于官方App的定时和场景功能。下面这份方案会从接口原理到代码实战,一步步讲清楚怎么实现自定义联动。
一、 搞清楚核心:你要用什么“条件”去触发“动作”?
二次开发的本质,就是写一个“中间人”程序。这个程序负责盯着你的传感器或数据源,一旦满足你设定的条件,它就立刻调用AC4-10A的接口去执行操作。
几个比较好上手的联动逻辑场景:
温度控开关:比如接了一个鱼缸风扇。你写个脚本每隔1分钟去读取室内温度(可以通过API获取天气或接温湿度传感器)。如果温度 > 30℃,就把AC4-10A打开给鱼缸降温;低于26℃就关闭。
日落开灯:不用买智能灯泡。你的脚本判断当前时间是否过了日落时间,如果是,立马给AC4-10A发送“开”指令,让普通灯亮起来。
设备互锁:比如控制两个窗户电机。一个开关打开时,另一个必须关闭。你可以通过逻辑判断:“如果收到打开A的命令,先发命令关闭B,再发命令打开A”,防止电机冲突。
二、 工欲善其事:认识你的“家伙什儿”和接口
在动手写代码前,先把AC4-10A联网配好,确保它在芯步的App里是“在线”状态。
1. 核心API接口(硬件手册关键部分)
官方文档提供了一个标准的HTTP接口
请求URL:
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方法:
POSTBody参数
device: 你的AC4-10A设备ID(在控制台看)。order: 这是个JSON字符串,用来发指令,比较常用的有这几个:
| 功能描述 | Order参数 (JSON字符串) | 说明 |
|---|---|---|
| 打开开关 | {"power":"1"} | 继电器吸合,接通电路 |
| 关闭开关 | {"power":"0"} | 继电器断开,切断电路 |
| 临时通电 | {"point":"5000"} | 类似“点动”,马上接通,5000毫秒后自动断开 |
| 断电重启 | {"reset":"3000"} | 立即断开,3000毫秒后自动再接通 |
注:{AppID}、sign和ts是你注册开发者后拿到的认证凭证,主要是为了防止别人乱控制你的设备。
三、 动手实战:撸一个“天黑开灯”的联动逻辑
平时可能想实现“光线变暗自动开灯”,但现在没传感器,我们就用天气API的“日落时间”来模拟光感,这可以说是最简单也最实用的入门玩法。
1. 环境准备
随便一台能24小时开机的电脑、树莓派,或者哪怕是家里的群晖NAS、软路由都行。装好 Node.js 或 Python,我们要靠它跑脚本。
2. 实现思路
循环检测现在的系统时间。
去高德或和风天气的API,获取今天所在地的“日落时间”。
判断:如果当前时间大于等于日落时间,并且灯是关着的,就执行开灯动作。
3. 代码实操(Node.js版)
这里用JavaScript写会比较直观,大家可以看看这段逻辑:
四、 玩点高阶的:脱离互联网,局域网控制(私有化部署)
这个功能对喜欢折腾的朋友很友好——AC4-10A支持局域网通信。
如果你不想让指令绕一圈去外网,或者担心家里断网,只要你的电脑和AC4-10A连在同一个路由器下,就可以直接给设备发HTTP指令,不需要经过芯步的云服务器。这在追求极低延迟的联动场景下特别好用。
五、 避坑小贴士
关于感性负载:AC4-10A最大支持2200W阻性负载(比如白炽灯、电暖气)。但如果是电机(风扇)、LED灯这类感性或容性负载,功率控制在300W以内,否则容易烧触点。
按钮禁用:如果你做的联动逻辑不希望被人按开关上的按钮打断,记得在设置里开启“按钮动作屏蔽”。
状态同步:在做“互锁”或复杂逻辑时,先调用查询设备状态的接口,拿到当前是开还是关,再做逻辑判断。不要盲目地发“开”或“关”,以防逻辑错乱。
总结
只要调用HTTP API,AC4-10A就不再是一个简单的开关,而是可以完全融入你自己搭建的智能家居系统。不管是结合传感器做自动化,还是嵌入你自己写的业务代码里,可玩性都非常高。