CATALOG

芯步的智能断路器通过 HTTP 接口开放控制能力,核心流程是构造带签名认证的 POST 请求,向指定设备 ID 下发通断指令。以下方案涵盖接口协议、签名算法、代码示例及大功率场景下的工程注意事项。

解决方案:基于芯步HTTP接口实现大功率智能断路器远程通断控制

1. 概述

本方案的目标是指导开发者如何通过芯步开放的 HTTP 接口,对接其大功率智能断路器(如 40A 计量版或 20A 导轨式断路器),实现远程合闸/分闸控制。

芯步的设备采用 WiFi 2.4G 直连方式,无需网关,配网成功后即可在公网或局域网内通过 HTTP POST 请求进行控制。接口响应速度快(约 80-120ms),支持定时任务和状态查询

2. 核心对接流程与接口详解

对接的核心是调用设备控制 API,通过携带动态签名的 POST 请求下发指令。

2.1 请求地址与鉴权
  • 请求URLhttp(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式: POST

  • Content-Type: application/json

鉴权参数说明

  • {AppId}: 在芯步控制台获取的应用唯一标识。

  • {ts}: 当前 UNIX 时间戳(秒),用于防止请求重放。

  • {sign}: 动态签名,用于验证请求合法性。签名生成算法按官方推荐为:sign = MD5( MD5(AppSecret) + ts ),即将 AppSecret 进行一次 MD5 加密,然后拼接 ts 字符串,再对整个字符串做一次 MD5 加密

注意:虽然官方早期文档提及 MD5,但在生产环境中,若平台已升级,查阅最新文档确认是否支持 SHA256。以下逻辑基于通用 MD5 示例。

2.2 请求 Body 结构

请求体为 JSON 格式,包含设备标识和命令内容。

  • device: 目标设备 ID(字符串类型),可在控制台查看,支持一次性传入多个设备 ID,用逗号隔开

  • order: 命令对象。对于大功率单路断路器,通常使用 {"power": 1} 表示接通,{"power": 0} 表示断开

2.3 命令扩展:多路控制

如果是多路控制器(如 4 路控制板),order 字段需指定具体线路:

  • 控制第一路接通: {"power1": 1}

  • 控制第二路断开: {"power2": 0}

  • 批量控制: {"batch": {"relay": [1,0,0,1]}}

2.4 签名与请求代码示例(Python)

以下示例展示了如何生成签名并下发“合闸”指令

3. 大功率应用的特殊处理与优化

针对大功率(如 8000W / 40A)场景,除了基础的通断控制,增加以下逻辑以保障安全和稳定性

  1. 定时关断机制(防超时)对于大功率设备(如中央空调、大型电机),为防止远程下发合闸后忘记关闭导致能耗浪费或安全事故,在指令中加入 reset 参数。

    • 命令示例{"power": 1, "reset": 3600000}

    • 效果: 设备立即合闸,并在 3600000 毫秒(1小时)后自动断开

  2. 状态回读与确认由于大功率断路器通常带有机械寿命和电弧问题,仅靠下发指令成功并不代表断路器实际物理状态已改变。

    • : 调用设备状态查询接口(如果有)获取继电器实际触点状态,或配合芯步的“计量数显版”产品读取实时电压/电流值,确认负载是否真正得电

  3. 局域网直连(低延迟高稳定)如果您的控制平台(如工厂 MES 系统)与断路器位于同一局域网,可以利用芯步支持的 局域网 / 私有化部署 特性。通过向内网 IP 地址发送 HTTP 请求,绕过外网延迟,实现毫秒级控制响应,特别适用于流水线急停等场景

4. 常见异常处理

  • HTTP 401/403 签名错误

    • 检查 AppSecret 前后是否有空格。

    • 确认时间戳 ts 是秒级(10位)而非毫秒级(13位)。

    • 确认 MD5 结果是 32 位小写十六进制字符串。

  • 设备离线

    • 断路器依赖 2.4G WiFi,且不支持 5G 频段。请检查现场 WiFi 信号强度。

    • 确认设备已按照手册完成配网(通常通过小程序配置 SSID 和密码)

  • 控制无效(返回成功但设备无动作)

    • 检查 device ID 是否与控制台一致(注意数字格式)。

    • 确认大功率断路器是否处于“分闸”允许状态,部分具有过载保护功能的设备在触发保护后需手动复位。

通过上述接口对接,您可以快速将芯步的智能断路器集成到现有的 Web 端、APP 或自动化运维系统中,实现大功率负载的远程智能化管理。