CATALOG

芯步25A远程开关控制器支持HTTP接口和消息上报两种开放能力,可以基于“状态变化触发+服务器处理+反向控制”的链路,快速搭建故障告警系统。以下是具体的实现方案。

解决方案:基于芯步25A远程开关控制器的故障告警系统实现

1. 背景与概述

在许多工业现场、机房或无人值守基站,电气设备的过载、短路或线路异常发热往往会导致严重事故。芯步25A远程开关控制器(智能断路器) 具备远程控制、电流/电压检测和状态实时上报功能。本方案的目标是利用其开放API消息推送机制,构建一套自动化的故障告警系统。

当设备检测到电流异常、过载或跳闸时,系统会立即通过微信、短信或邮件通知运维人员,实现“秒级响应”。

2. 核心逻辑架构

本方案不依赖芯步官方APP,而是直接将消息推送到您自己的服务器。

  • 设备层:25A智能断路器(接入WiFi网络)。

  • 接入层:设备主动上报状态至您的公网API Server。

  • 业务层:您的服务器处理逻辑,判断故障并分发告警。

  • 通知层:调用第三方接口(如钉钉、企微、Twilio等)发送消息。

3. 第一步:设备配置与网络对接

要让设备将数据发给您,而不是官方云平台,需要对设备进行私有化部署配置

  1. 配置“消息上报URL”在设备的WiFi配网页面(通常是设备Web配置界面或通过芯步配网工具),找到“私有化/MQTT/HTTP推送”设置项。

    • 操作:将“消息上报地址”修改为您自己的服务器地址,例如:https://yourdomain.com/api/device/callback

    • 效果:设备状态变化时(如从“闭合”变为“断开”),会向该地址发送一个包含电流、电压、功率等数据的POST请求

  2. 获取开放接口密钥为了后续实现远程合闸/分闸(即故障排除后远程恢复供电),您需要调用芯步的控制接口

    • 所需参数:AppIdsign(签名)、ts(时间戳)。这些在芯步控制台的后台管理中生成。

4. 第二步:故障告警的数据判定逻辑

当设备向您的 callback 地址推送数据时,您需要编写代码解析message字段。

接收的数据示例 (根据文档模拟):

告警触发条件(业务规则)您需要在后端实现以下判断逻辑:

  1. 跳闸告警:若 power == 0current > 0(或依据断路器上报的“跳闸事件码”),判定为过载/短路跳闸。

  2. 过载预警:若 current > 22(设定阈值为额定电流的90%),判定为即将过载,通知运维“当前电流23.5A,接近上限”。

  3. 异常离线:若服务器超过5分钟未收到设备心跳(需设备推送心跳包,或基于最后上报时间判断),判定为设备离线/网络故障。

5. 第三步:告警通知的实现

一旦后端判定为故障状态,立即触发通知流程。

  • 第一步:数据库记录:将故障设备ID、时间、电流值存入数据库。

  • 第二步:消息推送:调用第三方通知服务。

    • 企业内部:调用钉钉/飞书/企业微信的Webhook机器人,直接在群里发卡通知:“【严重告警】25A断路器(ID:820720)因过流跳闸,当前电流25.2A,请立即检查。”

    • 电话/短信:如果是夜间值班,调用阿里云/腾讯云短信接口,或使用VoIP电话语音播报。

6. 第四步:远程干预(故障恢复与远程分合闸)

运维人员收到告警后,若确认现场安全或需要远程尝试恢复供电,可通过您搭建的后台调用芯步的开放接口下发命令

控制接口调用示例 (下发合闸命令):

  • URL: http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • Method: POST

  • Body:

  • 逻辑: 您的后台发送此HTTP请求后,云端将指令下发给设备,设备执行合闸动作。从发出请求到设备响应,通常只需80-120ms

7. 完整工作流程时序图 (文字描述)

  1. 监测:25A设备检测到线路电流异常(>25A)。

  2. 上报:设备内置逻辑触发跳闸保护,同时通过HTTP POST将{"power":0,"current":28}发送至您的服务器。

  3. 解析:您的服务器接收JSON,发现power=0current超标。

  4. 决策:程序判定为“过流跳闸”,查询该设备对应的负责人手机号。

  5. 告警:服务器调用钉钉API发送“设备820720跳闸”的消息。

  6. 工单/恢复:维修人员现场处理故障后,登录您的后台点击“恢复供电” -> 您的后台调用控制API -> 设备合闸。

8. 关键注意事项

  • IP白名单与防火墙:由于是设备主动上报数据给您(Webhook),请确保您的回调URL对公网开放(或使用内网穿透进行调试)。同时,为安全起见,在代码中校验上报请求的合法性(如验证来源IP是否属于芯步云端,或验证Header中的特定Token),防止恶意攻击。

  • 设备ID管理:在实际应用中,请将device(如820720)与业务字段(如“机柜A-1号线路”)做映射表,否则收到一串数字告警不知道是哪里跳闸了。

  • 签名计算:下发控制命令时,sign的计算规则需严格参考芯步文档(通常是将AppIdtsAppSecret拼接后MD5),参数错误会导致401鉴权失败

  • 重试机制:设备上报消息是一次性的,请确保您的服务器接口能在毫秒级响应(return 200),若您的服务器处理失败(如数据库挂了),设备端不会自动重试,可能漏报。在代码中加入消息队列(MQ)异步处理。

总结来说,通过获取芯步设备的消息上报URL来捕获实时数据,结合设备控制接口实现远程操作,即可在您的自有业务系统内实现从“故障发现”到“故障解决”的完整闭环。