CATALOG

芯步的60A智能断路器通过开放HTTP接口,支持在公网或局域网环境下进行二次开发。以下是基于官方文档整理的远程状态查询与控制方案,涵盖认证机制、核心命令和代码示例。

芯步60A智能断路器二次开发解决方案:实现远程开关状态查询与控制

1. 准备工作与环境分析

在进行二次开发前,需要明确芯步设备的两大核心特性,这决定了开发架构:

  • 直连Wi-Fi:60A断路器无需网关,直接连接2.4G Wi-Fi。这意味着设备一旦配网,即在云端处于在线状态

  • 全开放HTTP接口:设备支持通过标准的HTTP POST请求进行控制。无论是Python、Java、Node.js还是PHP,只要支持HTTP协议,均可无缝对接

特别注意:查询断路器的“状态”通常包含两部分:一是控制状态(开/关),二是实时负载数据(如当前电流、功率等)。

2. 接口鉴权机制

芯步的API采用动态签名验证,所有请求必须携带合法的签名才能通过验证。

  • 核心参数

    • AppID: 应用唯一标识。

    • AppSecret: 应用密钥,需妥善保管。

    • ts: 当前Unix时间戳(秒)。

    • Sign: 基于MD5的加密签名。

  • 签名算法Sign = md5( md5(AppSecret) + ts )

    即:先将 AppSecret 进行MD5加密得到字符串A,再将 字符串A 与 时间戳ts 拼接,最后对整个字符串再次进行MD5加密。

  • 请求地址结构POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

3. 关键命令与状态查询

根据芯步开放接口规范,你可以通过下发特定 order 指令来实现控制和查询。以下是60A断路器的核心指令集:

功能描述指令格式 (order字段)适用场景
查询开关状态{"status":1}核心功能:获取断路器当前是处于打开(1)还是关闭(0)状态。
远程闭合/分闸{"power":1}{"power":0}控制断路器通断。1代表通电,0代表断电
查询实时电量{"metering":"1"}获取实时电压、电流、功率等数据,用于能耗监控
定时关断{"reset": 3600000}立即闭合(通电),并在设定的毫秒数后断开。3600000=1小时

注意:针对60A这种大功率设备,由于搜索结果中未给出具体的单路命令,通常单路大功率设备使用 power 字段;若是多路(如3路或4路),则使用 power1power2

4. 实操:代码实现与逻辑解析

为了实现“二次开发”,你需要封装一个函数来处理签名生成和HTTP请求。以下是一个通用的 Python 实现方案,可以直接集成到你的后台系统中。

开发步骤逻辑:

  1. 初始化:配置从控制台获取的AppID和Secret。

  2. 生成签名:依据当前时间戳实时计算Sign,防止请求被篡改。

  3. 下发指令:向指定设备ID(Device ID)发送JSON格式的命令。

  4. 解析返回:处理API返回的JSON数据,获取开关状态。

代码示例:

5. 私有化部署与局域网直连

如果你的业务对数据安全或响应速度有极致要求(如工厂生产线),可以参考芯步的私有化部署方案

  • 原理:利用设备的局域网功能,将其IP地址映射到内网服务器。

  • 优势:数据不经过公网,延迟降至毫秒级(局域网内通常 < 50ms)。

  • 实现:在设备配网后,通过在局域网内扫描或查询路由器DHCP列表获取设备IP,然后将上述代码中的 api.thingboot.com 域名替换为设备的局域网IP地址即可。接口签名逻辑保持不变。

6. 总结

对60A智能断路器进行二次开发以实现远程状态查询,核心在于利用芯步提供的统一HTTP API。开发者无需关心底层无线通信协议,只需按照上述步骤处理 签名鉴权指令构造 即可。

关键点回顾

  1. 使用 {"status":1} 命令查询当前开关物理状态。

  2. 签名是连接的门禁,必须严格按照 md5(md5(Secret)+ts) 格式生成。

  3. 系统兼容公网SaaS和局域网私有化两种模式,架构灵活。

开发者在进行实际编码前,先使用Postman等工具验证签名公式和指令格式,确认无误后再集成到生产代码中。