CATALOG

芯步8路智能分体控制箱采用标准HTTP API接口,通过签名认证机制保障通信安全。以下方案涵盖对接流程、参数配置方法及不同编程语言的实现示例。

1. 核心对接原理与准备

远程参数配置的本质是通过HTTP请求向指定设备发送JSON格式的命令。芯步的接口采用极简设计,核心在于签名(Sign)的生成,以保障API调用的安全性。

在开始对接前,请准备好以下三项关键信息,它们均可从芯步物联网控制台的“开发设置”中获取

  1. AppID(应用ID): 用于标识你的应用或项目。

  2. AppSecret(应用密钥): 用于加密签名,请妥善保管。

  3. Device ID(设备ID): 控制箱的唯一标识,可在控制台设备列表查看。

2. 对接关键步骤:鉴权与请求构造

所有针对设备的操作(包括开关、配置参数、批量控制等)都通过统一的API端点完成。采用动态签名机制,能有效防止请求被伪造或篡改。

2.1 签名(Sign)生成算法

API请求的URL中必须携带两个鉴权参数:sign(签名)和 ts(时间戳)。签名生成逻辑如下

  1. 获取时间戳: 获取当前的Unix时间戳(秒级),例如 1715678900。变量名为 ts

  2. 嵌套MD5加密

    • 第一步:计算 md5(AppSecret),得到32位小写字符串。

    • 第二步:将第一步的结果与 ts 拼接成新字符串 md5(AppSecret)ts

    • 第三步:计算第二步结果的MD5值,得到最终的 sign

    公式:Sign = md5( md5(AppSecret) + ts )

2.2 API 请求结构

  • 请求地址(Endpoint)POST https://api.thingboot.com/{AppID}/device/control/?sign={YourSign}&ts={ts}

  • 请求头(Header)Content-Type: application/json

  • 请求体(Body)

3. 实现远程参数配置(场景与命令示例)

针对“8路智能分体远程多通道控制箱”,所谓的“参数配置”通常包含:单路开关控制、批量状态设置、定时通断逻辑等。以下是几种典型的配置场景实现。

3.1 第一种场景:配置单路参数(独立控制)

需求:需要远程关闭第3路通道(例如关闭接在3口的灯或电机)。命令结构:使用 power3 为键,0(关)或 1(开)为值Order参数

3.2 第二种场景:配置多路批量参数(一键全开/全关)

需求:系统维护时,需要同时关闭所有8路通道。命令结构:使用 batch 进行批量操作,relay 数组指定通道,power 指定状态。Order参数(关闭第1、3、5路):

:如果需要对所有通道操作,通常设备支持 {"power": 0} 作为全关简写。

3.3 第三种场景:配置先通后断/先断后通(临时切换/复位)

需求:实现门禁控制或设备复位,例如“断开第2路,500毫秒后自动重新接通”。命令结构:使用 reset(先断后通)或 point(先通后断),配合 interval(毫秒)。Order参数

该命令会先断开第2路,等待500毫秒后自动接通,适用于控制电子锁或重启网络设备

4. 代码实现示例

以下示例假定你已经获取了 AppIDAppSecretDeviceID,演示如何生成签名并下发“开启第1路”的命令。

4.1 Bash / Curl 示例

最直接的方式,用于快速测试接口连通性

4.2 Python 示例

适合集成到自动化脚本或后端服务中。

4.3 Java 示例

适合Android或企业级后端开发

5. 工作流程和需要注意的点

5.1 设备上线流程

在调用API之前,必须确保控制箱已连接网络。

  1. 配网:使用“芯步”微信小程序或PC控制台,通过“softAP”模式或“智能配网”将设备加入现场的2.4G WiFi网络

  2. 状态确认:设备指示灯常亮或控制台显示设备状态为“在线”,方可进行远程配置。

5.2 注意事项

  • 时区与时间戳:服务器会校验 ts 的有效性(通常允许一定时间偏差)。请确保你的服务器时间与标准时间同步,否则会返回签名过期错误。

  • 参数范围relay 数组中的通道编号范围为 1 到 8,超出范围会导致命令无效。

  • 通信协议:接口均使用 HTTPS 协议,请勿使用HTTP明文传输,以防密钥和命令在传输中被截获

  • 私有化部署:如果你的系统部署在纯内网环境,芯步支持私有化部署,此时API地址可能会变更为你本地服务器的IP,具体地址需咨询技术支持