CATALOG

芯步的智能开关开放HTTP接口,这意味着你只要会发网络请求,就能用自己的服务器、App甚至脚本直接控制它。下面我以“1路智能墙壁触摸开关”为例,说说怎么实现延时通断——这个功能常见于排气扇延时关、走廊灯点亮一段时间后自动熄灭等场景。

一、准备工作

在动手写代码之前,你需要先搞定三样东西:

1. 硬件设备就是芯步的“智能墙壁触摸开关1路”(UNI-KG-CM-KC这个型号)。安装很简单,标准86底盒直接替换家里的老开关就行,接好零火线,给开关通上电

2. AppID 和 AppSecret你需要去芯步的控制台注册一下,创建一个应用。系统会给你生成一串 AppID 和 AppSecret,这俩相当于你的“身份证”和“密码”,后面每次发命令都要带上。

3. 设备ID开关联网后,在控制台就能看到它的设备ID(就是一串数字,比如 820720)。你要控制哪个开关,就把哪个的ID记下来

二、搞清楚接口怎么调

芯步的接口设计得挺直白的,就是标准的 HTTP POST 请求。

请求地址(稍微解释一下里面的参数):https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • AppID:就是上面说的,直接填你那一串。

  • ts:当前的时间戳(单位是秒)。这个主要是为了防止别人重放攻击。

  • sign:签名。需要把 AppSecret 先 MD5 加密一次,然后拼上 ts,再整体 MD5 一次。

    公式:sign = md5( md5(AppSecret) + ts )

请求体(Body):格式是 application/x-www-form-urlencoded 或者 application/json 都行。主要是两个字段:

  • device:填你的设备ID。

  • order:这是一个 JSON 字符串,写具体的指令。

三、重点:延时通断怎么实现?

要实现“延时通断”,其实就是让开关在“开”了之后,自动延时“关”,或者反过来。芯步的接口直接内置了这几种模式,不用你自己写定时器:

功能模式命令格式(order参数)效果说明
先通后断{"point1":"2000"}立即打开,保持2000毫秒(2秒)后自动关闭。
先断后通{"reset1":"3000"}立即关闭,保持3000毫秒(3秒)后自动打开。
状态保持{"power1":{"keep":"1","revert":"10"}}强制开,用户如果在面板上关了,10秒后会自动再打开。

这个 pointreset 就是专门干这个活的。 单位是毫秒2000 就是两秒

四、实战演练

假设我现在有一个开关,设备ID是 820720,想让它控制的灯点亮 5秒钟 然后自动熄灭。逻辑是“先通后断”,用 Java 代码大概就是这样写的:

如果你用的是Python,那就更简单了,用 requests 库几行搞定:

五、可能会踩的小坑(温馨提醒)

  1. 注意是 point1 还是 point

    • 如果你用的是 1路开关,就用 point1 控制这一路

    • 如果是2路开关,控制第一路是 point1,第二路是 point2,以此类推

    • 如果是4路控制器这种,命令格式可能略有不同(比如 {"point":{"relay":[1,3],"interval":1000}}),需要仔细看一眼对应产品的说明书

  2. 单位别搞错:这里是 毫秒。写 1000 是一秒,写 60 是 0.06 秒,千万别把秒直接填进去(比如想延时