芯步的智能大功率断路器开放了HTTP接口,控制逻辑其实很简单——就是给指定URL发一条POST指令的事。下面从接线到调通,把整个流程串一遍。
一、准备工作:找到你那台设备的“身份证”
动手之前,先把这3样东西从芯步的控制台里找出来(一般在“开发设置”或“设备列表”里):
AppID:你的应用ID,相当于你在平台上的账号标识。
AppSecret:你的应用密钥,千万别泄露到前端代码里,这玩意儿就像你的银行卡密码。
Device ID:这台60A断路器的唯一编号。如果你买了10台,每一台都有自己的身份证号。
二、核心逻辑:发一条指令,就完事儿
这玩意儿没有那些复杂的握手协议,就是标准的 HTTP POST 请求。你只需要向特定的URL发一条指令,设备就能听懂。
请求地址
https://api.thingboot.com/{你的AppId}/device/control/?sign={签名}&ts={时间戳}请求方法:POST
请求体格式:JSON
听不懂没关系,用人话翻译一下这就像你寄快递,地址(URL)写对了,还要写上收件人(Device ID)和要干嘛(Order),快递员就能送到。
三、动手实操:照着代码抄作业
下面用 shell 写个例子,你可以直接复制到 Linux 或 Mac 终端里试试(Windows用户也可以用 Git Bash)。
第一步:把下面的代码存成一个文件,比如 ctrl_breaker.sh
第二步:运行一下,看看效果
如果一切正常,你会听到“啪”的一声——断路器合上了,同时设备屏幕上显示的功率、电流数据也会开始跳动。这时候再去看看你的大功率电器,应该已经通电工作了。
四、进阶玩法:怎么实现“定时开关”?
既然基础的通断搞定了,定时就很简单了。你有三种路子可以走:
方案一:设备自带“睡眠”功能(最简单,省心)如果我只是想让电机运行1小时后自动停机,或者让路灯亮5个小时后自动熄灭,不需要在我的服务器上搞什么定时任务,直接用 reset 命令就行。
把上面脚本里的 ORDER 改成下面这样:
优点:就算你的服务器这时候宕机了或者断网了,设备到点依然会自己跳闸,非常可靠。
方案二:服务端写定时任务(最灵活)比如你想每天早晚各执行一次,那就需要你的后端程序出手了。
PHP (Laravel):写个
Command,用->everyMinute()或者->dailyAt('08:00')。Node.js:用
node-schedule。Python:用
schedule库或crontab。
定时任务到了时间点,就去执行上面那段发请求的代码。早上8点发 {"power":1},晚上10点发 {"power":0}。
方案三:利用平台提供的定时任务接口芯步的开放接口里也有创建定时任务的API。你可以通过接口直接告诉平台:“每天8点,把这个设备打开”。这样你的服务器也不需要单独跑一个定时进程了,直接调用平台的 /task/create 接口设置好就行。
五、几个让你少走弯路的“坑”
看一眼电流大小:你这台是60A的,但如果你接的是20A的负载,在软件里可以把过载保护值设低一点,这样更安全。
时间戳要对齐:签名用到的
ts是秒(10位数字),不是毫秒。如果你用了毫秒,签名死活都算不对。别在前端直接签千万别在小程序或网页的JavaScript里直接拼接
AppSecret!用户按一下F12就能把你的密钥看光,他就能把你家所有电闸都拉一遍。签名必须在你的后端服务器算好,再传给前端去调用。网络要稳定:这设备只支持 2.4G Wi-Fi,连网的时候留意一下,别连到5G信号上去了。而且最好给它分配一个固定的IP地址,这样网络会更稳定。
简单总结一下:核心就是调那个接口。单次控制用 power,定时断开用 reset,复杂的就用 cron + power。按上面的步骤做一遍,最多10分钟就能跑通了。