CATALOG

芯步的8路智能控制箱开放了完整的HTTP API接口,支持单路/批量控制、定时任务和签名认证。以下方案涵盖接口对接、签名生成、定时调度三个核心环节,可直接落地。

解决方案:基于芯步开放接口实现8路智能控制箱的定时任务控制

1. 概述

本方案的目标是指导开发者如何利用芯步提供的开放HTTP API接口,对接 8路智能控制箱(产品型号:UNI-KZQ-TY-8 或 UNI-KZQ-ZM-8-10A),实现定时任务对指定端口的启停控制

通过该方案,您可以远程、自动化地控制连接在控制箱8个继电器上的各类设备(如照明、电机、电磁锁等),广泛应用于智能工厂、农业灌溉、楼宇照明定时控制等场景。

2. 对接准备

在开始编码之前,请确保完成以下准备工作:

  1. 硬件就绪:8路智能控制箱已通电并连接Wi-Fi(2.4GHz),确保设备在线。

  2. 平台账号:注册芯步开放平台账号。

  3. 获取凭证:在平台控制台的“开发设置”中获取 AppIDAppSecret

  4. 设备ID:在控制台获取目标8路控制箱的 Device ID(如 1878)。

3. 接口鉴权与签名机制

芯步的API均需携带签名进行身份验证。签名生成算法规则如下:Sign = md5( md5(AppSecret) + ts )

  • AppSecret:开发者密钥。

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

  • +:字符串拼接。

示例流程假设 AppSecret = "abc123"ts = 1714819200

  1. 计算 MD5("abc123") -> 假设结果为 "xyz..."

  2. 拼接字符串:"xyz..." + "1714819200"

  3. 计算最终签名:MD5("xyz...1714819200")

注意:所有HTTP请求头中需包含 Content-Type: application/json,并在URL参数中携带 signts

4. 对接方案实现:定时任务控制

由于设备本身支持“远程定时任务”特性,但更灵活的工业级方案通常由您的业务服务器负责定时调度。我们推荐采用 “业务服务器定时 + API即时控制” 的架构。

以下是实现“每天早上8点打开第1路,晚上6点关闭第1路”的核心代码逻辑。

4.1 单路控制命令

通过向 /device/control/ 接口发送POST请求,控制单一路的通断。

  • 打开第1路{"power1": 1}

  • 关闭第1路{"power1": 0}

4.2 批量控制与高级指令

8路控制箱支持丰富的控制指令,不仅是简单的开关:

指令类型Order JSON 示例功能描述
单路控制{"power3":1}仅打开第3路
全部控制{"power":0}关闭所有线路(全关)
任意组合{"batch":{"relay":[1,3,5,7],"power":1}}同时打开1、3、5、7路
先通后断{"point":{"relay":[2,4],"interval":1000}}第2、4路先接通,间隔1秒后自动断开
先断后通{"reset":{"interval":500}}所有线路先断开,间隔0.5秒后全部接通
4.3 代码示例(Python + 定时任务调度)

以下代码使用Python实现了签名生成、设备控制封装,并结合 schedule 库实现了定时任务。

5. 高级配置:利用设备本地定时

如果希望不依赖外部服务器定时(即断网或电脑关机也能执行),可以直接利用设备自带的 “远程定时任务” 功能。

  • 实现的方式是:调用创建定时任务的API接口(需查阅具体平台文档),将定时规则直接写入设备或云端。

  • 优点:低延迟,不受业务服务器宕机影响。

  • 适用场景:周期固定、无需复杂逻辑触发的场景(如路灯定时开关)。

6. 注意事项

  1. 负载安全

    • 8路控制箱单路最大负载:阻性负载(如白炽灯)2200W,感性负载(如电机、LED灯)350W

    • 总负载不得超过 4400W。控制大功率设备时外接交流接触器。

  2. 网络稳定性:设备仅支持 2.4GHz WiFi,请确保现场信号覆盖良好。

  3. 签名时效:时间戳 ts 为秒级单位,服务器会校验时间戳的有效性(通常允许5分钟误差),请确保设备系统时间准确。

  4. 私有化部署:如果您对数据安全要求比较高,芯步该系列产品支持私有化部署,可将API切换到局域网IP,无需经过公网。

7. 总结

通过芯步提供的标准HTTP接口,对接8路智能控制箱实现定时控制是非常便捷的。开发者只需掌握简单的签名算法并调用 /device/control 接口,配合轻量级的定时任务框架(或使用平台自带的定时功能),即可快速搭建一套稳定、可靠的远程自动化控制系统。