芯步35A智能断路器的开放HTTP接口采用签名认证机制,通过向/device/control/端点POST命令即可实现远程通断控制与状态反馈。以下是完整的接入方案。
1. 接口概述与准备工作
要远程控制芯步的35A智能断路器,最核心的方式是利用其公开的HTTP API。这套接口设计简洁,支持任何能发起HTTP请求的编程语言或开发平台(如小程序、Web应用、桌面软件等)。
准备工作:
获取关键凭证:登录芯步控制台,获取
AppId(应用ID)和AppSecret(开发者密码)。这是后续身份验证的关键。获取设备ID:在控制台的设备列表中,查看并记录下需要控制的35A断路器对应的
deviceID(如820720)。网络确认:确保控制端(服务器或终端)能够访问公网API(
api.thingboot.com)。如果采用私有化部署方案,则需确认局域网地址。
2. 接口鉴权机制详解
为了保证安全性,所有控制命令都需要携带签名(sign)和时间戳(ts)。芯步使用的是双层MD5加密机制。
签名生成规则如下:
将你的
AppSecret进行一次MD5加密,得到Secret_MD5。将
Secret_MD5与当前的Unix时间戳(秒级) 拼接成字符串Secret_MD5 + ts。对上一步的拼接字符串再进行一次MD5加密,结果即为
sign。
公式化表达:sign = md5( md5(AppSecret) + ts )
AppId:直接作为URL路径的一部分传入。ts:生成签名时的Unix时间戳,用于防重放攻击。服务器会校验时间戳的有效性。
3. 核心接口调用实战:控制电路通断
35A断路器的核心功能是接通或断开电路。通过向指定接口发送JSON格式的POST请求即可实现。
3.1 请求结构
请求地址:
http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}请求方式:
POST请求头:
Content-Type: application/json请求体(Body)
3.2 实战示例:使用Python实现
以下是一个完整的Python脚本示例,展示了如何动态生成签名并控制断路器闭合:
说明:该接口响应极快,从命令下发到设备动作通常在 80-120毫秒 内完成。
4. 电路状态反馈的获取方式
“反馈控制”通常意味着不仅发送指令,还需知道断路器当前的实时状态(是通电还是断电)。基于HTTP的无状态特性,主要有两种方式获取状态反馈:
方案A:主动查询(适合轮询场景)
如果你需要在界面上展示当前状态,可以调用设备状态查询接口(具体路径视具体SDK或API文档而定,通常是 device/status)。这种方式适合需要定时刷新状态看板的Web或App应用。
方案B:被动接收/消息推送(推荐)
为了实时获知状态变化(例如:有人按了断路器上的物理按钮,或者触发了过载保护导致跳闸),配置回调机制。在芯步的控制台中,可以配置一个你的服务器URL(Webhook)。当断路器状态发生变化时(如电量消耗、通断切换),平台会主动将状态数据(JSON格式)POST 到你指定的地址。
优点:实时性强,无需轮询,节省服务器资源。
实现:你需要准备一个公网可访问的接口,用于接收并解析芯步发来的状态数据,然后存入数据库或推送给前端。
5. 进阶控制:定时与延时
35A接口还支持高级逻辑,无需在业务服务器维护复杂的定时任务。可以直接在 order 参数中附带延时或定时指令。
"点动"模式(立即通电,1小时后自动断电):这种模式常用于充电桩或临时供电场景。
发送该指令后,断路器立即闭合,并在1小时后自动断开。
6. 部署与拓扑
根据你的应用场景,芯步支持两种部署模式:
公网SaaS模式(最简单)
适用:个人开发者、快速原型验证、无需自建服务器。
流程:你的应用 -> 芯步云API -> 设备。
私有化/局域网模式(企业级)
适用:工业控制、数据保密性要求高、无外网环境。
流程:你的本地服务器 --(局域网)--> 芯步本地网关/设备。
优势:数据不离开内网,响应延迟更低(局域网内通常<50ms),稳定性不受公网波动影响。
总结
通过集成芯步35A断路器的HTTP接口,开发者只需关注签名生成和JSON命令组装两个核心环节。对于完整闭环控制,结合 "主动查询" 与 "被动回调" 两种方式,以确保UI状态与设备物理状态的高度同步。