40A智能空开是物联网改造中常用的设备,芯步提供了完整的HTTP API接口,可以让你通过代码实现对设备的远程控制和联动逻辑。下面从接口机制到代码实现,逐步说明如何完成接入。
一、 技术背景与接口机制
芯步的40A智能断路器(智能大功率断路器[计量数显版])核心优势在于开放了底层的HTTP API接口。这意味着你不再局限于厂商提供的App,可以通过任何后端服务(如Node.js、Python、Java等)直接给设备发送指令。
这套机制基于请求/响应模型:
签名机制:为了防止接口被恶意调用,所有请求都需要携带动态生成的
sign(签名)和ts(时间戳)。指令下发:通过向特定的API端点发送POST请求,携带JSON格式的命令体,即可控制设备的通断。设备响应速度通常在毫秒级,是实现实时联动的基础。
二、 接入流程
要完成自定义联动,需依次完成以下三个步骤:
1. 前期准备与凭证获取
你需要登录芯步官网获取开发凭证:
AppID:应用的唯一标识。
AppSecret:用于计算签名的密钥(请勿泄露)。
Device ID:需要控制的40A空开设备ID(通常配网后可在控制台查看)。
2. 签名算法
为了避免因网络重放攻击导致设备误动,每次请求必须携带实时签名。芯步采用的算法逻辑是嵌套MD5,流程如下
将
AppSecret进行一次MD5加密,得到encoded_secret。将
encoded_secret与当前Unix时间戳ts拼接,形成字符串encoded_secret{ts}。将拼接后的字符串再次进行MD5加密,得到最终的
sign。
*公式:sign = MD5( MD5(AppSecret) + ts )*
3. 下发控制指令
利用签名和凭证,向API接口发送指令即可控制空开。该设备支持单路控制、批量控制及定时/联动操作。
三、 自定义联动逻辑实现方案
为了实现自定义联动(如“温度过高则断电”、“按下A开关时B开关延时闭合”),你需要搭建一个中心控制服务(Server)。该服务负责监听触发源,并调用API接口控制40A空开。
第一种场景:基于环境传感器的联动(如:过载保护)
逻辑需求:当某个传感器(如温度/功率计)检测到数值超过阈值,立即切断40A空开。
实施方案
数据获取:通过API获取设备实时功率数据(40A计量版支持实时上报)。
逻辑判断:后端代码判断
CurrentPower > 8000W。执行动作
调用控制接口,
order参数设为:{"power":"0"}(断开断路器的线路)。
第二种场景:设备间的逻辑互锁(如:双路切换)
逻辑需求:A线路闭合接通时,B线路必须断开(防止短路)。虽然40A通常是单路,但在系统中可以通过逻辑实现“虚拟互锁”。
实施方案
触发:用户点击“开启主回路”。
代码逻辑
先发送指令:
{"power":"0"}(确保空开当前是断开的)。再发送延时指令或直接闭合:
{"power":"1"}。
第三种场景:时序控制(定时任务)
逻辑需求:接通1秒后自动断开,用于测试或脉冲控制。
实施方案利用point命令(先通后断)实现单次请求完成复杂时序,无需后端维护定时器,避免进程崩溃导致设备卡死。
请求示例
device:
Your_Device_IDorder:
{"point":{"relay":[1],"interval":1000}}效果:线路1立即接通,1000毫秒(1秒)后自动断开。
四、 实操:代码示例
以下是一段基于Shell/Python的逻辑演示,展示如何构造请求控制40A断路器。
1. 签名生成 (核心步骤)
你需要用代码实现上述的签名逻辑。以Shell配合Curl为例,演示如何计算签名并发送“闭合”命令:
2. 进阶联动逻辑 (Python思路)
如果你需要更复杂的逻辑(如:联动另一个传感器),使用Python或Node.js的后端框架:
五、 关键注意事项
本地局域网控制(私有化):芯步的该款设备还支持局域网(LAN)控制。如果你对延迟要求比较高(如工业自动化),采用局域网IP直连方式调用接口,不经过云服务器,速度更快且不受外网波动影响。
按钮屏蔽:如果你的联动逻辑是“绝对不允许有人手动关闭”,可以在设备配置中开启“按钮动作可自定义、可屏蔽”功能,禁用设备上的物理按钮,仅接受API远程指令。
设备在线状态:在发送命令前,先通过API查询设备状态(
device/status),确认设备在线。如果设备离线(WiFi断开),API会返回超时或设备不可达错误。
通过上述方案,你可以完全以40A智能空开为执行单元,将其无缝集成到自有系统(如MES、智慧工厂或智能家居中枢)中,实现任何你需要的自动化逻辑。