芯步的40A智能断路器开放了标准的HTTP接口,对接起来其实挺简单的——核心就是调用API发送命令,再配合一个定时触发器(比如cron任务)。下面这份方案会一步步带你走完从准备工作到代码实现的完整流程。
怎样二次开发40A过流保护智能断路器以实现定时通断控制
针对型号:芯步 智能大功率断路器 40A (UNI-DLQ-M-40A)
1. 准备工作:把“家伙什儿”都备齐
在动手敲代码之前,咱们得先确认手里有这几样东西:
硬件设备:已经通电并连上网的40A智能断路器(这玩意儿支持2.4G WiFi,直接连就行,不需要额外的网关)。
开发者账号:去芯步官方的开放平台或者控制台注册一个账号。
关键密钥:登录控制台后,找到“开发设置”。
AppID:相当于你的用户名,标识是哪个应用在调用。
AppSecret:相当于密码,千万千万别把它写在网页前端的代码里,得放在后端。
设备ID:在控制台找到你那个断路器的设备ID(就是一串数字)。
2. 核心原理:说白了就是发个指令
芯步这接口挺友好的,别想的太复杂。咱们的“定时开关”其实就是:一个定时器 (Cron/计划任务) + 一个HTTP请求(POST)
你这台40A的断路器,虽然功率大(能扛8000W),但控制它和开关灯一样简单。我们只需要向特定的URL地址,POST一段JSON文本就行了。
3. 动手写代码 (以Python为例,最容易懂)
这里用Python写一个简单的脚本,方便你在树莓派、服务器或者电脑上跑。其他语言像Java、PHP、Node.js也都有对应的例子,原理是一样的。
第一步:搞个签名 (Sign)芯步的接口为了安全,需要做个MD5加密签名。规则是:sign = md5( md5(AppSecret) + ts )。
4. 实现“定时通断”:配置定时任务
既然有了控制开关的函数,那“定时”就简单了。不需要修改上面的代码,只需要在服务器或电脑上设置一个定时任务,在指定时间调用这个脚本就行了。
这里介绍最简单的方式:Linux Crontab (适合放在服务器上)
假设你把上面的脚本保存为 breaker_control.py,并且想实现“每天早上8点自动开启,晚上10点自动关闭”。
打开终端,输入
crontab -e在文件末尾添加两行代码:
如果你用的是Windows那就用“任务计划程序”,创建一个基本任务,触发器选“每天”,操作选“启动程序”,程序填 python,参数填脚本路径。
5. 高级玩法:不止是定时开关
既然你已经开始二次开发了,那光定时开关可能还不够,这个接口其实还能做点更有意思的事情:
电量统计与过流保护阈值设置:如果用的是计量版,你可以通过接口查功耗。比如设置一个逻辑:“如果实时功率超过8000W持续5秒,立刻断电并发送报警”。
联动控制:比如接入你家的智能家居系统(HomeAssistant等),通过这个HTTP接口做桥接,让它融入全屋智能。
断网本地执行:如果不想依赖外网,芯步的设备是支持局域网控制的。只要你的电脑和断路器在同一个路由器下,把URL里的
api.thingboot.com换成断路器的局域网IP即可(具体局域网协议可以翻一下手册)。
6. 几点小提醒
安全第一:这个40A的断路器一般是接总闸或者大功率电器的,测试的时候先用小灯泡或者负载小的电器试,确认代码逻辑没问题了再带大负载。
签名时效:上面代码里的
ts是秒级时间戳,千万别搞成毫秒了,否则会一直报签名错误。日志记录:在上面代码里加上日志功能,记录每次开关机的时间和原因,万一哪天半夜跳闸了,你能查到是谁干的。
总结一下这套方案就是 “Python脚本 + Crontab定时” 。照着上面的代码改改参数,半小时内你就能让这台40A的大家伙乖乖听电脑的话,定点上班下班了。