芯步的50A数显智能空开支持HTTP接口调用,二次开发实现定时通断并不复杂。下面从接口准备、签名计算到代码实现,梳理一个完整的实操方案。
一、 背景与思路
有时候,我们需要让大功率设备(比如充电桩、工厂机器、大型热水器)在特定时间自动断电或通电。市面上普通的智能插座承载不了这么大的电流,而芯步的50A数显智能空开就是专门干这个活的。
它有一个很好的特点:开放了HTTP接口。这意味着你不需要用它的官方APP,完全可以写个脚本,或者把你自己的系统对接上去,想什么时候开就什么时候开,想什么时候关就什么时候关。
核心思路:用代码(或低代码平台)通过HTTP请求,调用芯步云平台,云平台把指令下发给那个50A的空开。
二、 准备工作:先拿到“钥匙”
在动手写代码前,需要先拿到几个关键凭证(就像你家大门的钥匙和密码)。
注册/登录芯步控制台:去他们官网注册个账号。
获取AppID和AppSecret
登录后,进入控制台 -> 开发设置。
你会看到两个字符串:
AppID(应用ID)和AppSecret(开发者密码)。注意:这个Secret非常关键,千万别泄露出去。
获取设备ID
把你手里的50A空开配好网,连上2.4G WiFi(注意这货不支持5G WiFi)。
在控制台的设备列表里,找到你这个空开,它旁边会有一串数字,这就是设备ID(device)。
三、 核心技术:签名计算与接口调用
芯步的接口为了安全,不让你裸奔着发命令。你需要做一个叫“签名”的东西。
接口地址https://api.thingboot.com/{你的AppID}/device/control/?sign={计算出的签名}&ts={当前时间戳}
请求方法:POST请求头Content-Type: application/json请求体
怎么计算签名(sign)?
这个稍微有点绕,但照着做就行。公式是:sign = MD5 ( MD5 (AppSecret) + ts )
看不懂公式没关系,看代码就懂了。
四、 实战:用Python写个定时脚本
为了方便演示,我们直接用Python写脚本。你可以把它放在树莓派上,或者Windows电脑的计划任务里,甚至云服务器上。
1. 先写个控制函数
这个函数负责给空开发送“开”或“关”的指令。
2. 实现“定时”功能
既然要“定时通断”,我们没必要去搞复杂的时间轮询。最简单的办法:直接用操作系统的计划任务。
但是,如果你想在代码里搞定,比如想让它“晚上8点关,早上8点开”,可以加个循环和判断:
注意:上面的循环脚本适合在小型服务器上跑;如果你是在Windows上,用“任务计划程序”直接定时运行那个control_device(1)脚本会更稳。
五、 进阶玩法:利用设备自带的“硬件定时”
如果你不想让电脑24小时开着去发命令,其实这个空开硬件本身可能支持“定时任务”。
芯步的设备通常支持在云端设置定时器。你可以通过接口创建任务(Task)
接口
POST /{AppID}/task/create/作用:你告诉芯步的云服务器:“请在每天18:00帮我给设备发一个关的命令”。
好处:指令存储在云端,断网或者你的电脑关机了,定时器依然生效。
不过这个需要调用创建任务的API,通常需要在控制台先看看有没有对应的限时策略接口。
六、 针对50A空开的特别提醒
接线安全:50A的电流属于比较大功率了,接线的时候一定要拧紧螺丝,防止发热起火。如果你不是专业电工,找电工操作。
关于“数显”:这个空开自带屏幕显示电压电流。这一点很方便,你可以额外写个脚本去读取数据(通常是查询设备状态接口),看看电压稳不稳,电流有没有超,如果电流过载可以触发自动断电逻辑。
局域网控制(可选)如果你不想走外网(云平台),这设备支持私有化部署。你可以查阅它的手册,如果你的服务器和设备在同一个局域网内,可以直接通过局域网IP下发指令,延迟会更低(80-120毫秒左右)。
七、 总结
用一句话总结就是:拿好AppSecret,算好签名,往 api.thingboot.com 扔一条 {"power":0} 或 {"power":1} 的JSON数据。
无论你是用Python、PHP还是JavaScript(Node.js),甚至是Excel的VBA,只要支持HTTP请求,都能在10分钟内把这个功能搞定。