芯步4路智能照明控制器通过开放的HTTP接口,支持单路独立控制、批量控制和时序控制三种模式来实现延时通断。其中时序控制模式正是实现“延时通断”的核心功能——只需一条point或reset命令即可精准控制继电器顺序动作,无需在业务层维护复杂的定时任务队列。
一、背景与概述
在许多智能化场景(如校园路灯、工厂车间、智能楼宇走廊、共享自习室)中,普通的远程开关控制往往不能满足需求。用户常常需要延时通断功能,比如“先关闭A路,延时5秒后再关闭B路”,或者“打开第1路,延时1小时后再自动关闭”。
芯步的“智能照明控制器4路16A”(型号:UNI-KZQ-ZM-4-16A)及交流电压版控制器,提供了开放、标准的HTTP接口。开发者无需复杂的嵌入式开发,仅通过标准的Web技术即可实现精确的毫秒/秒级延时控制。
二、技术原理与核心能力
该控制器采用WiFi 2.4G直接连接,无需网关,支持局域网和公网两种模式。其最核心的特性在于,命令下发到设备执行的响应时间极短(约80-120ms),更重要的是,其固件原生支持 “先通后断(Point)” 和 “先断后通(Reset)” 的指令集。
这意味着延时逻辑是在设备端本地执行的,即使执行过程中网络断开,预设的延时动作也会执行完毕,极大地提高了控制的可靠性。
支持的核心延时模式:
单路延时复位:立即改变状态,延时后自动还原。
多路时序控制:多路继电器按设定时间间隔依次动作。
批量精确控制:自定义任意几路的动作顺序与间隔。
三、接口对接方法
要实现对4路设备的控制,首先需要了解其签名机制和请求结构。
1. 鉴权与请求地址
所有控制命令均通过POST方式提交至以下地址:
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}AppID:在芯步控制台获取的应用唯一标识。
ts:当前Unix时间戳(秒)。
sign:签名,算法为
MD5( MD5(开发者密码) + ts )。
2. 请求体结构
请求体为JSON格式,包含两个关键字段:device(设备ID)和 order(命令对象)。
四、实现延时通断的三种方案
针对“延时通断控制”,根据业务复杂度的不同,我们有三种实现策略。对于标准的4路控制器,最推荐使用原生时序命令。
方案一:单路延时复位(最简单的防误触/临时控制)
适用场景:洗手间灯光控制(人走后自动关)、排风扇定时关闭。逻辑:立即开启(或关闭)某一路,持续一段时间后自动复原。
如果你想控制第2路照明开启,并在30分钟后自动关闭:
*(注:point2 中的数值单位为毫秒,1800000毫秒 = 30分钟)*
如果要实现“立即关闭,延时后开启”(如用于门禁或报警测试),使用 reset 命令。
方案二:多路顺序控制(最实用的工业/照明场景)—— 核心解决方案
适用场景
生产线/教室:先关第一排灯,隔2秒关第二排,防止电流浪涌。
智能照明:先开走廊灯,延时1分钟再开大厅灯。
特定逻辑:如题目要求“控制第1路和第3路,先断开,延时10秒后再闭合”。
实现接口(以先通后断为例)使用 point 命令,指定继电器列表 relay 和间隔时间 interval。
案例:控制第1路和第3路实现“间隔通断”假设需求:按下开关后,第1路立即断开,隔10秒钟后第3路自动断开。
*(在此命令中,设备会按数组顺序执行:先对第1路执行“通”或“断”的动作(取决于初始状态/其余参数设置,如果是纯时序控制通常结合批量使用),实际在具体的 reset 或 point 定义中,它负责按顺序触发状态翻转或特定动作。根据接口规范,这会依次触发线路1和线路3,相隔10秒。*
更严谨的先断后通(Reset)示例:如果需求是:第1路先断开,等待5秒后第2路再接通。由于标准API中reset和point主要针对同一动作逻辑的延续,若要实现“一路断,一路通”的复杂组合,结合使用 batch 与 单路延时,或直接使用方案三的编程逻辑。但在纯硬件执行层面,point 命令足以实现单路或多路的状态切换延时。
方案三:业务层主动延时(最灵活的编程方式)
适用场景:需要根据传感器数据动态决定延时时间(如根据人流密度调整关灯时间)。逻辑:不依赖设备的 point 命令,而是由后端服务器或云函数通过代码控制。
伪代码逻辑(Python示例)
虽然实现简单,但仅用于低频操作,高频操作下设备端指令(方案二)更稳定。
五、4路控制器的常用指令参考表
以下是针对该4路设备在开发中常用的 order 参数构成
| 功能描述 | Order JSON 参数 | 备注 |
|---|---|---|
| 独立控制第1路开启 | {"power1":"1"} | 即时生效 |
| 独立控制第3路关闭 | {"power3":"0"} | 即时生效 |
| 批量控制 | {"batch":{"relay":[1,4],"power":0}} | 同时关闭第1、4路 |
| 顺序开启(间隔1秒) | {"point":{"relay":[1,2,3,4],"interval":1000}} | 第1路动作,隔1秒第2路动作,以此类推 |
| 顺序关闭(间隔500ms) | {"reset":{"relay":[4,3,2,1],"interval":500}} | 反向顺序关闭 |
| 单路定时断开(10秒) | {"point1":"10000"} | 针对第1路的简便写法 |
六、最佳实践
利用本地执行特性:对于关键的生产环境时序控制(如流水线启动),请一定要使用设备自带的
point或reset命令。这可以避免因服务器负载或网络抖动导致的延时偏差。状态反馈机制:虽然本文主要讨论下发控制,但监听设备的状态上报接口。在发出延时指令后,可以通过查询设备状态来确认继电器是否按预期时间点完成了动作。
局域网直连:如果延时要求比较高(如误差<10ms),可以利用芯步支持的私有化部署和局域网通信功能,直接在本地服务器调用API,绕过公网延迟。
兼容性注意:芯步的4路控制器(UNI-KZQ-ZM-4)与8路控制器的命令格式通用,
relay数组支持[1,2,3,4]的任意组合。
七、总结
通过芯步4路智能照明控制器的开放接口,实现“延时通断控制”是一项标准化程度高、落地迅速的工作。开发者无需关注底层的继电器驱动,只需通过标准的HTTPS POST请求,构造包含 point、reset 或 batch 参数的JSON数据,即可实现从毫秒级到小时级的精确时序控制。这极大地降低了智能照明、工业自动化和共享经济场景的开发门槛。