CATALOG

芯步的智能触摸墙壁开关2路提供开放的HTTP API接口,支持远程控制和定时任务。以下方案将从接口准备、签名计算到定时任务实现,完整说明接入流程。

解决方案:基于芯步开放接口接入智能触摸墙壁开关2路,实现照明设备定时开关

1. 背景与目标

在很多智能化场景(如办公楼、家庭、学校、工厂)中,需要对照明设备进行定时控制(例如:早晨7点开灯,下午6点关灯,或夜间定时关闭走廊灯)。芯步推出的 智能触摸墙壁开关2路(型号:UNI-KG-CM-2) 具备开放HTTP API接口,允许开发者通过编程方式轻松集成定时任务功能,无需购买额外的网关设备

本方案的目标是指导开发者如何通过对接该设备的开放接口,利用任意后端编程语言(Python/Java/Node等)或云函数,实现对照明设备的定时开关控制。

2. 核心技术准备

2.1 硬件与接口特性
  • 设备型号:智能触摸墙壁开关2路 (UNI-KG-CM-2)

  • 控制方式:WiFi 直连(支持2.4G网络),无需网关

  • 核心能力:支持两路独立控制(可分别控制两盏灯或两组照明设备)

  • 接口协议:HTTP/HTTPS 请求,支持云端API控制及局域网控制(私有化部署)

2.2 前置准备工作

在开始开发前,请完成以下三个步骤:

  1. 硬件安装:将智能墙壁开关按照说明书接入家庭或公司的2.4G WiFi网络,并记录下设备唯一的 Device ID(在物联网控制台可见)

  2. 注册与创建

    • 注册芯步官方账号。

    • 创建工作台,进入“物联网控制台”模块

  3. 获取密钥

    • 在控制台的“开发设置”中获取 AppIDAppSecret(开发者密码),这两个参数用于构造API请求签名

3. 接口对接核心逻辑

芯步的API采用签名机制保证安全。所有定时任务最终都需要转化为特定的HTTP请求发送至云端。

3.1 签名算法 (Sign)

为了防止接口被恶意调用,每次请求都需要携带动态签名。算法规则如下(兼容所有编程语言)

  1. AppSecret 进行一次MD5加密,得到 encrypted_secret

  2. 获取当前的Unix时间戳(秒级) ts

  3. encrypted_secretts 拼接成字符串。

  4. 对拼接后的字符串再次进行MD5加密,得到最终的 sign

公式化表达Sign = MD5( MD5(AppSecret) + ts )

3.2 控制指令 (Order)

针对“智能触摸墙壁开关2路”,控制指令通过 order 参数传递,为JSON字符串格式

动作描述指令参数 (order)说明
开启第1路{"power1":1}1代表开
关闭第1路{"power1":0}0代表关
开启第2路{"power2":1}1代表开
关闭第2路{"power2":0}0代表关
点动/脉冲{"point1":"2000"}第1路先通后断,延迟2秒(2000ms)自动恢复

4. 定时开关解决方案实施步骤

为了满足“定时开关”需求,推荐采用 服务端定时任务 的模式:即在一台服务器、电脑或云函数上设置定时器(Cron Job),定时触发HTTP请求到芯步云端。

4.1 方案架构图 (逻辑描述)
  1. 定时触发器 -> 2. 业务逻辑层 (计算Sign) -> 3. HTTP请求 (调用API) -> 4. 芯步云 -> 5. 设备执行 (灯亮/灭)

4.2 代码实现示例 (Python + 云函数)

以下以Python脚本为例,展示如何封装一个开启第1路灯光的功能,并配合系统的定时任务(如Windows计划任务或Linux Crontab)使用。

4.3 配置定时任务 (Linux Crontab 示例)

将上述Python脚本保存为 light_control.py。在Linux服务器上,通过Crontab设置两条定时规则:

如果是Windows环境:可以使用“任务计划程序”创建基本任务,触发器设置为特定时间,操作设置为启动程序 python.exe,参数填入脚本路径。

5. 高级功能和需要注意的点

5.1 状态保持功能

在某些场景(如会议室、走廊),可能希望用户手动关灯后,几秒钟后自动恢复开启。芯步接口直接支持这种高级指令,无需在服务器端做延时逻辑

  • 指令示例{"power1":{"keep":"1","revert":"5"}}

  • 含义:第1路保持开启状态,如果用户手动关闭了,5秒后会自动重新打开。

5.2 私有化部署 (局域网)

如果对响应速度或数据安全有比较高要求(如工厂车间),该设备支持私有化部署。开发者可以关闭云端请求,改为直接向设备在局域网内的IP地址发送HTTP请求,实现更低延迟的控制

5.3 错误处理与重试

在定时任务中,加入重试机制。如果HTTP请求返回非200状态码或网络超时,应间隔几秒后重试一次,确保指令送达。

5.4 Shell脚本快速测试

如果你不想配置复杂的编程环境,可以直接使用 curl 命令在命令行测试设备连通性

6. 总结

通过芯步开放的HTTP接口,开发者可以极其简易地将“智能触摸墙壁开关2路”集成到现有的定时任务系统中。无需复杂的嵌入式开发,仅需掌握基础的 MD5 加密和 HTTP POST 请求,即可利用 “云端API + 服务器定时任务” 的架构,稳定、高效地实现照明设备的自动化定时开关。