一、我们面对的是什么设备?
先简单认识一下主角——芯步12路智能分路照明控制器(型号:UNI-KZQ-ZM-12-16A)。这玩意儿说白了就是一个能装在配电箱里的“智能开关面板”,但它有12个通道,可以独立控制12路照明回路。
几个关键特点:
12路独立控制:每一路就像独立的智能开关,可以单独控制开/关,互不干扰
WiFi直连:不用额外买网关,直接连2.4G WiFi就能上网
HTTP开放接口:这是核心亮点,意味着你可以用任何支持HTTP的编程语言来调用它——Java、Python、JS、PHP,甚至Shell脚本都行
支持局域网/私有化:如果不想走公网,可以纯内网部署
通俗点说,你可以把这12个回路想象成12个智能灯泡,但比灯泡牛的是:你不仅能一个一个控制,还能批量操作、设置联动规则,甚至搞“先通后断”这类花活儿。
二、对接的核心思路
要实现远程定时任务,整体思路其实就三步:
拿到设备的“身份证”:获取设备ID和相关的API密钥
搞懂怎么“喊”它:弄清楚HTTP接口的调用规则(签名怎么算、URL怎么拼)
搭个定时器:在你自己的服务器上写个定时脚本(或用现成的定时任务系统),到点就发指令
画个简单的流程图你就明白了:
flowchart LR
subgraph A[你这边需要做的]
A1[写个定时脚本/程序]
A2[部署在服务器上]
end
subgraph B[核心动作]
B1[计算签名 sign+ts]
B2[拼HTTP请求]
B3[带设备ID和命令]
end
subgraph C[芯步平台]
C1[开放API网关
api.thingboot.com]
end
subgraph D[现场设备]
D1[12路控制器
连接着各路照明]
end
A1 --> A2 --> B1 --> B2 --> B3 --> C1 --> D1整个过程不复杂,熟练的话一下午就能搞定。
三、准备工作:先拿钥匙
在动手写代码之前,你需要先去芯步的控制台“领钥匙”:
注册/登录芯步开放平台(免费)
创建设备:把12路控制器添加到你的账号下。设备外壳上贴的标签就是
device(设备ID)拿到关键凭证
AppID:你的应用IDAppSecret:开发者密码(注意保密)设备ID(就是上面那个)
这些就像你家大门的钥匙,一定要收好。
四、核心操作:怎么发命令(以开灯为例)
芯步的接口设计得挺友好的,核心就是一个POST请求。
1. 请求地址
2. 签名怎么算?(容易踩坑的地方)
芯步用的是双重MD5,这个要注意一下
具体步骤:
先把
AppSecret做一次MD5(得到32位小写字符串)把这个结果和
ts(10位秒级时间戳)拼在一起再对拼好的字符串做一次MD5
3. 请求体(Body)
数据格式是JSON,有两个字段必须带
device:设备ID(字符串)order:你要下的命令(JSON对象)
这条命令的意思:把第1路打开。
4. 完整的请求示例(Python)
五、12路控制器的命令大全
下面是12路控制器支持的核心命令,掌握了这些你就基本拿捏了
| 功能 | 命令示例 | 说明 |
|---|---|---|
| 控制单路 | {"power3":"1"} | 开第3路;"0"就是关 |
| 全开/全关 | {"batch":{"power":1}} | 全开;0全关 |
| 批量指定 | {"batch":{"relay":[1,3,5,7],"power":1}} | 只开第1、3、5、7路 |
| 先通后断 | {"point":{"relay":[2,4,6,8],"interval":1000}} | 让2、4、6、8路先接通,1秒后自动断开 |
| 先断后通 | {"reset":{"relay":[1,2,3],"interval":2000}} | 让1、2、3路先断开,2秒后再接通 |
实际场景举例:
场景1:晚上6点,把走廊灯(第2路)和楼梯灯(第5路)打开
场景2:会议室需要“一键演示模式”——打开幕布(第8路)、关闭前几排灯(1、2、3路)
场景3:卫生间的人体感应联动——人走开后,灯