CATALOG

芯步的大功率智能断路器提供了完整的HTTP API接口,支持单台和批量设备控制。以下方案从签名算法、单控/批量命令构造到多语言代码示例,给出完整的二次开发路径。

解决方案:基于芯步开放接口的大功率智能断路器远程批量控制二次开发

1. 解决概述

针对工业机房、智能工厂、充电桩集群或大型商业综合体等场景,需要对大量(如数十甚至上百台)额定功率高达 10000W 的大功率智能断路器进行统一管理时,逐一操作显然无法满足效率要求。

利用芯步开放平台提供的 HTTP 接口,结合其支持 多设备 ID 同时下发命令的特性,开发者可以构建一套具备“批量控制”、“分组控制”和“定时策略”的高级管理系统。

核心技术优势:

  • 高功率承载:单设备支持 10000W 大负载,适用于空调、生产线、大型服务器等工业级设备

  • 多设备并发:单次 API 调用即可同时控制最多 100 台设备,实现瞬时批量操作

  • 多路独立控制:不仅支持整体通断,还支持多路控制器,可独立控制不同负载

2. 开发准备与认证机制

在编写批量控制代码前,需要先完成以下准备工作:

2.1 获取凭证在芯步控制台获取以下三个关键参数:

  • AppID:应用的唯一标识。

  • AppSecret:用于加密计算的密钥。

  • Device IDs:需要管理的设备 ID 列表(可在控制台查看或通过接口拉取)

2.2 签名算法所有开放接口都需要携带签名进行安全验证,防止接口被恶意篡改。算法逻辑如下:

  1. AppSecret 进行第一次 MD5 加密,得到 encrypted_secret

  2. 拼接字符串:temp_str = encrypted_secret + ts(注:ts 为当前 Unix 时间戳,精确到秒)。

  3. temp_str 进行第二次 MD5 加密,得到最终的 sign

公式:sign = MD5( MD5(AppSecret) + ts )

3. 实现远程批量控制的核心机制

芯步的接口设计支持在 device 字段中传入多个 ID,这是实现二次开发和批量控制的关键。

3.1 批量控制接口定义

  • URLhttps://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • Method:POST

  • Content-Type:application/json

3.2 关键入参解析在请求 Body 中:

  • device:这是一个字符串,若要控制多个设备,请使用英文逗号 , 或竖线 | 将 Device ID 隔开。

    • 例如:单台 "device": "123456"

    • 例如:批量 "device": "123456,789012,345678"

  • order:这是下发给设备的 JSON 指令。针对大功率断路器,常用指令包括:

    • power{"power":1} 开启线路,{"power":0} 关闭线路。

    • point:先通后断,常用于复位场景。

    • reset:先断后通,常用于重启设备

4. 二次开发代码实战

以下代码示例展示了如何封装一个批量控制函数,实现对多台大功率断路器的远程同步控制。

4.1 Python 示例该示例包含完整的签名计算和批量请求逻辑,适用于后端服务。

4.2 Node.js 示例适用于云函数或物联网网关开发。

5. 高级应用场景与优化

5.1 异步执行与状态确认由于 HTTP 请求的 200 响应仅代表指令送达平台,不代表设备已实际执行,若需要确保断路器确实断开或闭合,启用 消息推送 功能:在开放平台配置接收 URL,设备执行后会推送 command response 消息到服务器,以此更新数据库中的设备状态

5.2 定时与轮询任务若需要实现“低电价时段自动合闸”或“周期性通断测试”,可以在二次开发中集成定时任务框架(如 Linux Crontab, Spring Task)。通过调用接口传入 order 参数,可实现单次定时通断,无需维护复杂的队列系统

5.3 安全性增强在批量控制逻辑中,在代码层面增加二次鉴权。例如:先从本地 Redis 或数据库验证当前操作员是否有权控制 device_ids 列表中的设备,再调用 API,防止水平越权风险。

6. 总结

基于芯步开放的 HTTP 接口,开发者可以极其简洁地实现大功率断路器的二次开发。通过在 device 参数中拼接多个 ID,系统能够轻松从单机管理平滑过渡到 千台级别的集群管理。这种方案不仅适用于大功率断路器,也兼容该平台下的 4路/8路控制器等设备,技术栈高度复用