CATALOG

芯步的智能插排(5位)通过开放的HTTP API接口,可快速实现远程开关状态查询与控制。接口采用签名认证机制,单次请求即可针对任意一路或多路插座执行通断操作。以下方案涵盖认证配置、命令构建及状态查询的完整对接流程。

1. 核心接口与认证机制

对接芯步的智能硬件,主要依赖 设备控制接口。该接口支持通过HTTP POST请求向指定设备下发指令,具有响应快(80-120ms)、支持多设备并发等特点

在开始调用前,需要准备以下三组关键信息,它们均可在芯步控制台的“开发设置”中获取:

  • AppId(应用ID):用于标识调用者的身份。

  • AppSecret(应用密钥):用于生成签名,保障接口安全。

  • Device ID(设备ID):即5位智能插排的唯一标识,可在控制台设备列表查看。

签名算法(Sign)所有API请求都需要携带签名,以防止接口被篡改或盗用。签名生成逻辑如下

  1. AppSecret 进行一次MD5加密,得到字符串 S1

  2. 获取当前的Unix时间戳(秒级),记为 ts

  3. S1ts 拼接,得到字符串 S2

  4. S2 再次进行MD5加密,得到最终的 sign

公式sign = MD5( MD5(AppSecret) + ts )

2. 对接5位智能插排的命令格式

针对5位插排,接口地址及请求参数如下:

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

  • 请求方式:POST

  • Content-Type:application/json

核心命令对照表5位插排将每一位独立作为一个控制单元,命令参数如下

功能描述命令参数 (Order)值说明
控制第1位插孔power11(开启) / 0(关闭)
控制第2位插孔power21(开启) / 0(关闭)
控制第3位插孔power31(开启) / 0(关闭)
控制第4位插孔power41(开启) / 0(关闭)
控制第5位插孔power51(开启) / 0(关闭)
批量控制batch例如:[1,0,1,0,1]
定时关闭reset1 ~ reset5毫秒数,如 60000

3. 实战场景:远程开关与状态查询

由于API是“命令下发”模式,若要获取“当前真实状态”,通常有两种实现路径:

3.1 发送控制指令(以Python为例)

以下代码演示了如何生成签名并控制第1路开启、第3路关闭:

  • 程序执行后,若返回{"code":200},仅代表平台收到了指令,实际设备是否执行成功需结合消息推送确认

3.2 方案1:通过“消息推送”实时获取状态【推荐】

这是获取设备状态最精准、最实时的方法。

  • 原理:当设备状态发生变化时(如:有人按了插排上的物理按钮、电压过载自动跳闸、或设备定时关闭),芯步平台会主动向配置的URL推送状态数据。

  • 对接流程

    1. 在芯步控制台配置“API回调URL”(如 http://yourdomain.com/api/device/callback)。

    2. 接收POST请求,解析JSON数据包,提取其中代表各线路状态的字段。

  • 优势:无需轮询,实时性强,资源消耗低。

3.3 方案2:主动查询状态曲线

如果无法配置公网回调,可以通过查询设备的历史数据来间接获取状态。

  • 原理:如果插排带有“功率计量”功能,它会不断上传电压、电流、功率数据。通过查询“设备历史数据”接口,如果当前功率为0,反向推导此时应为关闭状态。

  • 适用场景:主要用于用电量统计,作为状态判断的辅助手段。

4. 进阶功能:定时与延时控制

除了简单的开/关,接口还支持在命令中直接携带定时任务,减少服务器维护定时任务的复杂度

  • 先通后断(Point):开启第2路,持续1小时后自动关闭。order{"point2": 3600000}

  • 定时关闭(Reset):如果当前是开启状态,想在30分钟后关闭(无需关心当前是开还是关)。order{"reset5": 1800000}

5. 最佳实践和需要注意的点

  1. 处理异步状态:API返回200不代表设备真的亮了。如果业务逻辑要求严格(例如支付后必须通电),以设备上行的状态消息为准

  2. 保持时间戳同步:签名中的 ts 是Unix时间戳(秒)。请确保服务器时间与标准时间误差不超过5分钟,否则请求会被拒绝。

  3. 局域网直连:如果服务器和设备在同一局域网内,且追求极低延迟,可以在控制台开启“局域网API”功能,直接通过设备IP控制,无需经过云端

总结

对接芯步5位智能插排,开发者仅需掌握 MD5 签名和 HTTP POST 请求即可。控制指令通过 power1 ~ power5 字段精准触达每一位插孔,结合平台的消息推送机制,可完整实现“查询状态”的业务闭环。