CATALOG

8路智能交流控制器的核心价值在于将传统的“人工操作”升级为“程序化自动控制”。本文基于芯步UNI-KZQ-AC-8等产品的开放HTTP API接口,提供一套完整的定时启停解决方案。

1. 项目概述与目标

在现代智能化场景(如共享自习室、自动化养殖、无人售货柜、工厂设备监控)中,往往需要对多个交流负载(如照明、风扇、电机、充电插座)进行按需、精准、自动化的电源管理。芯步提供的 8路智能交流控制器(如型号 UNI-KZQ-AC-8)具备 8 路独立控制的继电器输出,支持 85-265V 交流直通,单路最大负载可达 2200W

本方案的目标是通过调用该设备开放的 HTTP API 接口,构建一套稳定的“定时自动启停控制系统”。解决传统人工控制效率低、容易遗忘、无法精确到秒级/周期控制的痛点,实现“设备上云,控制自动化”。

2. 系统设计

本方案采用典型的物联网三层架构,利用设备直连 WiFi 的特性,无需额外购买网关即可通过云端 API 下发指令。

  • 设备层(智能控制器):部署在现场电箱内,接入 220V 电源,继电器输出端与被控设备(1-8路负载)串联。

  • 网络传输层:设备通过 2.4GHz WiFi 连接互联网;控制端通过 4G/固网连接云端。

  • 应用控制层(你的业务系统)

    • 定时触发器:利用 Linux Crontab、Windows Task Scheduler 或代码内置调度器(如 Quartz)触发。

    • 业务逻辑层:Python/Java/PHP 编写的脚本,计算签名,调用 API。

    • 云平台:芯步开放 API 网关 api.thingboot.com

3. 前置准备工作

在开发代码之前,需要进行硬件配网与开发密钥获取:

  1. 设备配网:给 8 路控制器上电,使用“芯步”App 或小程序,按照说明书将设备配网至本地 2.4GHz WiFi 网络(支持 5 组网络备援)。

  2. 获取凭证

    • 登录芯步开发者控制台,获取 AppIDAppSecret

    • 在控制台找到已配网设备的唯一标识符 device_id

  3. 接口协议确认:确认设备支持 HTTP 命令,单路控制指令格式为 {"powerX": 1}(开)或 {"powerX": 0}(关),其中 X 为 1 至 8

4. 核心技术实现:签名计算与指令下发

芯步的 API 采用动态签名验证机制,禁止将密码明文传输,这是保障账户安全的关键。

4.1 动态签名生成规则

为了防止请求被伪造,每一请求都必须携带动态变化的 sign 参数。计算规则(按顺序):

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

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

  3. 拼接字符串 S1 + ts

  4. 对拼接后的字符串进行第二次 MD5 加密,结果即为 sign

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

4.2 API 调用代码示例 (Python)

以下脚本展示了核心逻辑:如何动态生成签名,并向第 1 路继电器下发“开启”命令。

4.3 高级指令

  • 批量控制全开{"power": 1}

  • 批量控制指定路{"batch":{"relay":[1,3,5],"power":0}}(关闭 1、3、5 路)

5. 实现“定时自动启停”的具体方案

不需要依赖厂商的第三方平台定时任务,你可以在自己的服务器上实现更复杂、更私密的定时策略。

方案 A:简单固定时间(如:农场灌溉/路灯)

适用场景:每天上午 8:00 开启第 1 路水泵,晚上 18:00 关闭。

实施方法:在服务器中设置 Crontab 任务。

方案 B:循环周期任务(如:共享自习室座位)

适用场景:用户下单购买 2 小时使用时长,到期自动断电。

实施方法:结合 Redis 缓存或异步任务队列(如 Celery)。

  1. 用户扫码支付 -> 业务系统下发指令 {"power2":1}(座位通电)。

  2. 记录任务:系统将 (DEVICE_ID, 线路2) 存入延迟队列,设置延迟时间 7200 秒。

  3. 时间到达:Celery Worker 消费任务,调用 API 下发 {"power2":0}(断电)。

方案 C:多时段复杂逻辑

如果你的设备支持 RTC(实时时钟)或你可以通过代码维护,可以针对每日排班设计高精度的循环检测逻辑,这在工厂设备预热、实验室灯控等场景中尤为实用

6. FAQ 与 注意事项

6.1 通信安全与稳定性

  • 签名时效ts(时间戳)通常有效期为几分钟(具体参考官方文档),主要作用是防重放攻击,请确保服务器系统时间准确

  • 网络环境:该控制器仅支持 2.4GHz WiFi,不支持 5GHz。若安装在金属电箱内,信号可能衰减,外接天线(如有外接版本)

  • 局域网直连:如果你处于内网环境且要求低延迟,该设备支持私有化部署,可直接通过局域网 IP 发请求,无需走外网云 API

6.2 负载注意事项

  • 感性负载:水泵、电机等感性负载在启动瞬间电流极大。虽然控制器支持 2200W,但如果接电机,降额使用(如 700W 以内),或外接交流接触器进行缓冲,以防继电器触点粘连烧毁

7. 总结

通过芯步 8 路控制器的开放 HTTP 接口,我们可以利用 md5(md5(Secret)+ts) 签名算法安全地对接云平台,进而结合服务器自身的定时任务系统(如 Crontab 或延迟队列)实现高自由度的定时自动启停。

这套方案不仅实现了基本的开关功能,更重要的是通过 API 接口将物理设备纳入了业务逻辑闭环,实现了“软硬一体化”的自动控制。