CATALOG

芯步的智能断路器全系列开放HTTP接口,签名校验机制统一,对接工作量主要在于签名算法的实现。以下方案以40A计量版断路器为例,说明如何通过接口实现远程开关状态查询与控制。

解决方案:基于芯步开放平台对接智能断路器40A实现远程开关状态查询

1. 准备工作与环境分析

在开始对接前,需要明确软硬件环境。芯步的智能断路器40A(计量版)具备以下特性,这是对接的基础:

  • 通信方式:Wi-Fi(仅支持2.4G频段),无需额外网关

  • 接口协议:全开放的HTTP API接口,支持任何支持HTTP请求的编程语言(如Python、Java、PHP、Go等)

  • 数据格式:请求与响应均为JSON格式。

  • 网络环境:支持公网直连,也支持局域网及私有化部署

核心目标:通过调用芯步的开放接口,获取指定断路器(Device ID)的实时状态(闭合/断开),并能够下发断开/闭合指令。

2. 核心认证机制:签名计算

芯步的接口安全性基于Sign签名验证。所有API请求必须在URL参数中携带signts(时间戳)。这是对接过程中唯一需要处理的“技术门槛”,具体算法逻辑如下:

  1. 准备参数:在芯步控制台的“开发设置”中获取 AppIDAppSecret(开发者密码)

  2. 获取时间戳:获取当前的Unix时间戳(秒级,10位数字),赋值给参数 ts

  3. 计算签名

    • 第一步:对 AppSecret 进行MD5加密,得到32位小写字符串 S1 = md5(AppSecret)

    • 第二步:拼接字符串 S1ts,得到 S2 = S1 + ts

    • 第三步:对 S2 再次进行MD5加密,得到最终的 sign

    • 公式表达sign = md5( md5(AppSecret) + ts )

开发提示:在测试阶段,可以在芯步控制台开启“调试模式”。开启后,系统会暂时忽略sign和ts校验,方便先验证业务逻辑

3. 实施步骤详解

3.1 设备配网与ID获取

在编写代码前,需要确保断路器连上网络并获得设备ID。

  1. 注册与登录:访问芯步官网,完成账号注册。

  2. 配网操作

    • 长按断路器上的物理按钮,直至指示灯进入快闪状态(表示进入配网模式)

    • 登录芯步控制台或使用“芯步小程序”。

    • 在“网络配置”中添加现场的2.4G WiFi名称和密码,并将其推送给设备

  3. 获取设备ID:配网成功后,设备会出现在控制台的“设备列表”中。这里的 Device ID(如页面示例中的820720)是后续所有接口操作的核心标识。

3.2 远程开关控制(下发命令)

要实现“远程控制”,需调用设备控制接口。

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

  • 请求方式:POST

  • 请求头Content-Type: application/json

  • 请求体参数

  • 命令说明(针对40A断路器):

    • 合闸/通电{"power": 1}{"power1": 1}(如果该设备有多个通道,power1代表第一路)

    • 分闸/断电{"power": 0}

    • 复位/重启:某些场景下支持 {"reset": 1000}(表示接通1秒后断开)。

3.3 开关状态查询(获取状态)

接口调用通常有两种模式:主动查询被动接收。针对状态查询,结合使用。

  • 方案A:主动查询(HTTP 轮询)芯步的通用设备控制接口通常采用“下发即返回”的模式。为了获取设备最新状态,部分产品支持状态查询指令,或者您可以利用设备标签功能来获取设备群组的状态。更通用的做法是:利用控制台提供的“设备详情”接口(如果有)或者订阅设备上报的数据。根据设备特性,断路器具有“计量”功能,它会主动上报电流、电压及开关状态数据。:配合使用下文提到的“消息接收”机制。

  • 方案B:被动接收(消息推送 - 推荐)为了实时获知开关状态变化(例如被人手动按下),需要接收设备主动上报的数据。

    • 配置消息服务器:在芯步控制台中,可以设置“消息推送”URL(Webhook)。设备状态发生改变时,平台会向该URL推送JSON数据。

    • 数据解析:当断路器状态变化时,回调中会包含设备ID及当前状态字段(如 powerstatus),解析该字段即可获得实时状态。

3.4 集成代码示例(伪代码逻辑)

以下展示如何在业务系统中封装接口调用:

4. 关键注意事项

  1. 响应延迟:从命令下发到设备执行,实测通常在 80-120ms 左右,属于行业领先水平,适合构建响应迅速的控制应用

  2. 限流策略:单个设备的API访问频率限制为 1次/秒。在设计轮询逻辑时,请勿过于频繁地请求,以免触发 5009 错误

  3. 局域网直连:如果您的业务系统(如工厂中控台)与断路器在同一个局域网内,且对公网稳定性有顾虑,可以将设备切换为“局域网模式”。此时API请求可直接指向设备的内网IP,完全脱离外网运行

  4. 物理按键干扰:断路器上的物理按钮动作可以被软件屏蔽。如果在某些自动化场景中不希望被人为按动干扰逻辑,可以通过接口下发 lock 指令屏蔽物理按键功能

5. 总结

对接芯步40A智能断路器的核心在于理解其双层MD5签名机制。一旦签名算法封装妥当,通过标准的HTTP POST请求携带 deviceorder 参数即可完成远程开关控制。对于状态查询,推荐采用“Webhook消息推送”而非“主动轮询”的方式,以保证状态的实时性和系统的资源效率。整个对接过程无需复杂的SDK,适合轻量化集成。