CATALOG

芯步的20A智能空开(以及同系列的通断器)有个很实用的特性:支持“先断后通”(reset)参数。你只需要传一个毫秒数,设备就会自己倒计时,到点再动作,不需要你的服务器一直盯着。

下面是一套比较完整的二次开发方案:

一、 准备动作:搞到你的“钥匙”(AppID/Secret)

首先,你得拿到操作设备的权限,就像配钥匙:

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

  2. 找到钥匙:进到控制台的“开发设置”里,找到 AppIDAppSecretAppID是账号名,AppSecret是密码,千万别写死在网页前端代码里,不然别人能给你把电闸拉了。

  3. 绑定设备:确保你的20A智能空开已经配网,并在控制台的“设备列表”里能看到它的 Device ID(就是一串数字编号)。

二、 核心玩法:利用 reset 参数实现延时

这个智能空开最懂你的地方就是——不用你算时间。你想让它1小时后断开,直接把“1小时后断电”这个指令丢给它就行。

1. 核心命令:reset针对20A智能空开,控制通断的关键参数是 power(1开/0关),但实现延时的黑科技是 reset

  • 作用:让设备立即执行断开 -> 等待N毫秒 -> 接通

  • 口语化理解:这就像设备的“重启”功能。你告诉它“休息5秒钟再干活”,它就会自己倒计时。

2. 代码怎么写(实战)

假设我要写一个Python脚本,让这路灯在晚上8点准时断电,然后第二天早上6点再自动打开。我们可以用 reset 来实现早上的“延时通”。

只需要用HTTP POST请求调用他们的接口:

注意reset 的行为是“先断后通”。如果你只是想单纯的延时断开(比如睡觉后自动关),其实逻辑更简单:直接发 {"power":0} 关掉就行。如果非要延时关,你就得在你的服务器上做个定时任务,比如APScheduler,到点了发关的命令。

三、 进阶:加点智能(跟传感器联动)

光控制开关太单调,既然二次开发,肯定要玩点花的。芯步的优势是HTTP接口开放,你可以轻易串起来。

场景:水泵定时抽水,抽干就停。

比如你接了一个20A空开控制水泵,想每次打开10分钟后自动关闭,防止干烧。

你可以写一个简单的脚本逻辑:

  1. 发指令 {"power":1},水泵开始转。

  2. 记录下开始时间。

  3. 10分钟后,发指令 {"power":0},关掉它。

更优雅的办法如果设备支持功率检测,你甚至可以做个闭环:

  1. 打开水泵。

  2. 检测功率数据(通过获取设备状态的接口)。

  3. 如果功率突然变小(说明水抽完了空转了),立刻发送 {"power":0} 切断电源。

四、 避坑指南

在开发的时候,有这几个小石头要注意一下:

  1. 时间单位是毫秒reset 后面跟的是毫秒。1000 = 1秒,别填个1以为1秒,结果1毫秒就闪断了

  2. 200不等于执行成功:你调用接口收到 {"code":200},只代表服务器收到指令了。如果当时设备断网,设备是不会动作的。关键业务(比如银行机房断电),一定要去搭一个消息推送接收服务器,让设备执行完给你打个电话(推消息)说“我干了”

  3. 别把Secret写在前端:如果你是做小程序或网页直接控制,后端写个代理接口。不要在网页里直接暴露 AppSecret,否则懂点技术的人打开浏览器F12看到你的密钥,能把你家所有电器都控制了。

五、 总结

用芯步的20A空开做延时控制,最省事的方案就是利用设备的 reset 参数。不需要你去写复杂的定时器死循环,设备自己就能搞定倒计时。

一句话总结代码逻辑:

  • 延时开:发 {"reset": 毫秒数}

  • 延时关:在你的服务器用 time.sleep()定时任务,到了时间发 {"power": 0}