芯步的智能断路器开放了标准的HTTP API,通过 order 参数中的 point、reset 和 delay 指令即可实现延时通断控制,无需在服务端维护定时任务队列。以下是具体的对接方案。
1. 解决概述
针对50A智能断路器的延时通断控制需求,本方案基于芯步开放的HTTP API接口,提供精准定时执行与相对延时动作两种实现模式。
通过调用API下发的point(点动/先通后断)、reset(复位/先断后通)及delay(延时断开)指令,开发者无需维护复杂的定时任务队列,即可实现对50A大电流负载的时序控制,适用于电机保护、设备预热、顺序上电等工业及商业场景。
2. 接口对接基础准备
在开发前,请确保已完成以下准备工作:
获取凭证:登录芯步开发者控制台,获取唯一的
AppId和AppSecret。设备ID:在控制台设备管理页面或通过接口查询,获取目标50A智能断路器的唯一标识
DeviceId。签名算法:采用
md5(md5(AppSecret) + ts)双层嵌套加密方式,ts为当前Unix时间戳(秒)。
3. 延时通断控制实现方案
针对50A断路器(假设包含4路独立控制通道,单路最大支持50A),主要通过 order 参数中的特定组合实现不同的延时逻辑。
核心API地址POST http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
3.1 方案一:自带延时的单次动作
适用场景:接通电路后保持一段时间自动断开(如设备触发、声光报警控制)。
通过 {"powerX":1} 命令接通后,配合设备的“定时复位”属性,使设备在指定毫秒后自动断开。此操作完全在设备端执行,不占用服务器资源。
实现逻辑:下发接通命令,并在参数中写入断开倒计时。
命令示例控制第1路(50A通道)立即接通,并在 3600000毫秒(1小时) 后自动断开。
注:
reset参数为自动断开倒计时,单位为毫秒。
3.2 方案二:先通后断
适用场景:模拟“点动”效果或产生一个固定宽度的脉冲信号。
通过 point 指令实现线路立即导通,持续特定时间后自动关闭。
实现逻辑:系统下发
point命令,指定继电器ID和间隔时间。命令示例控制第2路接通,持续 5000毫秒(5秒) 后断开。
参数解析:
relay数组指定控制的线路;interval指定延时断开的毫秒数。
3.3 方案三:先断后通
适用场景:设备“复位”或“软重启”,解决设备死锁问题。
强制断开线路,等待一定时间后自动重新接通。
实现逻辑:下发
reset指令(注意此处与方案一的属性名同名,但作为对象使用时功能不同)。命令示例断开第3路,等待 10000毫秒(10秒) 后自动重新接通。
注:此操作会先断开线路,延时结束后再闭合。
3.4 方案四:非阻塞式定时任务
适用场景:严格的定时控制(如早晚高峰切换)。
如果在系统层面需要精准的“绝对时间”控制(如:今天下午3:00断开),在服务端利用Cron表达式或定时器调度上述API。由于API调用本身是瞬发的,服务端只需在目标时间点触发上述命令即可,无需在服务端维护长连接或倒计时状态机。
4. 代码实现示例
以下使用Python示例演示如何调用API实现“延时断开”功能。代码涵盖签名生成与指令下发。
5. 关键注意事项
接口响应延迟与执行时机:芯步接口响应极快(约80-120ms),但若需要长时间延时(如延时数小时),强烈使用方案一中的内置原子命令。这能避免因网络波动或服务器重启导致的计时中断 。
50A负载安全考量:50A属于大电流应用,在进行“先断后通”操作时,设置足够的
interval时间(通常大于3秒),以利于电弧熄灭和断路器机械储能 。多路联动:该断路器若支持多路,可使用
batch指令同时控制多路的延时状态 。状态验证:执行延时控制后,可通过调用设备状态查询接口,核实断路器当前的“实际触点状态”与“延时任务队列”,确保控制逻辑生效。
6. 总结
通过芯步的开放接口,开发者仅需通过简单的HTTP请求构造特定的order JSON结构,即可为50A智能断路器赋予强大的延时通断能力。方案利用了设备端的硬件定时机制(参数reset与point),相比纯软件定时方案具有更高的可靠性和实时性,完美解决了大功率设备顺序启动、周期性通断及自动复位等物联网场景需求。