芯步的40A带计量过流保护智能断路器,通过HTTP接口即可实现远程开关状态查询和控制。整个接入流程包括准备凭证、计算签名、发送请求三步骤,接口响应速度在80-120ms左右。下面详细说明具体怎么操作。
一、 搞清楚你的“目标对象”
在动手写代码之前,我们先看一眼这个硬件。芯步的这款 40A带计量过流保护智能断路器(型号通常类似 UNI-DLQ-M-40A-P),相比于普通的智能插座,它有3个很硬核的特点:
大功率与保护:支持40A大电流,自带过流保护功能。当电流超过阈值,它自己就会跳闸,保护后面的设备。
计量功能:它不仅能通断,还能实时告诉你现在电流多大、电压多高、功率多少。
连接简单:它直接连2.4G WiFi,不需要买网关,上电就能配网。
我们要做的,就是通过芯步的后台服务器,给你的断路器发一条“指令”。
二、 准备你的“开发者身份证”
在开始写代码之前,需要先去开放平台获取两样东西,就像你进门的账号和密码:
AppID:你的“用户名”,标识是哪个应用在调用。
AppSecret:你的“密码”,千万别把它硬编码在前端代码里,后台用的时候也要当宝贝藏好。
这两个值可以在芯步控制台的“开发设置”里找到。
三、 核心步骤:如何查询状态与控制
芯步的接口非常直白,就是标准的HTTP POST请求。不管是“查询状态”还是“控制开关”,本质都是下发一条JSON命令。
第一步:计算签名
芯步的接口做了一个防篡改机制。在发请求的时候,需要在URL里带上签名,不然服务器不理你。
签名的算法其实很简单,步骤如下
把你的 AppSecret 做一次 MD5 加密。
把得到的结果拼接上当前的时间戳。
把拼接后的字符串再做一次 MD5。
公式:sign = md5( md5(AppSecret) + ts )
第二步:组装请求
请求地址
https://api.thingboot.com/{你的AppId}/device/control/?sign={计算好的签名}&ts={当前时间戳}请求方法:POST
请求头
Content-Type: application/json请求体(Body)
第三步:实战命令详解
针对你这个40A断路器,order 里面具体怎么写呢?
1. 查询/控制开关状态这是最常用的。只要你不下发新命令,设备就一直保持状态。
查询:其实不需要专门的“查询”指令,下发命令后接口会立刻返回当前状态。或者你也可以通过“设备信息接口”去拉取(具体看官方文档,逻辑类似)。
开启
{"power": 1}关闭
{"power": 0}
2. 读取用电数据既然带计量功能,肯定要读数。虽然“查询”一般能返回全量数据,如果你想单独做监控,这断路器支持读取实时数据:
读取电量:通常是通过获取设备状态的接口,返回的json里会包含
metering字段。类似命令可以是{"metering":"1"},或者是获取设备详情的接口会直接返回电压电流值。
3. 一键复位这个功能很实用,特别是设备过流保护跳闸后,你人不用去现场按开关。
先断后通(重启):如果你想重启一台死机的路由器,可以用这个命令,它会先断开,间隔几秒再自动闭合。
命令示例:
{"reset": 3000}(代表断开3秒后再自动打开)。
四、 代码实操 (直接用bash/Curl测试)
给你一段最直观的代码,你可以直接在Linux命令行或者Mac终端里跑一下,马上就能感受到(记得替换里面的参数):
执行结果预期:如果返回类似 {"code":0,"msg":"success"} 这样的内容,恭喜你,接线没问题,代码也没问题,断路器已经被你远程“掰”上去了!
五、 几个容易被坑的“小贴士”
WiFi频段:这货只支持 2.4G WiFi,如果你家路由器开了双频合一(2.4G和5G同一个名字),记得在路由器后台关掉,或者用手机开个2.4G热点给它配网,不然它死活连不上网。
计量版的区别:你提到的是“带计量”的版本。在读取数据时,如果涉及到读取功率、