CATALOG

芯步2路智能墙壁开关支持通过HTTP接口进行远程控制和定时任务设置。以下是基于其开放API实现定时开关照明的完整解决方案,涵盖签名认证、单次定时、周期任务及状态保持等核心场景。

解决方案:基于芯步2路智能墙壁开关实现照明设备定时开关

1. 概述

本方案的目标是指导开发者如何利用芯步开放的 HTTP API 接口,对 UNI-KG-2 型号的2路智能墙壁开关进行二次开发,实现照明设备的定时开关控制。该方案适用于办公室照明自动化、家庭起床/入睡模式、商铺招牌定时控制等场景。

核心优势:

  • 标准API:基于HTTP协议,无需考虑编程语言类型,无论是Web、App还是后端服务均可接入

  • 高精度:支持秒级定时任务,延迟低。

  • 本地联动:支持“状态保持”功能,可将物理按键操作与云端定时逻辑解耦。

2. 对接准备

在开发前,请确保完成以下准备工作:

  1. 硬件准备:安装好芯步2路智能墙壁开关(型号:UNI-KG-2),并确保其WiFi在线(绿灯常亮)

  2. 平台准备

    • 登录芯步开发者控制台。

    • 获取 AppIDAppSecret(开发者密码)。

    • 获取 Device ID(设备唯一ID,可在控制台设备列表查看)。

3. API 接口鉴权说明

芯步的接口采用 动态签名 机制,所有控制命令都需要通过签名验证。

请求地址https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

签名算法签名 sign 的计算方式为:MD5( MD5(AppSecret) + ts )

  • AppSecret:开发者密码。

  • ts:当前Unix时间戳(秒)。

  • +:字符串拼接。

示例流程

  1. 假设 AppSecret = "abc123",计算 md5("abc123") = "e99a18c428cb38d5f22e03"

  2. 当前时间戳 ts = 1715678900

  3. 拼接字符串:"e99a18c428cb38d5f22e03" + "1715678900"

  4. 再次MD5得到最终的 sign

4. 实现定时开关的三种方案

针对2路开关的特性,我们提供以下三种实现定时开关的技术路径:

方案一:业务层定时任务(推荐,最灵活)

通过你的服务器(如Cron Job、Windows Task Scheduler 或 Linux Crontab)定时调用API。

应用场景:每天早上8点开灯,下午6点关灯;或者复杂的循环逻辑(如每周末特定时间)。

操作步骤

  1. 在你的服务器数据库中建立定时任务表,存储设备ID、执行时间、执行的线路和动作。

  2. 编写一个定时执行脚本(例如每分钟扫描一次数据库)。

  3. 当系统时间匹配,脚本构造命令并发送HTTP请求。

命令示例(针对2路开关)

  • 打开第1路(例如:客厅灯)order 参数为:{"power1":1}

  • 关闭第2路(例如:卧室灯)order 参数为:{"power2":0}

方案二:硬件指令级定时(最精准)

利用设备自带的 “先断后通”(Reset)或“先通后断”(Point) 命令,实现单次定时。这种方式无需服务器维护任务队列,只需要调用一次API,设备内部计时。

应用场景:过道灯(人过灯亮后自动熄灭)、排风扇定时关闭、鱼缸灯光定时开关。

  • 延时关闭(开灯后一段时间关)需求:打开2路开关,让楼梯亮起,2分钟后自动关闭。命令:{"point2":"120000"} (单位:毫秒。注意:这是先接通,延时后断开)

  • 延时开启(关灯后一段时间开)需求:关闭1路开关,让设备断电,但5分钟后重新启动(适用于路由器重启或设备重置)。命令:{"reset1":"300000"} (单位:毫秒。先断开,延时后接通)

方案三:状态保持模式(防手动物理干预)

在定时任务场景下,常遇到用户手动按了开关导致定时逻辑失效。2路开关支持 “状态保持” 功能,强制开关在用户操作后恢复云端预设状态。

应用场景:公共场所灯光定时锁定(如下班后即便保安按开灯,也会自动关)、儿童房灯光锁定。

实现方法下发带有 keeprevert 参数的指令。

  • keep:1(保持开启状态) / 0(保持关闭状态)。

  • revert:恢复时间(秒)。

示例:你需要强制关闭1路照明,并锁定。即使用户手动按了1路开关打开灯,3秒后系统也会自动把它关掉 order 参数为:{"power1":{"keep":"0","revert":"3"}}

5. 代码实现示例(Python)

以下是一个 定时关灯 的完整逻辑示例,程序将在指定时间(例如22:00)关闭2路开关中的第二路灯光。

6. 常见问题排查

  1. 设备离线:2路开关仅支持2.4GHz WiFi。请检查家中路由器是否为双频合一,关闭双频合一或单独连接2.4G频段

  2. 签名错误:注意 ts级时间戳,且服务器时间与标准时间误差不能太大。

  3. 负载异常:如果接LED灯,请确保单路功率不要过小(或有电容匹配),否则可能导致开关“幽灵闪烁”或无法关断。LED负载小于300W/路

  4. 局域网控制:如果你是内网应用,且不需要云端控制,可以联系芯步技术支持获取局域网(本地)API文档,这样即使外网断开,定时任务也能在内网环境下执行