芯步的智能断路器通过 HTTP 接口开放控制能力,核心流程是构造带签名认证的 POST 请求,向指定设备 ID 下发通断指令。以下方案涵盖接口协议、签名算法、代码示例及大功率场景下的工程注意事项。
解决方案:基于芯步HTTP接口实现大功率智能断路器远程通断控制
1. 概述
本方案的目标是指导开发者如何通过芯步开放的 HTTP 接口,对接其大功率智能断路器(如 40A 计量版或 20A 导轨式断路器),实现远程合闸/分闸控制。
芯步的设备采用 WiFi 2.4G 直连方式,无需网关,配网成功后即可在公网或局域网内通过 HTTP POST 请求进行控制。接口响应速度快(约 80-120ms),支持定时任务和状态查询。
2. 核心对接流程与接口详解
对接的核心是调用设备控制 API,通过携带动态签名的 POST 请求下发指令。
2.1 请求地址与鉴权
请求URL:
http(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)场景,除了基础的通断控制,增加以下逻辑以保障安全和稳定性
定时关断机制(防超时) :对于大功率设备(如中央空调、大型电机),为防止远程下发合闸后忘记关闭导致能耗浪费或安全事故,在指令中加入
reset参数。命令示例:
{"power": 1, "reset": 3600000}效果: 设备立即合闸,并在 3600000 毫秒(1小时)后自动断开。
状态回读与确认由于大功率断路器通常带有机械寿命和电弧问题,仅靠下发指令成功并不代表断路器实际物理状态已改变。
: 调用设备状态查询接口(如果有)获取继电器实际触点状态,或配合芯步的“计量数显版”产品读取实时电压/电流值,确认负载是否真正得电。
局域网直连(低延迟高稳定) :如果您的控制平台(如工厂 MES 系统)与断路器位于同一局域网,可以利用芯步支持的 局域网 / 私有化部署 特性。通过向内网 IP 地址发送 HTTP 请求,绕过外网延迟,实现毫秒级控制响应,特别适用于流水线急停等场景。
4. 常见异常处理
HTTP 401/403 签名错误
检查
AppSecret前后是否有空格。确认时间戳
ts是秒级(10位)而非毫秒级(13位)。确认 MD5 结果是 32 位小写十六进制字符串。
设备离线
断路器依赖 2.4G WiFi,且不支持 5G 频段。请检查现场 WiFi 信号强度。
确认设备已按照手册完成配网(通常通过小程序配置 SSID 和密码)。
控制无效(返回成功但设备无动作) :
检查
deviceID 是否与控制台一致(注意数字格式)。确认大功率断路器是否处于“分闸”允许状态,部分具有过载保护功能的设备在触发保护后需手动复位。
通过上述接口对接,您可以快速将芯步的智能断路器集成到现有的 Web 端、APP 或自动化运维系统中,实现大功率负载的远程智能化管理。