CATALOG

芯步的智能断路器开放了HTTP接口,这意味着你可以用自己的代码直接控制它,而不需要依赖官方App。下面我会以25A导轨式智能断路器为例,演示如何实现延时通断——比如“通电后5分钟自动断电”这类需求。

解决方案:基于芯步25A智能断路器的二次开发(延时通断控制)

1. 准备阶段

你需要准备以下几个“原料”:

  • 硬件:一台芯步25A导轨式智能断路器(型号:UNI-DLQ-25A),确保它连上了WiFi(2.4G)

  • 凭证

    • AppID / AppSecret:登录芯步开发者后台获取

    • Device ID:设备背后的标签或后台列表里的那一串数字。

  • 环境:只要能跑代码就行,本地电脑、云服务器甚至一个支持云函数的微信小程序后端都可以。

2. 核心思路

关键点:断路器本身只认“通”和“断”,没长“脑子”记时间,所以延时的逻辑要由你的服务器来算流程

  1. 你告诉服务器:“5分钟后把灯关了”。

  2. 服务器记下这个任务,等5分钟到了。

  3. 服务器给断路器发一条 {"power1":"0"} 的指令,啪嗒,断电。

3. 技术:找对命令

芯步的接口有一个很有用的参数叫 order,这是延时控制的关键。

  • 基础指令{"power1":"1"} 是打开;{"power1":"0"} 是关闭。

  • 高级指令(重点):接口支持 reset(先断后通)和 point(先通后断)命令,内部自带计时器

举个例子:比如电梯里那个“风扇”按钮,按一下吹风5分钟自动停。你的 order 参数要这么写:

效果:这条指令发出去,断路器会执行 先断开 -> 等待5分钟 -> 再闭合注意:如果你想要的是“打开,然后延时关闭”,可以用 point 命令,原理一样,只是顺序是“先通后断”。

4. 实战:写个“延时停机”脚本

假设我们要让这台断路器在通电1小时后自动断电,防止员工下班忘记关空调。

这里用 Node.js 写个简单的定时任务脚本,逻辑更灵活,不仅限于用设备自带的 interval 参数。

步骤 1:搞定签名算法芯步的接口为了防止乱刷,需要携带签名 sign。算法是 md5(md5(AppSecret) + ts)

步骤 2:编写代码创建一个 delayControl.js

代码解读

  • controlBreaker 函数负责发HTTP请求给断路器。

  • startTimedTask 里,我们先发 ON 让它立即启动,然后调用 controlBreaker('OFF', 3600000),这个函数内部等了1小时才发关闭的指令。

  • 注意:你的脚本程序必须持续运行这1小时,如果程序中途关闭了,定时器就没了。如果是生产环境,用设备自带的 reset 指令(设备云端计时)或者挂在一个24小时运行的服务器上。

5. 几种常见的“延时”应用场景

你可以根据自己的需求组合指令:

你想实现的功能解决方案关键参数
简单粗暴:按下按钮,10分钟后关闭。直接利用设备能力,单条指令搞定。order: {"reset":{"relay":[1],"interval":600000}}
无人值守:检测到没人,马上断电。写脚本轮询传感器,触发关断。轮询代码 + order: {"power1":"0"}
循环开关:像鱼缸水泵,开1小时停1小时。在服务器里写 setInterval 循环。定时器 + order: {"power1":"1"} 交替
多路联动:先关空调,5秒后再关排风扇。发两条带延时间隔的指令。分别控制 power1power2,中间 sleep(5000)

6. 避坑指南

  1. 时间是毫秒interval 参数单位是毫秒,1000 = 1秒,别少写一个0导致秒关。

  2. 任务持久化:如果用 Node.js 的 setTimeout(代码里的延时方式),程序不能重启。如果是商业项目,使用设备自带的 reset/point 指令,指令发给芯步云端后,即使你的手机没电了,云端也会在那个时间点把指令推给设备

  3. 看准型号:虽然25A型号和其他4路/8路控制器的指令语法通用,但有些单路设备不认 relay[1],直接发 {"power":1} 就行,参考产品手册最准

只要调通了登录和签名,剩下的无非就是发HTTP请求写定时逻辑。你可以把这个逻辑集成到家里的HomeAssistant、公司的Node-RED,甚至是一个简单的微信小程序