CATALOG

芯步4路交流输出控制器支持通过HTTP接口进行远程独立控制,单路10A负载能力可满足照明、电器等设备的通断管理。定时任务的核心思路是:由业务系统定时触发API调用,或利用平台提供的定时/联动功能。以下从接口对接、定时实现方案到代码示例进行说明。

解决方案:基于芯步开放接口对接4路交流输出控制器实现远程定时任务

1. 产品概述与核心能力

芯步的智能控制器4路|交流电压版是一款支持WiFi联网的工业级/商业级远程控制设备。

  • 硬件参数:支持AC 85-265V宽电压工作,单路最大负载10A(约2200W),总负载不超过2500W。

  • 核心接口:开放完整的HTTP API,支持开发者通过云端API对设备进行读写操作。

  • 适用场景:共享自习室(控制电源插座)、户外广告灯箱定时开关、农业灌溉电磁阀控制、老旧设备远程改造等。

2. 整体对接架构

要实现远程定时任务,不需要依赖固定的公网IP或复杂的网络配置,采用标准的云-端架构即可:

  1. 设备层:4路控制器通过WiFi连接互联网,维持与芯步云平台的长连接。

  2. 云平台层:芯步开放平台提供 api.thingboot.com 接口,负责鉴权、设备状态存储及指令转发。

  3. 业务应用层:你的业务服务器(SaaS)通过调用HTTP接口,结合定时任务调度框架(如Linux Crontab、Jenkins、Spring Scheduler等),在指定时间下发指令。

3. 详细对接步骤

3.1 前期准备:获取凭证与设备ID

在开始编码前,需要先准备好以下信息:

  1. 注册开发者账号:登录芯步开放平台。

  2. 获取AppID与开发密码:在控制台创建应用后,系统生成唯一的 AppIDSecret(开发者密码)。

  3. 添加设备:将4路控制器配网绑定到账号下,获取唯一的 Device ID(通常为一串数字,如 820720)。

3.2 接口鉴权机制

所有API请求均需携带签名 sign 和时间戳 ts,以防止接口被恶意篡改。

  • URL格式http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • 签名算法

    sign = md5( md5(开发密码) + "." + 时间戳(ts) )

    注:需先将开发密码进行32位小写MD5,再拼接小数点与时间戳,最后整体再次MD5。

3.3 核心API:设备控制指令

针对该4路控制器,order 参数支持精细化的独立控制和场景控制。共有3种调用模式:

方式一:单路独立控制(最常用)直接控制第1路到第4路的开关。

  • 参数格式{"power1": 1} (1为通,0为断)

  • 示例:关闭第2路,保持其他路不变。

方式二:多路批量控制一次性发送所有路的状态,原子性执行。

  • 参数格式{"power1":1, "power2":0, "power3":1, "power4":0}

  • 示例:打开第1、3路,关闭第2、4路。

方式三:高级功能(脉冲/点动模式)非常适合控制电机、电磁阀或需要短暂通电的设备(如自动卷闸门、门禁电锁)。

  • 先通后断 (point):让线路导通若干毫秒后自动断开。例如控制道闸抬杆后自动断电。

    • order: {"point": {"relay":[1,2], "interval":1000}} (第1、2路导通1秒后断开)

  • 先断后通 (reset):常用于报警器复位。

    • order: {"reset": {"relay":[3], "interval":2000}}

4. 实现“远程定时任务”的三种方案

根据你的业务系统架构,可以选择以下最适合的方案来添加定时逻辑:

方案一:业务系统内置调度(推荐,灵活度最高)

适合已有后端服务器(Java/Python/PHP/Node.js)的开发者。不使用设备自身的循环定时,而是由你的服务器在特定时间触发指令。

  • 逻辑:在你的服务器中设置定时任务 -> 时间到达 -> 触发HTTP请求调用芯步API。

  • 实现示例(Node.js + node-schedule)

方案二:利用芯步云平台的“定时任务”功能

如果不想维护服务器,或代码开发能力有限,可直接在芯步官方控制台配套App中进行配置。该产品原生支持“远程定时任务”,你只需在设备设置界面添加时间点即可,无需编写一行代码。这是最快实现“设置即忘”的方案。

方案三:设置系统联动

通过API配合数据库,实现复杂的循环逻辑。例如:

  • 循环定时:每隔2小时,让第4路闭合5秒(用于排风系统换气)。

  • 条件定时:根据传感器数据,在特定阈值触发定时任务。例如检测到温度 > 30度,启动第2路风扇,运行30分钟后停止。

5. 关键注意事项与异常处理

  1. 请一定要处理API返回结果接口返回 {"code":200} 仅代表云平台收到了指令,不代表设备已执行。由于设备可能会离线(WiFi断连),需要监听云平台的异步消息推送(设备上行反馈)才能确认设备真实状态。

  2. 设备离线重连机制该控制器具备断网自动重连功能。在定时任务设计时,设置超时重试机制。例如:若下发指令后未收到ACK,每隔5秒重试一次,最多重试3次。

  3. 安全与负载限制

    • 总功率限制:虽然单路支持10A,但整体总负载不得超过2500W。在定时开启多路高功率负载(如多台空调)时,设置interval错峰启动,避免瞬间电流过大。

    • HTTPS:生产环境请使用 https:// 接口进行通信。

  4. 时区问题如果你的服务器部署在云上(如UTC时间),请请一定要在定时任务逻辑中将时间转换为设备所在时区(北京时间 UTC+8)的时间,否则会出现凌晨开灯的乌龙情况。

6. 总结

通过对接芯步4路交流输出控制器的HTTP API,对接成本极低。开发者只需关注业务逻辑层的定时调度机制,无需处理复杂的网络穿透问题。无论是通过自建服务器的Cron脚本,还是调用云端API实现的循环任务,均能稳定实现对照明、电机等设备的无人值守自动化控制。