CATALOG

芯步的60A智能断路器开放了标准的HTTP接口,对接起来其实不复杂,核心就是三步:拿到密钥 → 算签名 → 发指令。下面我把整个流程梳理一下,附带几种定时方案的代码思路,你可以根据实际场景选。

一、准备工作:先拿到“通行证”

在写代码之前,先去芯步的后台把钥匙领了:

  1. 注册/登录:去芯步官网注册账号。

  2. 获取密钥:进入控制台的“开发设置”,拿到两个关键字符串:

    • AppID:相当于你的“用户名”。

    • AppSecret:相当于你的“密码”,千万别泄露给前端,最好放后端。

  3. 找到设备ID:在“设备管理”或设备外壳标签上,找到那串纯数字的 Device ID(比如 123456789)。

二、核心难点扫清:搞定签名机制

芯步的接口为了安全,要求每次请求都带一个动态生成的 sign(签名)。别看它名字吓人,其实就是把刚才拿到的AppSecret按固定步骤加密一下。

签名生成规则(伪代码):sign = MD5( MD5(AppSecret) + ts )

  • ts:当前的Unix时间戳(秒级),比如 1715321640

  • 逻辑:先把你的AppSecret做一次32位小写MD5,然后在它后面拼接上时间戳,再把拼接后的字符串整串做一次MD5。

这样做的好处: 就算别人抓包拿到了sign,因为时间戳一变,他手里的签名也马上失效,防止数据被篡改。

三、动手实现:发送“定时通断”指令

60A断路器的控制指令主要通过 order 参数下发。

1. 基础控制指令

  • 立即通电{"power":1}

  • 立即断电{"power":0}

2. 核心定时方案:利用 resetpoint

既然是“定时通断”,最精准的办法是利用设备自带的硬件定时。这比你自己写定时任务靠谱,因为即使服务器到点网络卡了,设备内部的计时器也会准时执行。

  • reset先断后通。常用于给设备重启,或者让设备通电一段时间后自动关闭。

  • point先通后断。常用于定时关闭(比如电梯灯、广告牌亮一个小时就关)。

场景A:让电路在 1 小时后自动断开假设现在是通的,我想1小时后(3600000毫秒)让它自己关。

通俗解释:断路器执行“重置”动作,断开后等待设定的毫秒数,然后再自动接通。不对,仔细看逻辑:reset是断开->等待->接通。如果我只是想延时关闭,用 point 更合适。

场景B:立即接通,并在 30 分钟后自动关闭这个场景最常用:比如控制充电桩、大功率热水器。

通俗解释:断路器执行“点动”动作,先接通,维持30分钟后自动断开。

3. 代码实操(Node.js版)

假设我们要实现“立即合闸,1小时后跳闸”。

四、进阶方案:循环定时与复杂调度

如果只想用reset/point做单次定时不够,比如你需要“每天早上8点开,晚上10点关”,那就要结合业务后端云平台了。

方案一:使用芯步云平台的“定时任务”登录芯步控制台,在设备详情页或场景联动里,直接设置云端定时。这种方式最省事,不用写一行代码,直接配置 Cron 表达式(一种定时任务配置格式)就行。

方案二:自己写定时脚本(适合复杂的业务逻辑)假如你的业务系统是“当传感器温度超过80度,断开断路器,并在冷却后自动恢复”:

五、避坑指南(重要!)

  1. 单位是毫秒resetpoint 后面的数字单位是毫秒1000 = 1秒,60000 = 1分钟。

  2. WiFi信号:60A断路器用的是2.4G WiFi。如果安装在地下室或配电箱(金属屏蔽强),请一定要确保信号满格,否则定时指令可能因为设备掉线而执行失败。

  3. 互斥逻辑:如果设备正在执行一个 point 定时(比如还有10分钟才断开),此时你发了一个 reset 指令,新的指令会覆盖旧的定时任务,以最后一次收到的指令为准。

  4. 异步回调:设备执行命令有 80-120ms 的延迟,这是正常的。如果你需要实时同步状态,可以通过WebSocket或者轮询设备状态接口来获取最新状态。

总结

对接芯步的60A断路器并不复杂。

  • 想省事,直接用设备自带的 pointreset 参数实现“延时通断”。

  • 想灵活,自己写定时脚本,到点调用 power 指令。

  • 想稳定,去平台控制台配置云端定时任务。

就按上面的代码改改参数,跑起来基本就能实现你要的定时控制了。