CATALOG

芯步的智能硬件基于开放HTTP接口,可通过签名鉴权后直接下发指令。针对5位插排的远程定时任务,我整理了一套完整的二次开发方案,涵盖单路/多路控制、内置计时器实现“伪定时”以及服务端轮询调度三种实现路径,供你参考。

1. 技术背景与接口概述

芯步的智能插排(以4位/5位/8路插排为例)核心优势在于其开放的HTTP API接口。这意味着你可以绕过官方App,直接通过任何支持HTTP协议的语言(Python、Java、Go、Node.js、PHP等)或工具(如Postman、curl)与其云端进行交互,从而实现与企业现有系统(OA、ERP、自建IoT平台)的深度集成

核心接口参数解析:在开始开发前,需明确5位插排的控制命令格式。基于芯步通用接口规范,控制指令通常通过POST请求发送,关键参数如下:

  • device :设备唯一ID(在芯步控制台获取)。

  • order :控制命令(JSON字符串格式)。

    • 对于5位独立控制的插排,通常使用 power1 ~ power5 分别代表第1至第5位插孔。

    • 或者使用 batch 命令进行批量控制。

2. 核心实现方案:远程定时任务

实现“远程定时控制”通常有三种技术路径,根据你的实际需求(如代码侵入性、精准度、是否依赖公网)选择最适合的一种。

方案一:基于设备内置“延时器”的伪定时(最快实现)

芯步的接口支持 point(先通后断)和 reset(先断后通)指令。这实际上是在调用接口时告诉设备:立即执行动作,并在X毫秒后自动执行相反动作适用场景: 简单的烘干、充电保护(如电动车充电2小时自动断电)、通风换气。

  • 优点: 无需维护额外的服务器定时任务,指令下发后即生效,即使手机/服务器离线,设备也会执行完毕。

  • 缺点: 仅支持单次倒计时,不支持循环周期(如每天8点执行)。

开发示例(控制第3位插孔开启1小时后自动关闭):

方案二:服务端主动轮询与调度(最专业、最灵活)

这是实现“每天8点开启”、“工作日执行”等复杂Cron表达式的标准方案。由你的后端服务器负责计时,到了指定时间,服务器主动调用芯步API进行控制。

架构流程:

  1. 任务存储:在MySQL/Redis中存储任务表,包含:执行时间(Cron)、目标设备ID、目标插孔(1-5)、动作(开/关)。

  2. 调度器:使用Linux Cron、Python APScheduler、Java Quartz或Node.js node-cron。

  3. 执行器:定时触发时,调用芯步API执行 {“power1”: “1”} 等指令。

Python 实现代码示例:

方案三:基于设备主动上报的联动(高级自动化)

虽然芯步设备主要被动接收HTTP指令,但5位插排若支持计量功能,你可以实现“联动”逻辑。例如:监测到功率小于5W(电器关机)持续10分钟 -> 自动发送指令断开插排电源,实现“零待机功耗”。

开发思路:

  1. 设置Webhook或通过API轮询获取设备状态(/device/status)。

  2. 如果状态满足条件(如 power < 5),触发 control_socket(channel, “0”)

3. 针对5位插排的特殊指令处理

相比于1位的墙壁插座,5位插排的接口命令稍有不同。根据芯步同类产品文档,控制多孔插排需注意:

  1. 单控指令

    • {“power1”: “1”}:打开第一个插孔。

    • {“power3”: “0”}:关闭第三个插孔。

    • {“point2”: “5000”}:第二个插孔立即开启,5秒后关闭。

    • {“reset4”: “10000”}:第四个插孔立即关闭,10秒后开启(类似重启功能)。

  2. 批量指令

    • 如果你想一键开启所有接口,使用 batch 命令:

    • {“batch”: “on”}{“batch”: “off”}

4. 实战步骤:从0到1二次开发流程

第一步:环境准备

  1. 注册芯步开发者账号。

  2. 在控制台创建“应用”,获取 AppIDAppSecret(用于签名)。

  3. 将5位插排配网绑定,在设备列表中获取 DeviceID

第二步:接口调试使用Postman或curl工具测试接口连通性。确保签名算法正确。

第三步:业务逻辑集成

  1. 在你的业务系统(如管理后台)中,创建一个“定时任务配置”界面。

  2. 数据库表结构:

    • id (主键)

    • device_id (设备ID)

    • outlet_index (插孔编号 1-5)

    • cron_expression (Cron表达式,如 0 30 7 * * ?)

    • action (on/off)

    • status (启用/禁用)

第四步:安全性考虑

  • 签名防盗用:签名算法请一定要在后端计算,严禁在前端(App/Web前端)直接暴露 AppSecret

  • 局域网控制:如果你的服务器和插排在同一个局域网(如工厂内部),且追求更低延迟,可以部署芯步的私有化版本,直接通过局域网IP调用,不经过外网

5. 总结

通过芯步的开放接口对5位智能插排进行二次开发实现远程定时任务,其本质是 “业务层逻辑 + 接口层调用” 的分离:

  1. 简单倒计时:直接用 pointreset 参数,适合一次性延时。

  2. 复杂周期任务:使用后端定时框架(如Quartz、APScheduler)配合 powerX 参数,可以实现无限灵活的周计划、月计划。

  3. 智能联动:利用计量数据反馈,实现节能策略。

这套方案不仅适用于办公室电脑定时开关、机房服务器远程重启,也适用于工厂设备的自动化班次管理。