芯步的智能开关开放了原生“先通后断”(point)指令,可直接实现延时通断,无需在应用层额外做定时逻辑。以下方案以1路智能墙壁开关为例,说明如何通过HTTP接口完成点动控制(如打开2秒后自动关闭)。
解决方案:基于芯步开放接口的1路智能开关延时通断控制二次开发
1. 背景与需求
在许多自动化场景中,我们不仅需要远程控制开关的通断,更需要控制其接通一段时间后自动关闭(例如:控制排风扇定时关闭、门禁点动开门、车库门延时照明等)。基于芯步智能开关的开放接口,开发者可以通过简单的 HTTP 命令,无需在云端维护复杂的定时任务队列,直接利用设备固件自带的逻辑实现“延时通断”控制。
2. 核心技术点:先通后断
芯步的 1 路智能墙壁开关(如 UNI-KG-C 型号)在协议层原生支持 “先通后断” 功能。
原理:下发一次命令,开关立即闭合(通电),设备内部自动开始倒计时,到达指定时间后自动断开(断电)。
优势:即使网络断开,设备在收到指令后也能独立完成延时断开动作,不受网络波动影响。
3. 开发准备工作
在进行二次开发前,请确保以下条件已满足:
硬件准备:芯步1路智能墙壁开关(已安装并接通电源),支持 WiFi 2.4G 网络 。
平台账号:注册芯步官方平台账号,登录工作台。
获取密钥
进入控制台的“开发设置”。
获取 AppID(开发者ID)和 AppSecret(开发者密码)。
提示:在开发测试阶段可开启“调试模式”以简化签名校验 。
设备ID:在控制台获取目标设备的 Device ID(设备编号)。
4. 接口调用方案详解
接口地址(生产环境):https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
请求方式:POSTContent-Type:application/json
4.1 构造签名
接口安全性采用 MD5 二次签名机制 。sign = md5( md5(AppSecret) + ts )(注:+ 代表字符串拼接,ts 为 UNIX 时间戳,单位秒)。
4.2 请求参数
device:目标设备的 ID。order:命令对象,核心控制参数。
4.3 关键指令:实现延时通断
针对“1路智能开关”的延时控制,需使用 point1 字段。
命令示例我们希望控制开关接通后,保持开启 5秒钟 然后自动断开。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
point1 | int | 是 | 单位:毫秒 (ms)。代表开关闭合(通电)后,经过该时长自动断开。例如:2000 代表2秒,5000 代表5秒。 |
5. 代码实现示例
以下示例展示如何通过 Python 和 Bash 脚本实现上述逻辑。
Python 实现 (Requests版):
Bash 实现 (cURL版):
6. 扩展与变通应用
除了使用 point1 (先通后断),根据芯步的接口定义,还可以实现其他复杂的延时逻辑
| 需求场景 | 推荐参数 | 命令示例 order 值 | 业务逻辑说明 |
|---|---|---|---|
| 点动/脉冲控制 | point1 | {"point1": 1000} | 常用于电机、门锁。立即开,1秒后自动关。 |
| 断电延时 | reset1 | {"reset1": 60000} | 常用于风扇散热。立即关,但1分钟后自动开。 |
| 状态自锁/防误触 | keep | {"power1": {"keep":"1", "revert":"10"}} | 锁定为开启状态,即使用户手动关了,10秒后也会自动再打开。 |
7. 注意事项
网络环境:该接口支持公网调用,也支持局域网或私有化部署。如果对数据隐私要求比较高,可利用芯步的私有化方案将 API 部署在内网 。
参数单位:凡是涉及
point1或reset1的延时参数,请请一定要确认单位为 毫秒,避免出现时间过短或过长的问题。状态查询:如果需要在界面上实时显示“剩余延时时间”,配合设备的状态上报回调机制,通过消息服务器接收设备当前的实时状态变更。
8. 总结
通过对芯步1路智能开关的二次开发,利用原生 point1 指令,开发者仅需 一次HTTP请求 即可实现“延时通断”控制。这种方案极大地降低了应用层代码的复杂度,提升了控制的实时性和可靠性,非常适用于开发智能家居、工业遥控、简易自动化工具等场景。