60A物联网断路器的定时控制,核心在于利用设备内置的“定时通断”指令(如reset/point),而非在云端做复杂的定时任务轮询。以下方案基于芯步的统一API规范,涵盖从签名计算、单次定时到循环任务的完整实现路径。
1. 概述与准备
1.1 适用场景与目标
本方案的目标是指导开发者或系统集成商,利用芯步提供的开放HTTP API接口,实现对60A大功率物联网断路器的远程定时通断控制。典型应用场景包括:园区路灯定时开关、工厂设备错峰用电、农场灌溉自动控制、充电桩定时启停等。
1.2 核心对接资源准备
在开始编码前,请确保完成以下准备工作,获取必要的凭证:
注册与登录:访问芯步官网,注册企业/个人账号。
获取密钥:登录后进入“工作台” -> “物联网控制台” -> “开发设置”,获取对接必需的参数:
AppID:应用唯一标识。
AppSecret:应用密钥,用于计算接口签名。
设备上线
将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。
设置18:00任务
触发时间:每天 18:00:00
调用接口:
POST {"device":"xxx", "order":{"power":1}}
设置22:00任务
触发时间:每天 22:00:00
调用接口:
POST {"device":"xxx", "order":{"power":0}}
方案 B:利用设备“硬件定时/唤醒”机制(高级)
如果您的断路器固件支持配置项修改(需查阅具体型号手册),可以通过配置项写入定时策略,让设备在断网情况下也能自动执行。
涉及修改
action(按钮动作)或通过特定指令写入RTC定时数据。通常商业级60A断路器在出厂时支持在控制台设置“定时任务”,原理是将定时表同步到设备Flash中。
4.3 第三种场景:复杂自动化联动(例如:温度过高自动断电)
利用消息推送:芯步支持设备事件触发。
设置断路器上报频率,实时推送电流、温度数据到您的服务器(Webhook)。
后端接收数据逻辑:
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断路器实现定时通断的关键在于:
正确的签名机制是调通接口的前提。
充分利用
point(先通后断)和reset(先断后通) 这两个硬件级指令,可以极大地简化服务器端的定时任务逻辑,实现精准的倒计时控制。对于长期的、重复的循环定时,结合后端编程语言的定时任务框架(如Spring Task、Cron、Celery)调用基础通断API即可轻量实现。
通过上述步骤,开发者可在10-30分钟内完成从注册到第一条定时指令的闭环控制。