小型商铺的总闸通常就是40A左右的断路器,把它接入软件系统,核心就是通过芯步的开放API发送HTTP请求来控制断路器的“合闸”和“分闸”。下面是一份接地气的解决方案,照着做就能搞定。
一、搞定前的准备工作(先把东西备齐)
在写代码之前,你手头需要把这四样东西准备好:
硬件设备:当然是那个40A的智能大功率断路器(计量版),记得给它通上电。
网络环境:一个2.4G的WiFi(智能开关基本都不支持5G频段,注意别选错了)。
平台账号:去芯步官网注册一个开发者账号(他们开放平台是永久免费的,放心注册)。
关键凭证:登录后台,找到 物联网控制台 -> 开发设置 。
记下 AppID(类似你的身份证号)。
设置好 AppSecret(类似你的密码,别泄露)。
拿到手边那个断路器的 设备ID(在设备外壳上或者后台列表里都能找到)。
二、核心操作:怎么发指令关掉它?
芯步的接口设计得很直白,不用搞复杂的那一套。如果你想在晚上关店时一键切断总闸,其实就是发一个HTTP请求。
控制命令示例:关掉断路器
假设我们要关掉这台设备(让它分闸),通常意味着把它的开关状态设为“0”或者“false”。(具体参数看产品手册,一般是 power 或 switch 字段)。
请求地址(稍微解释一下这个地址):
请求方式:POST(推荐,参数多了用GET容易乱)
请求体(Body) 里塞这些数据(JSON格式):
你得注意这几个坑
关于签名:这是新手最容易卡住的地方。
sign的算法是md5(md5(你的AppSecret) + ts),先把自己的Secret做一次MD5,再把得到的结果加上时间戳,整体再做一次MD5。很多语言有现成的库,直接复制粘贴就行。关于时间戳
ts必须是10位的数字(秒级),不是13位的毫秒级,这个极容易搞错。
三、实战接入:用Python跑一下(三行代码的事)
我拿最常见的Python语言举个例子,你看看这逻辑是不是很简单,说白了就是发个请求。
四、怎么把这个功能用到你的软件里?
作为总控电路,你不能每次都敲代码,得把它集成到你的收银系统或者小程序里。这里有几个场景可以发挥一下:
1. 定时任务(无人值守)你在后台或者你的代码里加个定时器。比如:
晚上22:00:发送
{"power": 0},自动断电,省电又安全。早上09:00:发送
{"power": 1},自动合闸,店员来了就能干活。友情提示:如果有冰柜,记得给冰柜那一路单独留着电,或者只控制总闸里的照明支路。
2. 远程应急(老板模式)万一店员忘了关空调,老板在家掏出手机。你的小程序只需要点一下按钮,调一下这个接口,就能远程把店里的总闸拉下来。
3. 联动告警(安全升级)这个稍微高级一点。你可以写个脚本,如果检测到店铺里的烟感报警了,或者设定的用电功率超过了8000W(这台断路器支持电量计量),系统自动触发命令,强制把断路器关掉,防止起火。
五、几个比较实用的
要不要接网关?:这个40A的断路器是WiFi直连的,不需要额外买网关,直接连你家路由器的2.4G信号就行。
失败处理
调用接口返回
200只代表平台收到指令了,不代表设备真的动作了。如果设备当时正好离线(比如WiFi断了),它就收不到。在代码里加个重试机制,或者查一下设备上报的最后在线时间。
局域网控制(进阶)
如果你店里的宽带不稳定,怕断网了控制不了,芯步好像也支持 局域网API(HTTP局域网控制)。既然你能看到这篇文章,如果需要私有化部署,也可以研究一下,这样即便没外网,在店里局域网也能控制。
总的来说:把40A断路器接入软件,核心就是拿到那三个ID(AppID、Secret、设备ID),然后对着API地址发个POST请求改一下 power 值就行了。剩下的就是把你自己的UI界面(开关按钮)跟这个请求绑在一起。