CATALOG

芯步的智能开关开放了标准HTTP API,定时任务完全可以在你自己服务器上实现,不需要依赖云端。下面这套方案用定时器(cron)触发脚本、调用API控制每一路灯,跑通后就能实现任意时间开关照明。

一、理解“怎么实现”二次开发

芯步智能触摸墙壁开关(3路)本身没有自带定时功能,但芯步开放了HTTP API接口。简单说,它提供了一个网络地址,你只要向这个地址发送特定的指令,就能远程控制开关的每一路通断。

所谓“二次开发”,就是你自己写一段程序(可以用Python、PHP、Shell,甚至微信小程序),在程序里调用这个HTTP接口。定时功能怎么实现呢?你可以在服务器上设置一个定时任务(比如Linux的cron、Windows的计划任务),到了指定时间,自动执行你的程序,程序再调用接口去开关灯。就这么简单。

二、二次开发前的准备工作

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

1. 硬件与网络

  • 3路智能触摸墙壁开关 已正确安装(接好零火线、负载灯),并通电。

  • 确保开关已配网(连上2.4G WiFi),状态正常。配网可以通过芯步的控制台或小程序完成

2. 获取开发凭证

登录芯步工作台,进入“物联网控制台”,在“开发设置”里找到:

  • AppID:你的应用身份标识。

  • AppSecret:你的应用密钥(保密,不要泄露)。同时在设备列表里找到你要控制的那个开关的 Device ID(设备唯一ID)。

3. 理解签名算法

这是为了安全,防止接口被别人乱调用。规则如下:

sign = md5( md5(AppSecret) + ts )

举个例子:假设 AppSecret = "abc123",先对 abc123 做一次MD5,假设结果是 "aaa"。然后拼接当前时间戳 ts = "1700000000",得到字符串 "aaa1700000000",再对这个字符串做一次MD5,最终结果就是 sign

每次请求都要重新计算,因为ts在变,sign也跟着变

三、核心接口与命令详解

你要调用的接口地址是:

请求方式: POST数据格式: JSON

请求参数(Body)

针对3路开关,具体命令格式如下

操作意图命令JSON (order字段)说明
开启第1路{"power1": 1}1开,0关,下同
关闭第2路{"power2": 0}
开启全部3路{"power1":1, "power2":1, "power3":1}
定时关闭(常用){"reset1": 60000}立即开启第1路,60秒后自动关闭
定时开启(常用){"point1": 60000}立即关闭第1路,60秒后自动开启

注意:resetpoint后面的单位是毫秒60000就是1分钟,3600000就是1小时。

四、实战:写一个定时开关脚本

假设我们想实现:每天晚上10点,自动打开客厅灯(接在第1路)

我们可以用Python写一个脚本,然后用系统的定时任务去触发它。

第1步:准备Python脚本(save as control_light.py

第2步:在服务器上设置定时任务

假设你的服务器是Linux系统,在终端输入 crontab -e 编辑定时任务,添加一行:

保存后,每天晚上10点整,系统就会自动运行这个脚本,打开电灯

如果想实现“只亮一会儿”(比如晚上10点亮,10点半关):

  • 方案A:写两个定时任务,一个22:00发开灯,一个22:30发关灯。

  • 方案B:利用API自带的reset参数。如果你希望按了开关后,灯亮30分钟自动灭,可以直接发命令{"reset1": 1800000}

五、常见坑与避坑指南

  1. 关于resetpoint的方向:这一点很多人弄反。reset1 = 先断后通(常用于“关灯后自动开灯”或“门禁”),point1 = 先通后断(常用于“开灯后自动关灯”)。控制照明定时关,用point1比较符合直觉。

  2. 时间戳对齐:确保你服务器的时间是准确的,时间戳不准会导致签名验证失败。

  3. 设备在线状态:如果发命令没反应,先去控制台看看设备是不是离线了。芯步的开关只支持2.4G WiFi,5G不行

  4. 多路控制:如果你想同时控制第1路开、第2路关,order写成{"power1":1, "power2":0}即可,非常灵活。

六、总结

通过对芯步3路智能开关的二次开发,实现定时开关并不复杂。核心就是:

  1. 看懂HTTP API文档,知道怎么拼签名、怎么发命令。

  2. 会写简单的脚本(Python/Bash/PHP),把调用接口的动作封装起来。

  3. 会设置定时任务(Cron/计划任务),到点自动执行脚本。

这套方法不依赖任何特定的智能家居APP,你可以把它集成到自己开发的管理系统、微信小程序,甚至是一个简单的网页后台里。只要你服务器能联网,就能稳定可靠地控制家里的三路灯光或电器。