芯步的AC3智能通断器自带计量功能,可以通过HTTP接口实时获取电压、电流、功率数据,结合简单的阈值判断逻辑,就能实现用电异常告警。以下方案会一步步说明从设备选型、接口对接到告警规则配置的完整流程。
一、准备工作:挑对硬件,选好“配方”
要实现用电异常告警,首先得确保手头的家伙事儿支持计量功能。
硬件选型:请认准 智能通断器3-10A[计量版] ,具体型号通常为
UNI-TDQ-AC3-10A-P。这个“-P”后缀很关键,代表它具备电能计量功能,能直接读出电压、电流、功率等数据。如果你是大功率设备(比如空调、新能源汽车),可以选16A版本,也是带计量的。环境要求:这东西只支持 2.4G WiFi,不支持5G,连接的时候稍微留意一下。当然,如果你有局域网私有化部署的需求,它也支持,不过咱们今天先按走公网云平台来讲。
核心能力:AC3不仅是开关,它还是一个精密的“电表”。它开放了标准的HTTP接口,这意味着任何能发HTTP请求的语言(Python、Java、PHP、Node.js甚至小程序的云函数)都能轻松控制它和读取数据。
二、接口对接:让服务器和设备“说上话”
芯步的接口设计得还算简单,核心逻辑就是:你的服务器通过HTTP请求给设备下发指令,或者接收设备上报的数据。
1. 怎么控制它?(下发命令)
如果你想远程把电断了,或者恢复供电,需要调用它的控制接口。
请求示例假设你要关闭通断器,让设备断电。
请求地址
http(s)://api.thingboot.com/{AppId}/device/control/请求方式:POST
请求体
这里的 power:0 是断开,power:1 是接通。
小贴士:调用接口时需要加签名(Sign)和时间戳(ts),主要是为了安全验证。芯步的签名规则一般是
md5(md5(AppSecret) + ts),稍微有点绕,写代码时封装成一个函数,避免每次调用都手算。
2. 怎么收到告警?(消息推送 - 重点)
这才是实现“主动告警”的核心!你不需要一直去问设备“你还好吗?”,而是让设备异常时主动告诉你。
芯步支持消息推送机制。你需要在后台配置一个URL(Webhook),当设备状态变化或数据异常时(比如功率突然飙升),平台会把消息推送到你的服务器。
你需要搭建一个接收接口,该接口需要解析平台POST过来的JSON数据。数据包里会包含:
设备ID
当前功率(Power)
当前电流(Current)
电压(Voltage)
累计电能(Energy)
只要这个接口收到了数据,就意味着设备状态变了,或者定时上报的数据到了。
三、告警策略:定义什么是“异常”
“异常”不能瞎报,得有理有据。结合AC3的能力和实际工程经验,配置以下几种告警模型。这里可以参照国标里关于智能断路器预警的定义
| 告警类型 | 判定逻辑 | 适用场景 |
|---|---|---|
| 过载告警 | 实时功率 > 额定功率 * 1.1(系数可调),持续超过3秒。 | 比如一个标称2200W的电暖气,如果跑到2500W,立马预警,防止线路过热。 |
| 欠压/过压告警 | 电压 < 198V 或 > 242V(按220V基准±10%)。 | 有些精密设备(比如服务器、医疗设备)电压不稳就容易坏,需要及时通知。 |
| 设备故障/离线告警 | 超过5分钟没有收到设备的心跳数据。 | 设备坏了或者断网了,你就知道不是“没电”而是“失联”了。 |
| 长时待机/忘关提醒 | 夜间时段(比如23:00-06:00),功率持续大于20W超过2小时。 | 会议室投影仪忘关了,或者下班后饮水机没关,帮你节能省电。 |
| 漏电/电弧异常 | 如果电流波形中含有高次谐波毛刺(高阶玩法)。 | 需要配合算法模型,一般用于老旧线路的火灾预防。 |
四、代码实战:简单写个告警逻辑(伪代码思路)
假设你已经在服务器上写好了接收回调的接口(比如 /ac3/callback),收到数据后的处理逻辑可以参考如下,我写得稍微白话一点,方便理解:
五、进阶玩法:让它更“智能”一点
1. 安全功率自断AC3本身硬件支持在固件里设置安全功率阈值。你可以通过接口下发配置:超过3500W直接物理断开。这样即使你的服务器宕机了,设备自己也会切断电路,双保险。
2. 结合MQTT如果你是自己搭建的后台,且设备量很大,可以考虑用芯步支持的自建MQTT服务。HTTP 轮询太累,MQTT 长连接在实时性和服务器资源消耗上会更友好,能更快地感知到设备上报的数据。
3. 数据可视化所有推送过来的功率、电流数据,存到数据库里(比如InfluxDB这种时序数据库),然后用 Grafana 或者自己写个前端画个曲线图。你就能看到冰箱压缩机的启停周期,或者空调的真实功率曲线,判断空调是不是该加氟了。
六、总结
把这件事搞定,其实只需要三步:
买对硬件:带计量版的 AC3,只买通断不带计量是实现不了告警功能的。
写好接收端:搞一个公网能访问的 URL,用来接收设备推送的电压电流数据。
定好规则:在代码里写几个
if判断,功率高了就报、电压低了就报。
芯步的接口设计得比较直白,不需要去啃复杂的SDK,直接像调普通的网页接口一样就能调通。如果遇到问题,他们家也提供技术支持,可以随时沟通解决。