芯步60A带计量智能断路器的开放接口基于HTTP协议,签名机制为双重MD5加密。以下方案涵盖从硬件准备、API对接、数据获取到平台集成的完整流程。
1. 产品概述与核心参数
芯步推出的智能大功率断路器[计量版](型号:UNI-DLQ-M-60A-P)是一款支持高功率(额定12000W)的远程控制设备。
核心功能:不仅支持远程通断控制,还具备电流、电压、功率实时计量功能,以及过载保护/限流能力。
通信方式:采用WiFi 2.4GHz直连,无需额外网关。
接口开放度:提供全开放的HTTP API,支持Web、APP、小程序及私有化部署系统对接。
2. 对接准备
在开发前,请完成以下准备工作:
硬件就绪:确保60A断路器已正确安装并通电(注意:60A断路器接线需要符合电气规范,由持证电工操作)。
注册与创建
访问芯步官网注册账号。
登录后进入控制台,创建“工作台”并添加“物联网控制台”模块。
获取关键凭证
在控制台的“开发设置”中获取 AppID 和 AppSecret。
AppID:用于标识调用者身份。
AppSecret:用于签名加密,严禁直接暴露在客户端代码中。
设备配网:使用官方“物联网控制台”或“芯步”APP,将断路器添加至2.4G WiFi网络,并从控制台获取设备ID。
3. API对接核心技术解析
所有对接均基于HTTP协议,核心难点在于签名(Sign)的生成。
3.1 签名机制
为了防止接口被篡改或重放攻击,芯步采用 双重MD5加密 + 时间戳 策略。
公式
Sign = md5( md5(AppSecret) + ts )参数说明
md5():标准的32位小写MD5加密函数。AppSecret:开发者密码。ts:当前Unix时间戳(秒级)。+:字符串拼接。
生成算法步骤如下:
将
AppSecret进行第一次MD5加密,得到字符串S1。将
S1与当前时间戳ts拼接得到字符串S2。将
S2再次进行MD5加密,得到最终的Sign。
3.2 接口地址与通用请求头
请求地址
https://api.thingboot.com/{AppID}/device/control/请求方法
POSTQuery参数
sign={计算出的签名}&ts={当前时间戳}Header
Content-Type: application/jsonBody参数
4. 计量监测与数据获取
这是本次对接方案的核心需求。针对UNI-DLQ-M-60A-P型号的设备,获取计量数据的核心在于 “查询数据” 或 “设备主动上报”。
4.1 获取实时计量数据
你需要向设备下发查询计量数据的命令:
命令(Order)
{"metering":""}或{"metering":"get"}具体操作向设备发送HTTP控制指令,命令内容为获取计量数据。设备接收到命令后,会在响应中或在后续的上报中返回当前数据。
数据解析示例:通常情况下,查询返回的JSON字符串会包含以下关键字段:
U/v:电压 (V),如220.5I/i:电流 (A),如12.3P/p:功率 (W),如2706E/e:电量 (kWh),如123.45
4.2 获取实时计量数据的实现方式
方式一:主动查询使用HTTP API发送查询命令,适用于轮询场景,如每隔几秒查询一次当前功率。需要将命令封装在order字段中请求:
核心请求:向 API 发送命令
order={"metering":""}。适用场景:实时监控页面,用户点击“刷新”或高频轮询(间隔>2秒)。
方式二:被动接收设备会在状态变化时主动推送数据。这需要你搭建一个公网可访问的回调服务,并在控制台配置“消息推送URL”。
这种方式更为高效,无需轮询,服务器资源占用更少。设备检测到数据变化(如电流剧烈波动)时,会将计量数据打包发送至指定服务器接口。
5. 智能限流的实现机制
“60A带计量限流”除了监测,核心在于“限制”。
实现逻辑如下:
设置阈值:通过API下发设置命令,设定断路器的过载阈值。例如:
{"limit_power": 12000}(设定功率限制为12000W)或{"limit_current": 60}。本地执行:一旦本地电流或功率超过设定阈值,断路器芯片会立即执行物理断开动作。此过程不依赖网络,即便是WiFi断开,过载保护依然有效。
恢复供电
自动恢复:过载一段时间后可自动合闸(可配置)。
远程恢复:通过API下发
{"power":1}命令进行远程合闸。
监测与联动示例:假设你需要监测某大型设备的运行状态(功率>500W视为运行中):
通过接口轮询获取功率数据
P。若功率>500W,系统判定“设备运行中”,前端界面显示“红色运行中”图标。
若设备空转(功率与平时不符),可自动调用
{"power":0}切断电源,保护设备。
6. 开发示例
以下示例展示如何利用API获取计量数据(以Bash/Python思路为例,通用逻辑):
步骤 1:计算签名
步骤 2:发起HTTP请求读取计量数据
URL
https://api.thingboot.com/{AppID}/device/control/?sign=$sign&ts=$tsPOST Body
步骤 3:处理返回设备成功接收命令后,会在返回的日志中显示“命令已下发”。若设备配置了回调,你将在指定的服务器地址收到如下格式的数据:
7. 架构与安全
7.1 高频监测优化
轮询频率不要低于2秒/次,过于频繁的请求可能触发API限流。
替代方案:利用设备主动上报功能。可以配置HTTP回调服务器,让断路器在计量数据变化超过一定阈值时自动推送数据,这样可以避免无效轮询。
7.2 安全策略
AppSecret保密:签名计算绝对不能在微信小程序前端、APP前端或网页前端代码中进行。必须在自建的后端服务器中完成,防止Secret泄露导致设备被非法控制。
私有化部署:如果对数据安全要求比较高,或处于纯内网环境,芯步支持私有化部署方案。此时API请求会指向本地服务器,不再经过云端,数据完全由自己掌控。
8. 总结
通过芯步60A带计量智能断路器的开放API,开发者可以非常便捷地实现如下能力:
数据可视化:将电流、电压、功率实时展示在大屏或APP上。
能耗分析:通过读取电量(kWh)数据,进行分时计费或能耗报表统计。
智能联动:当监测到功率异常(如设备故障、空转)时,自动触发断电指令,实现无人值守的精细化管理。
具体对接时,首先使用芯步官方提供的“物联网控制台”进行命令调试,确认设备响应正常后,再进行代码层面的集成开发。