芯步AC4-20A本身不带过流检测,但通过它的开放接口和一点代码逻辑,你完全可以自己实现“过流自动断电”功能。下面说说具体的二次开发思路。
一、 先摸清“家底”:AC4-20A 能给你什么?
在动手之前,咱们得先看看手里这块AC4-20A智能通断器到底能配合我们做什么。
根据官方手册,虽然它主要是一个 20A 的大功率开关(最大支持 4400W),但它有几个特性非常适合做二次开发:
开放的 HTTP API 接口:这是最核心的一点。它不依赖某个特定的 APP,你可以直接通过发网址链接的方式(HTTP 请求)去控制它的通断。
支持实时状态查询:你可以通过接口随时问它:“我现在是开还是关?”这是实现逻辑判断的基础。
响应速度快:接口请求是实时的,非常适合做保护性逻辑。
这里有个“但是”得提醒一下:AC4-20A 本身不带“实时电流值”回传功能。它只能告诉你“开”或“关”,不能告诉你“现在跑了多少安培”。解决方案:既然要做“过流”判断,我们需要引入一个电流检测模块(比如市面上的 PZEM-004T 电能模块,或者简单的电流互感器),把电流数据采集上来。
二、 架构思路:大脑与手脚的配合
既然要实现自动断电,我们的系统架构大概是这样的:
感知层(眼睛):电流检测模块。负责盯着电流值,一旦超过 20A 阈值,立马把“警报”传给大脑。
执行层(手脚)AC4-20A 智能通断器。负责听指挥,接到“断开”指令就立刻跳闸。
控制层(大脑)你的服务器 或 云主机。这是二次开发的核心。它负责接收电流数据,做逻辑判断(是不是真过载了?持续几秒了?),然后调用 API 给通断器下命令。
简单来说,就是写一个脚本跑在你的电脑或云服务器上,让它 24 小时盯着电流,一旦发现不对,就去调用芯步的接口把电断了。
三、 动手开发:核心代码逻辑拆解
这部分比较硬核,但我会说得通俗一点。假设我们不用复杂的硬件开发板,直接用 Python 脚本来写这个“大脑”。
第一步:拿到设备的“钥匙”
在芯步开放平台的后台,你需要拿到三个关键数据:
AppID:你的身份标识。
AppSecret:你的钥匙,用来加密签名的。
Device ID:AC4-20A 的编号。
第二步:写好控制开关的函数
我们要通过代码去控制 AC4-20A 的断开。芯步的接口需要计算一个签名(Sign)来防止别人乱动你的设备。
这里写个逻辑:def control_switch(action),告诉它动作是 off 还是 on。
第三步:实现过流检测与自动断电逻辑
这是重头戏。我们需要模拟一个电流值进来(假设你是从串口读取电流传感器数据的)。
逻辑很简单:如果 电流 > 20A,立刻断电,并且发送警报。
四、 进阶玩法:如果我想让它自动合闸呢?
有的场景下,跳闸后需要人工确认再去合闸(比如工厂设备)。但有的场景(比如家庭、养殖场)可能想让它电流降下来后自动恢复。
如果你想实现“电流恢复正常后,延时自动送电”,只需要在 monitor_and_protect 的基础上加一个逻辑:
不过稳妥起见,还是手动复位,毕竟涉及到强电安全,自动复位需谨慎。
五、 接口调用的几个注意事项
在写代码的过程中,有几点是芯步接口特别强调的,能帮你少踩坑:
签名计算:时间戳 (
ts) 必须是当前时间(秒),而且一定要是中国时间。如果你在服务器上跑,记得检查服务器时间是不是准的。请求频率:接口有限流,单个设备限制每秒 1 次。千万别写个死循环疯狂问设备“你连上了吗?”,用长连接或者降低轮询频率到 2-5 秒一次。
200 ≠ 执行成功:接口返回
code:200只代表平台收到了指令,不代表你的灯泡真的灭了。因为设备可能离线或者信号不好。如果业务要求高可靠性,你需要开启云端消息推送功能,确认设备回传了“执行成功”的信号。
总结
二次开发 AC4-20A 实现过流保护,说白了就是借它的“手”,接上我们自己的“眼睛”(电流传感器),再用代码写个“大脑”。
这套方案不仅成本低(不需要换掉整个配电箱),而且非常灵活。你可以把它做成一个 Web 服务,放在服务器上跑,这样哪怕你人在外面,只要系统检测到过流,它就会自动跳闸,你也能收到报警信息。