一、准备工作
在开始对接之前,你需要准备好以下几样东西:
硬件准备:
芯步2路智能墙壁开关(型号:UNI-KG-2 或 UNI-KG-CM-2)
需要控制的两路灯具(可以是客厅主灯+射灯、卧室吸顶灯+床头灯等任意组合)
2.4GHz WiFi网络环境
软件准备:
在芯步官网注册开发者账号
登录控制台获取你的AppID和AppSecret(这两样相当于你的“身份证”)
完成设备配网,把开关连上WiFi
这里多说一句:这个开关用的是WiFi直连,不需要额外买网关,省了一个设备的钱,挺方便的。
二、接口核心概念
芯步的接口设计得比较直白,说白了就是“发HTTP请求”的事儿。用任何能发HTTP请求的语言都能对接——Python、Java、PHP、Go,甚至前端JavaScript都行。
关键参数说明
| 参数 | 说明 |
|---|---|
| AppID | 你的应用ID,在控制台“开发设置”里找 |
| AppSecret | 开发者密码,千万别泄露到前端代码里 |
| device | 设备ID,在设备外壳上或控制台都能找到 |
| sign | 签名,算法是 md5(md5(AppSecret) + ts) |
| ts | 当前时间戳(秒级) |
签名算法示例(伪代码)
签名的目的是防止接口被恶意调用,把签名生成逻辑放在服务端。
三、核心API:控制两路独立开关
请求地址
请求体格式
实际操作示例
假设你想:
打开 客厅主灯(接在第1路)
关闭 射灯(接在第2路)
那么请求体就是这样:
响应示例
注意:返回200只代表平台收到了你的指令并把命令下发出去了,不代表设备真的执行了。如果设备离线,你收到200但灯不会亮。所以需要接收设备状态反馈的场景,配合消息推送来确认执行结果。
四、进阶玩法:更精细的控制
芯步的接口不只是简单的“开/关”,还支持一些有意思的功能。
1. 定时开关
想让灯亮一段时间后自动关?用 point1 命令:
这个场景特别适合走廊灯、卫生间灯——人走灯灭,不用惦记着关。
2. 状态保持
有些场景下,你想锁定一个状态,比如“这盏灯必须开着”。用 power1 配合 keep 和 revert 参数:
这招用在需要常亮的设备上很管用,比如鱼缸灯、展示柜灯。
3. 先断后通(复位)
这个功能适合重启路由器、摄像头这类设备——先断电几秒,再重新上电。
所有支持的命令汇总
| 命令 | 含义 | 示例值 |
|---|---|---|
| power1 | 第1路开关 | 1(开)/ 0(关) |
| power2 | 第2路开关 | 1(开)/ 0(关) |
| point1 | 第1路先通后断(定时关) | "2000"(毫秒) |
| point2 | 第2路先通后断(定时关) | "3000"(毫秒) |
| reset1 | 第1路先断后通(重启) | "2000"(毫秒) |
| reset2 | 第2路先断后通(重启) | "5000"(毫秒) |
命令值里的时间单位是毫秒,比如3000就是3秒。支持的范围一般是1-5秒。
五、完整对接示例
下面用Python和JavaScript两个语言给出完整示例。
Python示例(推荐服务端用)
JavaScript示例(前端调用需要配合代理)
六、常见问题与避坑指南
1. 收到code200但灯没反应
先确认设备是不是在线(在控制台看设备状态)
再核对一下设备ID对不对
最后确认下命令格式,比如是
power1还是power(不同产品有点小差异)
2. 签名一直报错
检查AppSecret是不是复制完整了(没多空格没少字符)
时间戳用的是秒还是毫秒?得用秒
MD5结果是32位小写十六进制
3. 两路控制互相干扰?
不存在的,
power1和power2是独立控制的,控制第1路完全不影响第2路
4. 设备配不上网
检查WiFi是不是2.4G频段(5G不行)
设备最多能存5组WiFi信息,会自动连信号最强的
可以试试用微信小程序“芯步”配网,比电脑方便
七、实际应用场景
第一种场景:客厅会客模式
一键打开主灯、关闭射灯,营造明亮氛围
第二种场景:影院模式
关闭主灯、只留背景灯(接在第2路)
第三种场景:定时熄灯
孩子的卧室灯,设置30分钟后自动关,省得你跑去关
场景四:远程控制
出差忘了关灯?掏出手机就能搞定
总的来说,芯步的2路开关接口还是挺“傻瓜”的——弄懂签名规则之后,剩下的就是简单调用power1和power2这两个参数。以上示例代码基本都能直接拿去用,把AppID、AppSecret和设备ID换成你自己的就行。如果只是测试,先用Postman把接口调通,再写代码,这样排查问题会比较快。