CATALOG

芯步的AC4-30A这款模块,说实话它的开放接口设计得还是比较清晰的。要实现“过流自动断电”,核心思路就是:用你的服务器做大脑,实时看电流数据,一旦超过阈值就发指令把开关拉下来。

下面我把整个对接流程和代码逻辑梳理一下,你可以参考这个思路来开发:

一、 准备工作:先把硬件“管”起来

在写代码之前,得先把基础打好。

  1. 硬件接线:这个不用多说,AC4-30A是串在电路里的。记得火线进、火线出,零线直接接负载。这玩意儿能扛30A,带个大功率设备完全没问题

  2. 配网与获取凭证

    • 先去芯步官网注册个账号,创个工作台。

    • 给AC4-30A通上电,根据说明书把它连上你家路由器。

    • 在后台的“控制台”里,你会找到两个至关重要的东西:AppIDAppSecret(开发者密码),这就相当于你调用接口的“账号密码”。还有那个设备ID,等下控制它全靠这个编号

二、 核心逻辑:怎么判断“过流”?

要实现自动断电,你肯定需要一个“流”的数值。虽然官方文档里没有明确说明如何订阅实时的电流数据流(通常是MQTT协议上报的),但在解决方案的逻辑上,一般都是服务端轮询或监听

  • 方案A(推荐):通过MQTT协议订阅设备状态。AC4-30A通常会实时推送 {"current": 12.5} 这样的数据。你只要在代码里判断,if current > 30 就触发断电。

  • 方案B:如果你的业务逻辑比较简单,或者服务器环境受限,可以用HTTP接口定期去查询设备状态。

注:既然你问的是“接入”,那我们就假设你已经能从某个渠道(MQTT回调或HTTP查询)获取到当前的电流值了。

三、 动手写代码:实现自动断电

这里是重头戏。假设你的服务器检测到电流超过了30A(或者你设定的25A安全阈值),现在要立刻断开AC4-30A。

芯步的接口签名规则稍微有点绕,是 MD5(MD5(密码) + 时间戳)。我写了一段 Python 代码,你可以直接复制拿去改:

代码里的几个关键点解释一下:

  1. 签名算法:这个比较容易踩坑。不是直接 MD5 密码,而是先加密一次密码,加上时间戳,再整体加密一次。上面的 generate_sign 函数已经帮你把这个逻辑写好了。

  2. 控制命令:对于AC4-30A这类通断器,关就是 {"power": 0},开就是 {"power": 1}

  3. 电流数据源:上面的代码里 get_current_value() 是写死的演示数据。在实际工程里,这个地方应该替换成监听MQTT消息的代码,或者是调用查询设备状态的API

四、 进阶一点:玩转“自动恢复”和“时长控制”

除了简单的开和关,这个模块其实还能玩点花活。比如有时候电流波动是瞬时的,你想让它在断电后尝试重启:

  • 先断后通(Reset):如果你想实现“跳闸后过5秒自动合闸”,可以用 {"reset": 5000} 命令,单位是毫秒。这个功能在防止误报导致长时间停机时非常有用。

  • 先通后断(Point):这个是用来做“点动”控制的,相当于按一下按钮触发一下,一般用在电机控制上。

五、 总结一下这套方案

  1. 数据采集:你的服务器通过MQTT接收AC4-30A上报的实时电流。

  2. 逻辑判断:写一行 if 代码,判断电流是否大于30A。

  3. 执行动作:调用 https://api.thingboot.com/{AppID}/device/control/ 接口,传参 {"power": 0}

  4. 安全闭环:你甚至可以再加一个逻辑——断电后发个邮件或者企业微信通知给运维人员。

这样一来,你的AC4-30A就不再是一个单纯的手动开关,而是一台具备自动保护功能的智能断路器了。