CATALOG

60A物联网断路器的定时控制,核心在于利用设备内置的“定时通断”指令(如reset/point),而非在云端做复杂的定时任务轮询。以下方案基于芯步的统一API规范,涵盖从签名计算、单次定时到循环任务的完整实现路径。

1. 概述与准备

1.1 适用场景与目标

本方案的目标是指导开发者或系统集成商,利用芯步提供的开放HTTP API接口,实现对60A大功率物联网断路器的远程定时通断控制。典型应用场景包括:园区路灯定时开关、工厂设备错峰用电、农场灌溉自动控制、充电桩定时启停等。

1.2 核心对接资源准备

在开始编码前,请确保完成以下准备工作,获取必要的凭证:

  1. 注册与登录:访问芯步官网,注册企业/个人账号

  2. 获取密钥:登录后进入“工作台” -> “物联网控制台” -> “开发设置”,获取对接必需的参数:

    • AppID:应用唯一标识。

    • AppSecret:应用密钥,用于计算接口签名。

  3. 设备上线

    • 将60A物联网断路器接通电源。

    • 使用“芯步”小程序或控制台进行配网(确保Wi-Fi为2.4G频段)

    • 在控制台设备列表中获取目标设备的 Device ID

1.3 技术原理

芯步采用HTTP 请求作为控制通道。您的服务器通过向指定的云端地址(API Endpoint)发送POST请求,携带签名(Sign)和指令(Order),云端在验证身份后,会实时将指令推送给在线设备,实现“服务器-云-端”的毫秒级响应(80-120ms)

2. 接口鉴权与基础通信

2.1 签名计算规则 (Sign)

芯步的API采用双层MD5加密机制以保证接口调用的安全性,每次请求都必须携带实时计算的时间戳和签名

计算公式如下:ts = 当前Unix时间戳(秒级)step1 = md5(AppSecret)sign = md5(step1 + ts)注意:是字符串拼接后进行MD5

代码示例(Python):

2.2 请求地址与格式

  • 请求地址https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方法:POST

  • 请求头Content-Type: application/json

  • 请求体结构

3. 60A断路器核心控制命令详解

针对60A物联网断路器,其核心控制基于power字段。依据产品手册,该设备物理通道对应关系如下:

3.1 基础通断命令

功能描述命令JSON (order)说明
开启线路{"power":1}闭合断路器,线路导通
关闭线路{"power":0}断开断路器,线路切断
查询状态{"status":"get"}拉取当前开关状态及电量数据

3.2 定时/延时通断命令 (关键特性)

芯步的断路器支持 “先通后断”“先断后通” 的硬件级定时任务。这意味着您的服务器不需要维护一个定时队列(例如不再需要使用Cron Job去轮询发送关闭命令),只需下发一条指令,设备内部芯片会自动倒计时执行。

1. 先通后断 (Point):常用于需要短暂通电测试的场景,如路灯点亮5分钟后自动熄灭

  • 命令示例:{"point":"10000"} (接通后,保持通电10秒钟再断开)

  • 参数说明:数值单位为毫秒。例如 10000 = 10秒。

2. 先断后通 (Reset):常用于节能或定时启动场景,如空调关机1小时后重新开启。

  • 命令示例:{"reset":"3600000"} (断开后,等待1小时再自动接通)

  • 参数说明:数值单位为毫秒3600000 = 60分钟 = 1小时。

3. 保持状态 (Power)

  • 命令示例:{"power":1} (这是直接控制,无延时)。

4. “定时通断”实战对接流程

本方案针对业务中最常见的两种需求,提供具体的实现逻辑。

4.1 第一种场景:单次定时任务(例如:30分钟后自动关闭)

需求:某充电桩用户只打算充电30分钟,希望30分钟后自动断电。策略:无需在服务器设置30分钟后的定时器,直接下发point延时指令。

  • 接口调用代码逻辑

4.2 第二种场景:每日重复定时计划(例如:每天18:00开启,22:00关闭)

需求:园区路灯每天傍晚自动开,深夜自动关。策略:由于HTTP API本身是无状态的,要实现“每日循环”,通常有两种方案。推荐方案A以降低云端资源消耗。

方案 A:结合第三方定时任务框架(最通用)

利用您后端服务器的任务调度机制(如Linux Crontab, Spring @Scheduled, Windows Task Scheduler)来调用API。

  1. 设置18:00任务

    • 触发时间:每天 18:00:00

    • 调用接口:POST {"device":"xxx", "order":{"power":1}}

  2. 设置22:00任务

    • 触发时间:每天 22:00:00

    • 调用接口:POST {"device":"xxx", "order":{"power":0}}

方案 B:利用设备“硬件定时/唤醒”机制(高级)

如果您的断路器固件支持配置项修改(需查阅具体型号手册),可以通过配置项写入定时策略,让设备在断网情况下也能自动执行。

  • 涉及修改action(按钮动作)或通过特定指令写入RTC定时数据。通常商业级60A断路器在出厂时支持在控制台设置“定时任务”,原理是将定时表同步到设备Flash中

4.3 第三种场景:复杂自动化联动(例如:温度过高自动断电)

利用消息推送:芯步支持设备事件触发。

  1. 设置断路器上报频率,实时推送电流、温度数据到您的服务器(Webhook)。

  2. 后端接收数据逻辑:if 温度值 > 80℃ then 调用控制接口 {"power":0}

5. 高级配置与状态同步

5.1 开机状态设置 (断电记忆)

为了防止断电恢复后负载突然启动造成冲击,配置设备的上电状态。您可以通过API发送配置指令或直接在控制台设置。

  • 参数relay1 (开机状态)

    • 1:通电恢复时,断路器自动闭合(危险,需谨慎)。

    • 0:通电恢复时,断路器保持断开(推荐,安全)。

5.2 状态查询与确认

为确保定时任务执行成功,可通过查询接口获取当前状态。

  • 命令{"status":"get"}

  • 返回示例:系统会返回当前power状态,以及metering(计量)数据如电流、电压值,以此校验控制是否生效

5.3 错误处理

在对接过程中,常见错误码及处理:

  • 签名错误:检查AppSecret是否正确,以及拼接顺序是否为 md5(AppSecret) + ts

  • 设备离线:返回类似“设备不在线”报错,需要检查现场网络(2.4G信号)或启用离线重试机制。

  • 命令无效:检查order字段是否为合法的JSON字符串,且参数单位是否为毫秒(如point不支持秒,必须传毫秒字符串)。

6. 总结

对接芯步60A断路器实现定时通断的关键在于:

  1. 正确的签名机制是调通接口的前提。

  2. 充分利用 point(先通后断)和reset(先断后通) 这两个硬件级指令,可以极大地简化服务器端的定时任务逻辑,实现精准的倒计时控制

  3. 对于长期的、重复的循环定时,结合后端编程语言的定时任务框架(如Spring Task、Cron、Celery)调用基础通断API即可轻量实现。

通过上述步骤,开发者可在10-30分钟内完成从注册到第一条定时指令的闭环控制。