芯步的3路智能开关开放了完整的HTTP API,二次开发其实就是“调用接口发指令”的事。下面我从准备工作、接口调用、代码示例到进阶玩法,一步步帮你搞定远程控制照明和设备。
一、我们要搞定什么?
想象一下,你面前有一个 芯步的3路智能墙壁开关(就是那种标准86型的,直接替换家里墙壁开关的那种)。这个开关上连接了:
第1路:客厅的主灯
第2路:餐厅的筒灯
第3路:阳台的排风扇
我们的目标是通过你写的程序(不管是Python、Java还是PHP),远程给这个开关发指令,比如:把客厅灯打开,或者把排风扇关掉。
核心武器就是芯步的开放接口。
二、准备动作
在写代码之前,需要搞定三件小事,这就像进门需要钥匙一样。
注册开发者账号:去芯步官网注册一个账号,登录控制台。这一步是免费的 。
获取钥匙(AppID 和 AppSecret):在你的控制台里找到“开发设置”,你会看到两个字符串:
AppID:就像你的“用户名”。
AppSecret:就像你的“密码”,注意保密,别把它硬编码在前端代码里 。
拿到设备的ID:确保你的3路开关已经连上了WiFi(2.4G频段)。在控制台的设备列表里,你会看到一个“设备ID”(比如
1878或者820720),这就是你要控制的对象 。
三、核心接口解析
我们主要要用到的是 设备控制接口。
请求地址
https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}请求方法:
POST必须携带的参数(放在请求体Body里,JSON格式):
关于签名的小贴士不要被签名吓到,其实就是一道简单的数学题:sign = md5( md5(AppSecret) + ts )ts是当前的时间戳(秒)。你把AppSecret做一次MD5,然后把ts拼在后面,整体再做一次MD5。后台就是用这个来验证你的请求是合法的 。
四、实战:3路开关的控制命令
这里才是硬菜。针对我们的3路开关,order 里的命令主要有以下几种玩法,我把它们整理成了表格,一目了然 。
| 功能 | 命令示例 (order字段) | 说明 |
|---|---|---|
| 控制第1路开 | {"power1":"1"} | 1代表开,0代表关。简单粗暴。 |
| 控制第2路关 | {"power2":"0"} | 关掉餐厅的灯。 |
| 控制第3路开关 | {"power3":"1"} | 打开阳台排风扇。 |
| 一键全开 | {"power1":"1", "power2":"1", "power3":"1"} | 一次搞定所有设备。 |
| “点动”模式 (先通后断) | {"point1":"2000"} | 第1路接通2秒后自动关闭。非常适合用在那种需要按一下给个信号的设备,比如门禁、电控锁。 |
| “保持”模式 (防误触) | {"power1":{"keep":"1","revert":"5"}} | 这是一个很有趣的功能。它会强制让第1路保持开,即使用户手贱在墙上按了关闭,5秒钟后开关也会自己弹回来(恢复开)。适合那些不允许被人为关闭的场景。 |
五、让代码说话
光说不练假把式。这里我用最常用的 cURL(命令行)和 Python 来演示一下怎么关掉第3路(比如关排风扇)。
场景:关掉第3路
假设已经配置好了变量:$APP_ID, $APP_SECRET, $DEVICE_ID。
1. 命令行(cURL)方式这个最直接,适合先测试一下接口通不通 。
2. Python 方式如果你想把这段逻辑集成到你的自动化系统里,Python 是个很好的选择 。
六、进阶玩法
搞定基本的开关之后,你还可以玩点高级的,这就是二次开发的魅力所在。
定时任务:你不需要在服务器上写
cron脚本。可以利用接口的“先断后通”功能。例如,想让排风扇1小时后自动关闭,只需要发一个命令:{"reset3":"3600000"}(单位是毫秒)。设备内部自己倒计时,省心省力。状态同步:如果想获取开关当前是开还是关,可以调用平台的
device/query接口。这对于做App界面显示很重要,不然你App显示灯关了,但灯还亮着就尴尬了。MQTT 接入:如果觉得HTTP轮询太笨重,芯步也支持MQTT协议。通过订阅主题,可以实时收到设备状态变化的推送,响应速度更快 。
七、踩坑预警
最后,根据经验提醒你几个容易掉坑的地方:
时间戳是秒,不是毫秒:生成ts的时候,记得是10位数字(秒),别写成13位(毫秒),不然会报
bad ts错误 。WiFi频段:配置设备联网时,只能用 2.4G WiFi,5G的搜不到也连不上 。
签名的编码:做MD5的时候,注意字符串的编码要是UTF-8。
总的来说,有了芯步的这组API,只要你懂一点HTTP知识,半小时内就能把这3路物理按键面板给“驯服”了。剩下的就是发挥你的想象力,看你是想做个智能睡眠灯,还是搞一套远程浇花系统了。