CATALOG

芯步的3路智能开关本身就带延时控制命令,不需要你自己写定时器代码。直接调用pointreset命令,一条HTTP请求就能搞定——这可能是市面上最简单的二次开发方式了。

开篇闲聊:为什么要自己写代码控制开关?

兄弟们,咱们在做物联网项目的时候,经常会碰到这种需求:按一下开关,灯不是马上灭,而是等个几分钟再自动关。或者搞鱼缸换水,水泵开5分钟停10分钟这种循环。

如果用普通的智能开关,你可能得在云端写定时任务,或者弄个服务器一直跑cron脚本,麻烦得要死。

但今天咱们聊的芯步这款3路开关,人家直接把“延时控制”做成了一条命令。你只要会发HTTP请求,啥后端框架都不用,一个curl命令就把活儿干了。

我们要实现什么效果?

假设你手头有一个芯步的“智能触摸墙壁开关3路”,接了三路灯:

  • 第1路:客厅吸顶灯

  • 第2路:走廊射灯

  • 第3路:卫生间的排风扇

我们想实现:

  1. 延时关闭:打开走廊射灯,5分钟后自动关闭(省电)

  2. 延时开启:打开卫生间排风扇,先吹2分钟,然后自动关闭(散味用)

  3. 先通电再断电:客厅灯闪烁一下(亮1秒灭1秒),做个提示

先认识一下芯步的开放接口

芯步的接口设计思路很直白:万物皆可POST

你不需要理解复杂的MQTT协议,也不用搞WebSocket长连接。只要记住一个API地址,拿着设备ID,往里面塞JSON命令就行

准备工作(5分钟搞定)

动手之前,先把这几样东西准备好:

  1. 注册账号:去芯步官网注册,进到工作台

  2. 找到密钥:在“开发设置”里找到 AppID 和 AppSecret(这两个相当于你家大门的钥匙)

  3. 拿到设备ID:把3路开关配网后,在控制台能看到设备ID,是一串数字,比如 820720

  4. 装个Postman或curl:测试用的,手边有Linux/Mac最好

签名算法稍微有点绕,简单说就是:md5(md5(你的AppSecret) + 时间戳)。不过别怕,官方给了各种语言的demo,复制粘贴就能用。

核心操作:三种延时控制的实现

下面进入正题。芯步支持三种延时模式,刚好对应我们刚才的需求

1. 先断后通——实现“延时开启”

场景:卫生间排风扇,开了2分钟后自动关。

命令格式:{"reset1": 2000}

  • reset1 表示第1路“先断后通”(先关闭,等会儿再开)

  • 2000 是毫秒数,2秒=2000毫秒

等一下,这里容易混淆。对于开关来说,“关闭”是断电状态。reset 命令的逻辑是:让线路恢复到“关闭”状态,然后在指定的延时后,再自动“打开”

如果是排风扇,你想要开2分钟后自动关,其实应该是反过来:先打开,再延时关闭。用下面这个命令。

2. 先通后断——实现“延时关闭”

场景:走廊射灯,打开5分钟后自动关。

命令格式:{"point2": 300000}

  • point2 表示第2路“先通后断”

  • 300000毫秒 = 5分钟

这条命令下去,第2路会立即打开(灯亮),然后设备自己掐表算5分钟,时间一到自动关闭。不需要你的程序一直跑,命令发完就完事了,设备自己会搞定

3. 状态保持——实现“临时锁定”

场景:客厅灯,我手动把它关掉,但3秒后它又自动打开(熊孩子乱按开关?不存在的)。

命令格式:{"power1": {"keep": 1, "revert": 3}}

  • keep:1 表示保持开启状态

  • revert:3 表示如果有人手动操作,3秒后恢复回来

这个功能很实用。比如展厅的灯,你希望永远是亮的,保洁阿姨不小心关了,3秒后自动又亮了

实战:完整的Python脚本

光说不练假把式,写个Python脚本把这些功能串起来。假设我们用第1路做“延时5分钟关灯”

进阶玩法:用JavaScript直接在网页里控制

如果你是在写HTML5页面,或者微信小程序,前端直接调接口也是可以的(注意跨域和密钥泄露问题,生产环境走后端)

常见坑点和避坑指南

  1. 时间单位是毫秒:写1000才是1秒,别写成1(那就成1毫秒了,反应慢的继电器可能都没反应过来)

  2. 单路还是多路point1只控制第1路,point不带数字是控制所有路(通常是门禁或通断器才有),3路开关必须带数字

  3. 签名过期:时间戳有效期一般是5分钟,别拿个旧签名反复用。代码里每次请求重新生成就行。

  4. 局域网控制:如果不想走云,芯步也支持局域网IP直连(私有化部署),适合工厂、内网环境,延迟能压到10ms以内

还能玩出什么花样?

基于这套延时机制,稍微动动脑筋就能做很多事:

  • 鱼缸自动换水:排水泵开5分钟 -> 关 -> 进水阀开10分钟 -> 关(用两个定时命令拼起来)

  • 智能晾衣架:下雨了,关窗电机转10秒停(确保关严实)

  • 门禁系统:刷卡开门后,电磁锁断电5秒,自动重新上电锁门

总结

芯步的3路开关把复杂的延时逻辑下沉到了设备端。你不需要写状态机,不需要维护定时任务队列,甚至设备断网了,只要命令发成功过一次,延时触发的动作依然会执行(因为命令是下发给设备自己的)。

说白了:你只负责发令枪,计时和冲刺是设备自己干的事

附上一个curl命令让你快速验证,复制粘贴就能跑

搞定收工。有啥不明白的去翻芯步的产品手册,或者直接问他们技术支持,这帮人回消息贼快