CATALOG

一、背景与需求

在很多场景下——比如共享自习室、共享台球厅、办公室或者小仓库——我们经常需要对照明设备进行定时开关控制。早上自动开灯,晚上自动关灯,既能省电又不用人工跑一趟。

芯步的 4路智能照明控制器(型号:UNI-KZQ-ZM-4) 正好能解决这个问题。这台设备支持4路独立控制,每路最大可带10A或16A的负载,不光能接照明,还可以接其他电器。最关键的是,它提供了开放的HTTP接口,我们只需要会一点点编程,就能给它加上定时功能。

下面我就从零开始,手把手说说怎么二次开发这套定时控制系统。

二、准备工作

动手之前,先把这几样东西备齐:

项目说明
4路智能照明控制器已通电、已联网(支持2.4G WiFi)
设备ID在芯步控制台查看,每个设备有唯一标识
AppID应用ID,平台注册后生成
API密钥用于生成签名(sign),验证接口权限
开发环境任意支持HTTP的语言:Python、Node.js、Java、PHP等

芯步的接口设计得很简单,官方说“十分钟就能完成对接”,我们来看看是不是真的

三、接口调用基础

3.1 接口地址与格式

控制设备用的是这个接口:

几个参数的意思:

  • {AppId}:你创建的应用ID

  • {sign}:签名,用来验证身份(后面会说怎么生成)

  • {ts}:当前时间戳,防止请求被重放攻击

请求体是JSON格式,需要带上设备ID和命令:

3.2 命令格式详解

对于4路控制器,控制每一路开关的命令格式是

操作命令(order)说明
开启第1路{"power1":"1"}1=开
关闭第1路{"power1":"0"}0=关
开启第2路{"power2":"1"}以此类推
关闭第2路{"power2":"0"}
开启第3路{"power3":"1"}
关闭第3路{"power3":"0"}
开启第4路{"power4":"1"}
关闭第4路{"power4":"0"}

如果你想同时控制多路,把命令拼在一起就行,比如同时开启1、3路:

3.3 签名生成(Python示例)

签名算法一般是对参数排序后拼接密钥再取MD5(具体以官方文档为准),这里给个参考写法:

四、定时控制方案设计

4.1 整体架构

定时控制系统不需要太复杂,核心就是一个定时器 + API调用的组合:

flowchart LR
    A[定时任务
(每天固定时间触发)] --> B[计算当前
要执行的操作] B --> C{判断动作类型} C -->|开灯| D[调用API
powerX=1] C -->|关灯| E[调用API
powerX=0] D --> F[4路控制器
执行指令] E --> F

说白了就是:写一个脚本,里面定义好什么时间开哪一路、什么时间关哪一路,然后用系统的定时任务(比如crontab)或者写个死循环轮询来触发。

4.2 方案一:简单脚本 + 系统定时任务

这是最简单的方式,写一个只执行一次开关的脚本,然后用操作系统的定时任务去调用它。

Python脚本 control_light.py

然后在Linux/Mac上用crontab设置定时任务,比如每天早上8点开1路,晚上10点关1路:

控制器产品方案:
共享自习室独立包间控制:怎样把共享空间智能控制器对接到软件项目中
查看 >>
4路共享空间智能控制器MINI:怎么把4路包间电源智能控制器MINI对接到自己的项目中
查看 >>
如何对接8路包间电器覆盖控制器来实现包间智能语音联动控制
查看 >>
无人售货机两路设备控制:如何把智能2路交流远程控制模块集成到软件项目中
查看 >>
无人值守包间设备控制:怎么将8路包间设备集中控制器集成到软件项目中
查看 >>
电源场景方案:
怎样在无人值守门店机柜电源控制中对接智能设备以实现多设备联动控制
查看 >>
怎样在医院设备电源管理中对接智能设备以实现手机 APP 远程遥控
查看 >>
餐厅设备机柜电源控制:怎样把8位远程控制PDU接入到软件项目中
查看 >>
如何接入智能人体存在传感器[壁挂]来实现设备电源开关控制
查看 >>
酒店客房设备机柜电源管理:怎么把8位分控插排接入到自己的项目中
查看 >>
照明设备用途方案:
如何在共享工位照明控制中对接智能设备来实现定时开关照明设备
查看 >>
怎样在会议室照明控制中集成智能设备以实现照明设备电源开关控制
查看 >>
怎么二次开发3路独立控制触摸墙壁开关来实现定时开关照明设备
查看 >>
怎样接入3路墙壁智能开关以实现定时开关照明设备
查看 >>
怎么在共享民宿照明管理中集成智能设备来实现定时开关照明设备电源
查看 >>