芯步的10A86型智能插座开放了标准的HTTP接口,实现延时控制其实只需要掌握一个核心参数。下面我来详细说说具体的对接方案。
一、 搞懂核心:怎么实现“延时”?
通常我们想远程控制插座,就是直接“开”或“关”。但芯步的接口里有一个很贴心的 reset 参数(也可以叫先断后通)。
你想要的“延时通断”,其实就是让插座先断电,等待一段时间,再自动恢复通电。这个动作在API里只需要一条指令就能完成,不需要你在服务器上自己写定时器去算时间。
二、 对接前的准备工作
在写代码之前,你需要拿到三把“钥匙”:
AppID (应用ID) 和 AppSecret (应用密钥)
登录芯步控制台,在“开发设置”里就能看到。这相当于你调用接口的账号密码。
Device ID (设备ID)
把你买好的10A86型插座配网,添加到控制台后,在设备列表里能看到一串数字,那就是设备的唯一ID。
接口地址
控制接口的URL格式是:
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
三、 签名机制(稍微注意一下)
芯步的接口为了安全,需要签名验证。虽然听着复杂,其实就是按照规则生成一个字符串 sign。规则是:sign = md5( md5(AppSecret) + ts )
通俗解释: 先把你的密钥(AppSecret)进行一次MD5加密,然后拼接上当前的时间戳(ts),再把拼接后的字符串整体做一次MD5加密。这一步几乎所有语言的SDK都有示例代码,复制粘贴就行。
四、 实操:发送“延时通断”指令
假设你的需求是:想让鱼缸水泵断电 5 分钟(300秒),之后自动开启。或者:让热水器断电 1 小时(3600秒)后恢复。
我们只需要调用上述接口,给设备下发 reset 命令。
1. 请求示例(这里用万能的 curl 演示)
2. 参数详解
在 order 对象里,我们传了 "reset": "300000"。
reset(命令):代表“先断后通”。插座会立刻执行“断开”动作。300000(参数):单位是毫秒。300000 毫秒 = 300 秒 = 5 分钟。
如果你填 3600000,就是一小时后自动开启。
五、 场景应用案例
为了让更直观,这里列几个实际场景的代码逻辑(伪代码层面):
| 你的需求场景 | 下发的JSON数据 | 插座表现 |
|---|---|---|
| 第一种场景:重启路由器(断电10秒重启) | {"order": {"reset": "10000"}} | 插座立即关闭,10秒后自动打开。 |
| 第二种场景:电动车充电(充满后自动断电?这里演示定时关) | {"order": {"power": "0"}} | 直接关闭,不再开启(普通关闭)。 |
| 第三种场景:排风扇(开启吹风30分钟后自动关) | 注意:如果是“先通后断”可以用 point。{"order": {"point": "1800000"}} | 立即开启,30分钟后自动关闭。 |
六、 一些
别忘了处理错误:虽然接口很简单,但在代码里最好判断一下返回的
code是不是 200。如果返回错误码,根据文档排查一下是不是sign算错了或者设备离线了。时间别太短:如果要测试,最好设置3秒(3000毫秒)以上。因为指令下发、网络传输需要一点时间(大约80-120ms),加上继电器动作时间,设1秒可能会有误差。
关于计量版:如果你买的是带功率计量的版本,还能顺便读取当前的功率,比如设定“当功率小于2W持续10分钟,自动断电”,这就属于进阶玩法了,接口里用
reset配合查询就能搞定。
七、 总结一下整个流程
注册账号 -> 拿到 AppID 和 Secret。
安装插座 -> 配网成功,拿到 Device ID。
写代码 -> 按照规则算出
sign。发指令 -> 组装 JSON,把
reset设置成你想要的毫秒数,POST 出去。
这就是对接芯步10A86型插座做延时控制的全过程。核心就是玩转那个 reset 参数,一条指令搞定延时重启,完全不需要复杂的定时任务逻辑。