芯步的30A智能开关(智能断路器/通断器)开放了标准的HTTP API接口,对接门槛很低,核心就是签名计算+设备ID+控制命令这三板斧。下面我会先讲清楚接口原理,再给一个多设备联动的完整实现思路,帮你把“联动逻辑”跑通。
一、 核心思路:为什么能实现联动?
要实现“多设备联动”,说白了就是一个设备(如传感器、定时器)发生状态变化,触发另一个设备(30A开关)执行动作。
芯步的30A智能开关(无论是断路器还是通断器)核心逻辑很简单:它通过WiFi联网,开放HTTP API接口。你的服务器(或云端逻辑)只要向这个接口发送特定的网址请求,就能让它“闭合”或“断开”。
所以,联动的“大脑”并不在开关本身,而是在你的业务服务器(或SaaS平台) 上。只要服务器能接收信号(比如人体传感器信号、湿度传感器数据、或用户点击),并通过HTTP请求去调用30A开关的接口,联动就完成了。
二、 核心对接准备:抓住三个关键点
在写代码之前,咱们得先搞清楚芯步这套接口的三个“通关密码”。这三个东西缺一不可,直接决定你的命令能不能发出去。
AppID 与 AppSecret(你的身份证和密码)
注册芯步账号后,在工作台后台就能找到。这是用来生成签名(Sign)的凭证,防止接口被别人乱刷。
设备ID(Device)
就是把30A开关配网成功后,后台会生成的一串数字编号。
小技巧:如果你要控制一堆开关,可以用逗号把它们的ID连起来,一次请求就能同时控制多个设备。
Sign 签名(安全锁)
这是稍微有点绕的地方,但现在各种编程语言都有现成的库。规则是:
md5( md5(AppSecret) + ts )。白话解释:先把你的密码进行一次MD5加密,加上当前时间戳,再整体做一次MD5。这样就算请求被抓包,别人也模拟不了你的操作(因为别人不知道原始AppSecret)。
三、 实战:控制30A开关的具体操作
假设我们现在已经搞定了上面的AppID和设备ID,我们要把30A开关合闸(通电)。
接口信息如下
请求地址:
http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}请求方式: POST(推荐)
请求参数 (JSON格式)
通俗解释这段代码你让你的服务器去访问这个网址,并且在网址里告诉平台:“我是合法的用户(Sign),请帮我去控制 ID 为 XXXX 的这台设备,让它把那个开关拨到‘开’的位置(power:1)。”
注意:如果收到返回 code: 200,只代表平台收到指令了,不代表设备执行成功(万一设备离线了)。如果你需要知道设备确实“咔哒”一下吸合了,需要监听平台推送过来的设备状态变化消息。
四、 进阶玩法:怎么实现“多设备联动”?
假如我们现在的场景是:一个30A总闸控制充电桩,另一个30A控制备用电源,还有一个传感器监测电流。我想实现当主负载过高时,自动切断次要负载。
要实现这个,你需要写一点后台逻辑(Python/Java/Node.js都行,甚至用低代码工具也行),思路如下:
第一步:订阅数据(输入端)
不管是传感器还是开关本身,它们的电流数据、开关状态都会上报到芯步平台。
你可以设置一个HTTP回调接收端,告诉芯步:“一旦有数据变化,就给我这个地址推送过来。”
第二步:逻辑判断(大脑)
你的服务器收到电流数据。
伪代码逻辑
第三步:指令执行(输出端)
你的服务器立即向芯步的API发起上面提到的
POST请求。目标设备(次要负载的30A开关)接收到
{"power": 0},瞬间断电。
五、 实战小贴士:让联动更流畅
局域网直连(私有化部署)
芯步的设备支持局域网API,意思是你不用把数据绕一圈传到芯步的云服务器,如果你的电脑和开关在同一个WiFi下,直接调用局域网IP也能控制。这样几乎没有延迟,而且断网了也能用。
利用“设备共享”接口实现场景面板
如果你想做那种“回家模式”,按一个按钮,窗帘关、灯亮、空调开。
你不需要把所有设备逻辑串在一起。你可以做一个简单的页面,把30A开关的控制按钮做成一个“一键执行”的按钮。
点击按钮 -> 依次调用API(开灯、开插座、开热水器)。
定时任务的“降级”处理
如果服务器不方便写定时任务,芯步的设备本身支持 “延时” 和 “定时” 属性。比如你在命令里加一个
"reset": 3600000,它会通电1小时后自动断电,这在处理大功率充电桩、防止过充时非常实用。
总结一下整个流程
拿钥匙:去芯步后台拿到
AppID、AppSecret、DeviceID(30A开关的ID)。写脚本:用几行代码搞定那个
Sign签名算法,然后发个 POST 请求试试能不能控制开关。做联动:找个地方(云服务器、本地电脑、树莓派)跑你的业务逻辑,也就是“如果A发生了,就去调用30A的开关接口”。
查状态:如果担心没执行成功,开一个 HTTP 端口接收设备的实时上报。
对接芯步的设备比你想的要简单,核心就是“发指令”——只要能把 {"power":1} 这个JSON发到正确的地方,你的联动就成功了。