芯步40A大功率计量断路器基于WiFi直连架构,开放HTTP/MQTT接口,支持实时功率数据采集与远程控制。以下是完整的二次开发技术方案。
1. 解决概述
1.1 背景与目标
在工业自动化、智能建筑、基站能耗监控等场景中,对大功率回路(最高40A/12000W)的实时功率监测与远程控制需求日益增长。芯步智能大功率断路器(计量版)集成了高精度电量计量芯片,支持通过开放的API接口实时读取电流、电压、功率等数据。
本方案的目标是指导开发者如何利用该产品的 HTTP/HTTPS 开放接口,进行二次开发,实现以下目标:
实时数据采集:主动获取断路器负载端的实时功率、电能等计量数据。
状态监控:监测断路器的通断状态。
数据融合:将采集的数据集成至企业自有EMS(能源管理系统)、SCADA系统或云平台。
1.2 适用硬件与规格
推荐型号:UNI-DLQ-M-40A-P(计量版) / 计量数显版
关键参数
额定电流:40A(最大)
额定功率:8000W - 12000W(根据电压不同)
网络方式:WiFi 2.4GHz(直连,无需网关)
核心优势:设备无需网关,直连路由器,响应速度极快(毫秒级)。
2. 技术架构与通信机制
2.1 系统架构图(文字描述)
整个二次开发架构分为三层:
感知层:40A大功率计量断路器。负责采集负载端的电压、电流、功率因数等原始数据,并执行通断指令。
网络层:厂商API云平台。设备通过WiFi上报数据至云端,同时开放标准的RESTful API。
应用层:用户自建服务器或SaaS应用。通过调用API获取数据,进行业务逻辑处理(如超限报警、数据展示)。
2.2 核心通信协议
芯步开放平台支持两种主流对接方式,推荐使用HTTP同步调用:
HTTP/HTTPS接口:适用于请求-响应模式,如主动查询实时功率、下发合闸指令。
MQTT协议:适用于需要实时推送大量数据的场景(需配置消息服务器)。
3. 二次开发步骤详解(以Python为例)
为了采集功率数据,你需要完成以下四个步骤的开发工作。
3.1 前期准备:获取密钥与设备ID
在开始编码前,需要在芯步控制台获取以下凭证:
AppID:应用的唯一标识。
AppSecret:秘钥,用于生成签名。
Device ID:设备的唯一ID(通常在设备外壳标签或控制台获取)。
3.2 认证机制:签名计算(Sign)
所有API请求均需携带签名进行身份验证。签名算法如下:
将
AppSecret进行第一次MD5加密,得到encrypted_secret。获取当前Unix时间戳(秒级)
ts。将
encrypted_secret与ts拼接,再进行一次MD5加密,得到最终的sign。
公式sign = md5( md5(AppSecret) + ts )
3.3 关键实现:采集功率数据
芯步的设备支持 状态自动上报 和 主动查询 两种模式。为保证实时性,采用主动查询机制。
接口POST /device/control/核心逻辑:向指定设备下发“查询计量数据”的命令,设备会返回包含功率值的JSON字符串。
代码示例(Python):
3.4 远程控制(辅助功能)
在采集数据的同时,你可能需要具备远程分合闸的能力。命令格式如下:
合闸
{"power1": 1}(接通线路)分闸
{"power1": 0}(断开线路)
4. 关键接口参数说明
为了更准确地解析数据,请关注 order 命令中的以下字段(具体以最新产品手册为准):
| 功能 | 命令示例 (Order Json) | 返回数据字段说明 |
|---|---|---|
| 查询实时功率 | {"metering":1} | power:有功功率(W)voltage:电压(V)current:电流(A)elec:电量(kWh) |
| 读取设备状态 | {"status":1} | power1:1表示合闸,0表示分闸 |
| 读取总用电量 | {"elec":"read"} | 返回截止目前的累计度数 |
注意:40A设备功率较大,采集频率不宜过高(间隔 ≥ 5秒),以免对设备WiFi模块造成过大负载。
5. 私有化部署与局域网方案
对于数据安全要求比较高的场景(如军工、金融数据中心),芯步支持 私有化部署。
5.1 局域网纯环境
操作方法:设备配置WiFi后,在控制台开启“局域网”模式。
优势:数据完全不经过外网,所有API请求在内网闭环,延迟极低(<10ms)。
5.2 自建消息服务器
机制:设备直接将计量消息推送到开发者指定的私有服务器地址。
配置:在设备配网设置中,填入
Server Address(你的服务器IP/域名),设备将数据封装成JSON格式POST到该地址。
6. 数据处理与应用
在实际应用中,采集到的原始功率数据可以按以下逻辑进行深化开发:
异常报警逻辑
设定阈值(如 > 11000W)。若连续3次采集值超过阈值,系统自动触发告警(短信/邮件),并可选执行
{"power1":0}进行断电保护。
能耗统计
将每次采集的瞬时功率值与时间积分,计算某时间段的能耗。例如:
今日总能耗(kWh) = sum(瞬时功率 * 时间间隔)。
数据可视化
使用 ECharts 或 Grafana 展示功率曲线,直观反映设备启停状态和负载变化。
7. 总结
通过对芯步40A大功率计量断路器的二次开发,你可以快速实现高精度功率数据采集。其开放的HTTP接口设计简洁,签名机制标准,只要有基础的网络编程能力(Python/Java/Go/PHP均可)即可在数小时内完成核心功能对接。
实施路线图
环境验证:注册芯步账号,在控制台直接点击“调试”查看设备回报数据。
代码实现:封装签名工具 -> 编写数据拉取脚本 -> 存入数据库。
业务集成:将断路器逻辑嵌入你的主系统(如MES、智慧园区平台)。
如需具体设备的命令字列表,请查阅芯步官网对应产品的《产品手册》。