CATALOG

针对芯步60A带计量智能电源控制断路器的二次开发,以下是一份详细的解决方案,帮助你在其开放API基础上实现远程定时任务控制。

一、 我们有什么“家伙”可用?

首先,咱们得搞清楚手头这个“60A带计量智能电源控制断路器”是个啥。简单说,这哥们儿有几个核心技能:

  1. 功率大:额定60A电流,像中央空调、工厂设备、新能源汽车充电桩等大功率负载,它都能轻松拿捏

  2. 会算账:带计量功能,能实时知道设备走了多少度电,电压电流是多少。

  3. 听招呼:最关键的是,芯步把这哥们儿的控制权限全部通过 HTTP API 开放出来了。这意味着,你可以绕过官方App,用自己的服务器或云端平台直接指挥它通断。

我们要做的就是搭建一个“调度中心”(你的服务器),定时给设备发送“合闸”或“分闸”的HTTP指令。

二、 开工前准备

动手之前,确保你手头有以下三样东西:

  1. 硬件:已联网的60A智能断路器(确认设备ID,通常在标签上)。

  2. 账号:芯步开放平台账号。去官网注册一个,这是必须的。

  3. 钥匙:登录控制台,找到 开发设置。记下两个关键字符串:AppID(开发者ID)和 AppSecret(开发者密码)。这是你调用API的门禁卡

三、 核心接口详解

整个二次开发的核心就一个接口:设备控制接口

1. 请求地址

注意要在URL后面带上签名和时间的参数。

2. 请求参数

  • device(必须):你的60A断路器设备ID。

  • order(必须):这里是重点。对于60A断路器(单路大功率),控制指令如下:

    • 合闸(开){"power":"1"}

    • 分闸(关){"power":"0"}

    • 小提示:如果是多路版本,可能会用 power1power2,但这个60A版本通常是单路,直接用 power 就行

3. 鉴权签名计算

为了安全,API必须验证签名。计算方法如下:

  1. 先把你的 AppSecret 进行一次MD5加密,得到 secret_md5

  2. 获取当前时间戳 ts(秒级)。

  3. secret_md5ts 拼起来,再整个做一次MD5加密。

  4. 结果就是 sign

用简单的伪代码表示就是:sign = MD5( MD5(AppSecret) + ts )

为什么搞这么复杂?主要是为了防止接口被恶意篡改,保护你的设备不被别人乱动。

四、 实战:定时任务系统的设计

现在开始搭建我们的“定时大脑”。我们将设计一个简易的轮询脚本 或者 定时任务队列

方案设计思路

我们不依赖设备自身的定时功能(固件定时一般只有几组),而是利用服务端定时

  • 数据库:存一张定时任务表。字段包括:设备ID、动作(开/关)、执行时间(Cron表达式或具体时间戳)、是否已执行标志。

  • 调度器:使用Linux自带的Crontab,或者代码中的APScheduler库,每分钟扫描一次数据库,看看当前时间有没有需要执行的任务。

  • 执行器:一旦扫描到待执行任务,立即拼装上述API请求,用代码(Python/Java/PHP)发送出去。

代码演示

假设我们想实现在 每天凌晨 2:00 自动断开断路器,早上 8:00 自动闭合

以下是 Python 代码的核心片段,实现了向断路器发送指令的功能:

五、 进阶功能:不仅仅是开关

因为这台设备带有“计量”功能,你的二次开发还可以做得更高级:

  1. 获取电表数据:你可以调用 获取设备状态 的API接口,读取实时的电压、电流、功率、累计用电量数据。

  2. 超功率预警与保护:在你的业务逻辑里加一条判断。例如,控制空调开启后,脚本去读功率数据。如果5分钟后功率依然很低(可能是压缩机故障)或比较高(超载),自动发指令断电,并通过邮件或企业微信告警。

  3. 联动控制:配合芯步的其他传感器(如温湿度传感器)。逻辑:if 温度 > 40度 and 设备状态为关: 执行合闸打开排风扇

六、 避坑指南

  1. 关于返回200状态码:API返回200只代表平台收到了指令,不代表设备真的执行了。如果设备离线,命令是失败的。严谨的做法是开启消息推送(如webhook),接收设备上报的执行结果

  2. 签名的时间戳:时间戳 ts 是秒级,不是毫秒级。前后时间误差不能太大(通常是5分钟内),否则服务器会判定签名失效。

  3. 60A断路器属于强电设备:在开发和测试阶段,请一定要注意用电安全。先用小灯泡或接触器测试逻辑,确认无误再接主回路。

七、 总结

通过芯步开放的HTTP API,你可以完全掌控那台60A断路器。定时任务的实现原理就是:在你的服务器上设置一个定时器,到了规定时间,就发一条HTTP指令给云端,云端再推送给设备。

这套方案不仅限于定时开关,你可以把它集成进自己的MES系统、智慧农业系统或者智能家居中枢里,实现真正的无人值守和智能化能源管理。