CATALOG

25A远程智能空开要实现延时通断控制,其实不用自己从零写定时器——芯步的开放接口里已经内置了这类指令。下面直接说怎么调接口、怎么写代码,大概十来分钟就能对接上。

一、 搞清楚你的需求和硬件底子

首先,咱们得确认一下手里的家伙事儿。你提到的“25A远程智能空开”,在芯步的产品线里,通常指的是智能大功率断路器或者智能通断器

核心能力:这类设备不仅支持远程开关,还支持“先通后断”“先断后通”的脉冲控制。这就意味着,实现延时控制根本不用你自己写复杂的定时器或者搞个服务器在那倒计时,直接给设备发一条指令,设备自己就会按设定的时间执行动作

适用场景:比如你想给电动车充电桩搞一个逻辑:通电1小时后自动断电,防止过充;或者控制路灯:晚上6点开,凌晨4点关。

二、 核心玩法:利用“先通后断”指令

要实现延时断开(比如通电5秒后自动断),根本不需要你的服务器去计时。如果你自己写代码 sleep(5) 然后再发断开指令,一旦网络波动,或者程序卡顿,就不准了。

正确的做法是使用设备自带的 “Point”指令(点动/脉冲模式)。

根据芯步的开放接口文档,针对25A这种大功率空开/通断器,控制指令里有一个参数叫做 point 或者 reset

  • point (先通后断):先立刻接通电源,持续 N 毫秒后,自动断开。

  • reset (先断后通):先立刻断开电源,持续 N 毫秒后,自动接通。

我们就用 point 来实现“延时断开”。

三、 实战操作:一步步教你调代码

这里我们使用最通用的 HTTP接口 方式。无论你是用 Python、Java、PHP 还是 Node.js,原理都是一样的,就是发一个 POST 请求。

第一步:准备工作(拿到三把钥匙)

登录芯步的后台,找到 开发者设置,记下这三个东西:

  1. AppID:你的应用身份证。

  2. AppSecret:你的应用密码(注意不要泄露)。

  3. Device ID:你这个25A空开背面的标签上的设备编号。

第二步:计算签名(这是唯一头疼的地方)

芯步的接口为了安全,要求签名。虽然文档写的 md5(md5(密钥)+时间戳) 看着绕,其实就是两步走。假设你的 AppSecret 是 abc123,当前时间戳是 1712000000

  1. 先算 Secret_md5 = md5(“abc123”)

  2. 再算 Final_sign = md5(Secret_md5 + “1712000000”)把这个最终字符串作为签名。

第三步:编写代码(直白版)

假设你要实现:通电后,延时30秒自动断电

你需要下发一个 JSON 命令,告诉空开:立即按照“先通后断”模式工作,间隔时间是30000毫秒(30秒)

以下是一段 Python 示例代码,直白易懂,复制粘贴改改参数就能用:

四、 进阶技巧:绝对定时(什么时候做什么事)

如果你是需要 “下午5点整准时断电”,而不是 “通电后30分钟断电”。

这时候你有两种选择:

  1. 简单粗暴(推荐新手)在你自己的服务器上写一个定时任务(Cron Job),到了下午4:59:50,你的服务器发一条普通的断电指令 {“power”: 0} 给设备。这是最准的。

  2. 云端定时(利用平台)芯步的平台本身支持 “任务类接口”你可以调用 API 在云端创建一个定时任务,比如设置每天的 18:00 执行闭合动作。这样即使你的电脑关机了,到时间空开依然会动作。

五、 避坑指南

  1. 时间单位是毫秒:写代码的时候注意,1秒 = 1000毫秒。别把30秒写成了30毫秒,那样你还没反应过来它就又断了。

  2. 确定你的设备固件版本如果你发现 point 指令没反应,去看一眼你的设备是“智能通断器25A-S2”还是老款。新款一般都支持point,如果是老款,可能需要直接用 timer 参数或者升级固件

  3. 断电记忆功能25A空开通常有个“断电记忆”功能。在做延时控制测试时,如果你想模拟完全断电重启,记得留意这个状态,否则它可能会恢复到断电前的状态,导致你的逻辑乱掉。

总结

不用去造轮子。芯步的这个25A空开已经把“延时控制”做成了标准指令。

  • 做“通电X秒后断开”:用 point + interval 参数。

  • 做“断开X秒后再通电”:用 reset + interval 参数。

  • 做“每天固定时间开关”:要么自己服务器写个定时脚本发指令,要么调用平台的云端定时API。

直接拿着上面的代码,把 AppIDDeviceID 填进去,跑起来就通了。