CATALOG

这是一个关于如何利用芯步开放接口,对20A智能断路器进行二次开发以实现状态监控的解决方案。我尽量写得直白、好懂一些。

一、 我们想解决什么问题?

在很多工厂、机房或农业大棚现场,大家通常会遇到几个头疼的问题:

  1. 不知道设备是开是关:想知道水泵或者风机是不是在运行,得跑去现场看,费时费力。

  2. 设备“偷停”了没人知道:半夜设备过载跳闸了,导致生产线停产或者鱼塘缺氧,但管理人员第二天早上才知道,损失巨大。

  3. 控制与反馈脱节:虽然能通过手机APP远程合闸/拉闸,但自己的内部管理系统(ERP、MES)里没有记录,无法生成报表。

这篇方案就是教大家如何利用芯步的开放接口,自己写点代码,把20A定时控制断路器集成到你自己的系统里。不仅是控制通断,更重要的是实时监控它的状态

二、 准备工作:认识硬件与接口

在动手之前,我们先确认手里有什么:

  • 硬件设备:芯步的20A智能通断器(也叫智能断路器)。这家伙支持HTTP接口控制,额定功率4400W,一般的电机、灯光、插座都能管

  • 开发凭证

    • AppID:相当于你在芯步平台上的“用户名”。

    • AppSecret:相当于“密码”。

    • 这两个东西在芯步控制台的“开发设置”里都能找到

  • 核心能力:设备状态上报。这是实现监控的基础——设备本身的开关状态得能传上来才行。

三、 核心思路:如何实现“监控”?

所谓的“设备运行状态监控”,说白了就是解决两个问题:“怎么查”“怎么通知”

  1. 主动查询:你的服务器主动问设备“你现在是开还是关?”

  2. 被动接收:设备状态一变(比如从开变成关),主动告诉你的服务器“我跳闸了!”

芯步的开放接口同时支持这两种模式,我们分别来看怎么实现。

四、 实施步骤与代码逻辑

第一种场景:主动查询 —— “我现在就要知道状态”

如果你只是想在自己系统的页面上显示一下“电机正在运行”或者“灯光已关闭”,用HTTP接口轮询就行了。

实现逻辑你需要一个API来获取设备的最新信息。虽然常规接口文档中常通过device/control下发指令,但在监控场景下,通过查询设备详情或状态接口来轮询(注:具体接口路径如/device/query等,请依据控制台下的实际API列表确认,其签名规则一致)。

二次开发的关键点在于签名的计算为了避免接口被别人随便调用,每次请求都要带一个动态生成的“签名 (sign)”。

计算规则很简单(口语化解释)你把你的“密码(AppSecret)”先进行一次MD5加密,得到一个字符串,然后把当前的“时间戳”拼在后面,再把拼接好的整个字符串再做一次MD5加密,出来的结果就是签名

Python代码示例(如何查状态)

第二种场景:实时报警 —— “跳闸了马上告诉我”

主动查询有个缺点:如果设定1分钟查一次,那跳闸后最多会有60秒的延迟。如果要求实时性,就得用另一种方式:设置webhook回调 / 订阅MQTT消息

简单说,就是让芯步的平台在设备状态变化那一刻,“主动”给你的服务器发个请求。

配置步骤

  1. 在你的服务器上写一个接收接口(例如:http://你的域名/api/breaker_callback)。

  2. 把这个地址填到芯步控制台的“应用设置” -> “消息推送” -> “设备状态变化”的URL里

  3. 一旦20A断路器跳闸或合闸,芯步的平台就会立刻把这个消息推送到你的接口。

你需要解析的推送内容当你的接口被调用时,收到的JSON数据大概长这样:

二次开发落地收到这个请求后,你的程序就可以立刻干这三件事:

  1. 发短信/发钉钉:调用钉钉机器人或者短信API,给值班人员发一条“【严重告警】3号车间断路器跳闸!”的消息

  2. 存入数据库:将这次开关动作记录到你的MySQL里,用作后续的电闸操作审计。

  3. 联动业务:如果你的系统里正在执行某个生产工艺,检测到跳闸,立刻暂停后续工序,避免报废产品。

五、 进阶玩法:不仅仅是“通断”

如果你觉得只监控“通断”还不够,想监测电流、电压、功率,判断设备是不是“带病工作”(比如电流异常波动),芯步的开放接口同样支持。

  1. 获取实时读数调用设备详情接口,除了status,通常还能获取到power(功率)、current(电流)、voltage(电压)等参数

  2. 设定阈值告警你的程序在后台轮询时,可以加个判断逻辑。例如:

  3. 工作量统计通过记录power=1(合闸)的时间长度,可以统计这台设备今天真正运行了多久,用于计算OEE(设备综合效率)

六、 可能遇到的坑及注意事项

  1. 签名失败(报错5006/5008)

    • 现象:返回bad sign或者ip not in white list

    • 解决:检查服务器时间是否标准(不能差太多);如果开了IP白名单,记得把你的服务器IP加进去

  2. 离线状态误判

    • 现象:设备明明开着电,API查询返回offline

    • 解决:确保20A断路器的WiFi信号良好。如果安装在铁皮配电箱里,信号可能会被屏蔽,拉一根天线出来。

  3. MQTT连接稳定性

    • 如果你是高手,更推荐用MQTT协议接入,比HTTP轮询更实时、更省资源。芯步默认提供了MQTT接入点(Host: mapi.thingboot.com,端口1883),用你的AppID和AppSecret作为用户名密码登录即可订阅设备主题

七、 总结

通过芯步的开放接口,二次开发20A定时控制断路器其实只需要五步:

  1. 拿钥匙:获取AppID和AppSecret。

  2. 连上网:确保断路器在线。

  3. 写代码:按照规则生成签名,调用接口。

  4. 做逻辑:写一个判断if status == 0就报警的代码块。

  5. 接业务:把报警消息推送到你的钉钉、微信或者大屏上。

这套方案不需要你懂硬件电路,全是标准的HTTP协议,只要会发请求、会写后端业务逻辑就能搞定。