CATALOG

针对芯步25A智能断路器(远程控制断路器)的二次开发,实现延时通断控制,核心思路是利用其开放接口,在您自己的服务器上创建一个“定时任务调度器”

由于设备本身可能不直接支持(或仅支持有限)的延时指令,我将通过云侧的编程逻辑来实现这一功能。

解决方案:基于芯步开放API的延时控制系统

1. 系统设计

要实现“xx秒后闭合”或“xx秒后断开”,仅靠一次API调用是不够的,因为HTTP请求的等待时间有限,且网络波动会影响计时的准确性。

推荐架构:采用 业务服务器 + 定时任务队列 + 芯步云API 的模式。

  • 用户端:您的Web/App界面。

  • 业务服务器:接收指令,计算执行时间,存储任务,执行定时回调。

  • 芯步云:执行实际的下发命令动作。

  • 25A断路器:接收指令并执行机械动作。

2. 硬件与接口准备

在开始开发前,请确保以下条件就绪:

  1. 硬件确认:25A远程控制断路器已通电并联网,且在芯步控制台显示为“在线”状态。

  2. 接口凭证:获取 AppIDAppSecret 等关键参数,这是调用API的凭证。

  3. 设备ID:获取目标断路器的唯一 Device ID

3. 核心开发步骤:实现“延时通断”

我们将以 “延时5分钟后断开” 这一典型场景为例,逐步拆解开发流程。

实现逻辑流程图:

sequenceDiagram
    participant App as 您的应用
    participant Server as 您的业务服务器
    participant YoYo as 芯步云API
    participant Device as 25A智能断路器

    App->>Server: 请求:5分钟后断电
    Server->>Server: 计算执行时间,存储任务
    Server-->>App: 任务已接收,预计xx:xx执行
    
    Note over Server: 时间到达设定点
触发回调/定时器 Server->>YoYo: 调用设备控制接口
(POST /device/control) YoYo->>Device: MQTT下发指令 {"power":0} Device->>YoYo: 指令执行成功 YoYo-->>Server: 返回 {"code":200} Server-->>App: Webhook/轮询更新状态:已断开

实现逻辑详解:

  • 第一步:接收前端请求业务服务器接收前端传来的参数,包括:Device ID目标开关状态延时时间(毫秒或秒)。将这些信息保存到数据库或内存队列中,并记录下预设的执行时间戳。

  • 第二步:定时触发机制这里推荐在业务服务器上实现一个定时扫描任务,例如每秒执行一次,检查任务表中是否有时间戳小于或等于当前时间且状态为“待执行”的任务。如果条件满足,则触发控制指令。

  • 第三步:调用接口执行通断此时,业务服务器需要主动调用芯步的开放接口。根据芯步的文档,核心接口调用方式如下

    • 接口地址http(s)://api.thingboot.com/{AppID}/device/control/

    • 请求方法:推荐使用 POST

    • 核心参数

      • device:目标设备的Device ID。

      • order:根据25A断路器的物模型,一般标准通断指令是 {“power”: 1}(通) 或 {“power”: 0}(断) 注意:请以您实际购买的设备指令集为准,部分设备可能使用 {“switch”: “on”}

      • SignTs:用于接口鉴权的签名和时间戳参数。

  • 第四步:处理特殊情况

    • 设备离线:如果API返回设备不可达(如报错502),您的业务服务器应记录日志,并尝试重试,或通过其他渠道(如短信)告警。

    • 立即取消:开发一个取消接口,允许用户在延时期间内根据任务ID取消该定时任务。

4. 代码开发示例 (伪代码/Python逻辑)

假设您使用芯步云API,以下是核心调度逻辑的伪代码示例:

5. 高级功能:利用设备自带指令优化

部分芯步生态内的断路器(如统软云、智鸟等方案商,或芯步特定型号)可能原生支持“点动”或“临时”模式

请查阅您产品的“产品手册”“物模型定义”,寻找是否存在类似 pointreset 的命令。如果有,这将大大简化开发例如,如果设备支持 {“point”:“5000”} 指令(先通后断,延时5000ms),或 {“reset”:“10000”}(先断后通,延时10000ms),您可以直接在 order 参数中透传这些指令,无需在业务服务器侧维护复杂的延时队列。

6. 测试与验证

开发完成后,请严格按以下步骤测试,以确保系统稳定可靠:

  1. 短延时测试:设置延时5秒后断开,观察断路器的实际动作与倒计时是否吻合。

  2. 网络中断恢复测试:在延时期间手动断开设备网络,观察服务器重试机制是否生效。

  3. 并发压力测试:尝试同时对多台设备设置不同延时,校验定时器逻辑是否准确且互不干扰。

通过以上方案,您可以快速基于芯步25A断路器,开发出具备精准延时控制功能的自动化系统。