CATALOG

25A远程开关控制器的二次开发核心在于利用芯步开放的HTTP API,将设备接入自有业务系统。以下方案涵盖接口对接、签名计算、指令下发及自定义联动逻辑的实现路径。

1. 解决概述

1.1 产品背景

芯步智能断路器25A(UNI-DLQ-25A)是一款支持WiFi直连的大功率远程控制设备。它无需网关,支持2.4G无线网络,并开放了完整的HTTP API接口 。该设备适用于工业控制、智能农业、智慧楼宇等需要远程通断大电流线路的场景。

1.2 二次开发目标

本方案的目标是指导开发者如何利用开放接口,结合业务需求(如传感器触发、定时策略、系统间联动),实现超越标准App的自定义联动逻辑控制。例如:当温度传感器超过阈值时自动断电,或根据外部系统订单状态自动恢复供电。

1.3 技术特性

  • 通信协议:HTTP/HTTPS 或 MQTT

  • 数据格式:JSON

  • 核心命令:继电器通断控制、状态查询、临时锁定/保持

  • 响应速度:指令下发到设备动作约80-120ms

2. 二次开发环境准备

在开始编码前,需要完成以下基础配置,这部分工作主要在芯步开放平台完成。

2.1 账号与设备初始化

  1. 注册/登录:访问芯步开放平台,完成开发者注册。

  2. 获取凭证:进入“物联网控制台” -> “开发设置”,获取以下关键信息:

    • AppID:应用唯一标识。

    • AppSecret:开发者密码,用于生成签名(Sign)。

    • 注意:平台开放接口永久免费,无额外费用

  3. 设备配网:给25A断路器通电,按照《产品手册》引导将设备配置到本地WiFi网络。记录下设备详情页中的 Device ID(设备ID),后续API调用需要用到

2.2 接口调试模式

  • 调试模式:开发初期,可在控制台“开发设置”中开启“调试模式”。开启后系统暂时不校验signts,方便开发者快速验证指令格式

  • 生产模式:正式上线前,请一定要关闭调试模式,启用标准的签名校验机制以保证安全性。

3. API接口深度解析与调用实现

联动逻辑的核心在于通过代码发送HTTP请求。所有控制操作均指向以下接口端点。

3.1 请求端点与鉴权

  • 请求URLhttp(s)://api.thingboot.com/{AppID}/device/control/

  • 鉴权参数:需在URL中携带 signts

3.2 签名生成规则(Sign)

为了保证接口安全,所有请求必须携带动态生成的签名。算法逻辑如下:

  1. 获取当前时间戳 ts(10位秒级,如 1715385600)。

  2. 计算 md5(AppSecret) 得到 sign_key

  3. 拼接字符串 str = sign_key + ts

  4. 计算最终签名 sign = md5(str)

代码示例(Python):

3.3 核心控制指令集

针对25A断路器,根据同类产品命令格式推测,其主要控制参数集中在powerpower1字段。以下列举常用的JSON指令格式

1. 基础通断控制

2. 批量与多路控制若设备支持多路(如4路控制器模式可使用批量指令),格式如下:

3. 临时联动逻辑(脉冲/点动模式)在自定义联动中,经常需要“触发一次”而不是“持续开/关”,例如按一下开门后自动关闭。这时使用先通后断指令非常合适:

3.4 状态同步机制(重要)

芯步的接口返回code:200仅代表平台已接收指令,不代表设备已执行成功(设备可能离线)。为了保证联动的可靠性,采用以下架构:

  1. 异步消息推送:配置消息服务器接收设备的状态回调。只有当收到设备状态变更的推送时,才确认控制成功。

  2. 状态查询:如果没有配置消息服务器,可在发送指令后延迟200ms调用设备状态查询接口,确认当前状态值。

4. 自定义联动逻辑设计实战

本节将结合实际业务场景,阐述如何将25A断路器嵌入复杂的自动化系统中。

4.1 第一种场景:基于环境监测的紧急制动联动

需求:在机房或充电桩场景,若温度传感器检测到温度过高,自动切断25A断路器电源。

逻辑流程

  1. 数据捕获:业务服务器接收到来自温度传感器的告警Webhook(HTTP回调)。

  2. 条件判断:代码判断温度值 > 70℃。

  3. 动作执行:调用芯步接口,向25A断路器下发关闭指令。

  4. 锁死机制:为了防止温度波动导致反复重启,可以在下发关闭后,利用数据库记录一个“故障锁死”状态,在人工介入前不再接受开启指令。

伪代码实现

4.2 第二种场景:计时租赁/共享设备联动

需求:用户扫码支付后,设备通电X分钟,时间到后自动断电。

逻辑流程

  1. 订单触发:支付回调通知服务器,订单支付成功,时长T=30分钟。

  2. 通电:服务器调用接口开启25A断路器。

  3. 异步延迟任务:服务器不阻塞等待,而是利用消息队列(RabbitMQ/RocketMQ)或Redis过期事件,设置一个30分钟后的延迟任务。

  4. 自动断电:30分钟后,延迟任务触发,调用接口关闭断路器。

优化点:为了避免服务器宕机导致永不断电,可以在下发开启指令时,直接利用断路器的内置定时功能(如果固件支持):

4.3 第三种场景:多设备复杂策略(与门/或门逻辑)

需求:一个通风系统需要同时满足“温度过高”且“烟雾浓度未超标”时才启动风扇(接25A)。

逻辑流程

  1. 上下文存储:服务端维护当前设备的环境变量状态(内存或Redis)。

  2. 策略引擎

    • 收到温度报警(>35度) -> 更新状态为 temp_high=True

    • 收到烟雾数值(<200) -> 更新状态为 smoke_low=True

  3. 联动触发:每次状态更新后执行 if temp_high and smoke_low: start_fan()

  4. 恢复逻辑:当任意条件不满足时,执行 stop_fan()

5. 高级功能与稳定性保障

5.1 局域网直连与私有化部署

芯步设备支持纯局域网工作模式 。对于对公网依赖性低、要求低延迟的内网环境,可以将服务器部署在同一局域网内,直接通过内网IP调用API,不仅速度快,而且不占用公网带宽,断外网也能联动。

5.2 错误码处理

在二次开发中,需要针对常见的返回码编写处理逻辑

  • 502/504:设备不存在或不可用。检查Device ID是否正确,或设备是否已从平台删除。

  • 5009:请求过于频繁。单个设备访问限制为1次/秒,需要在代码中增加限流或重试间隔。

  • 5006:签名错误。请核对AppSecret是否正确,以及时间戳是否为标准的Unix时间戳(秒级)。

5.3 代码架构

开发者封装一个统一的Device Control Class,将签名生成、HTTP请求发送、重试机制、异常捕获封装在一起。在业务代码中,只需要调用 control_device(device_id, action, params) 即可,无需每次处理复杂的通信细节。

6. 总结

通过芯步开放的HTTP接口,对25A断路器进行二次开发来实现自定义联动逻辑是完全可行且高效的。开发者只需掌握关键的签名鉴权和基础的JSON命令组装,即可摆脱App的限制,将物理继电器无缝集成到企业级的业务系统中。无论是智慧农业中的定时灌溉,还是工业自动化中的安全联锁,都可以通过上述方案快速落地。

断路器产品方案:
宿舍楼限电控制:怎么把50A导轨式智能断路器接入到自己的项目中
查看 >>
怎样在户外设备电路保护中集成智能设备来实现电路过流过载保护控制
查看 >>
如何接入35A大功率智能断路器以实现过流自动断电控制
查看 >>
怎么二次开发50A带计量数显物联网断路器来实现场景联动控制
查看 >>
怎样接入50A物联网断路器以实现电路过流过载保护控制
查看 >>
联动场景方案:
怎样在商业空间门禁照明联动控制中接入智能硬件来实现设备运行状态监控
查看 >>
如何在灯光控制中集成智能硬件以实现联动继电器模块扩展控制
查看 >>
如何在共享棋牌室设备机柜电源管理中接入智能硬件来实现自定义总控联动逻辑
查看 >>
如何二次开发壁挂式智能感应控制器来实现语音设备联动警示
查看 >>
怎样在活动现场人体感应与火灾预警中接入智能设备以实现消防预警联动
查看 >>
逻辑用途方案:
怎么接入5位总控PDU插排来实现自定义总控联动逻辑
查看 >>
如何在共享充电宝柜电源管理中对接智能硬件来实现自定义联动逻辑控制
查看 >>
如何在银行网点设备机柜电源控制中集成智能设备以实现自定义总控联动逻辑
查看 >>
怎么在共享麻将馆灯光插座管理中对接智能硬件来实现自定义联动逻辑控制
查看 >>
怎样在智能办公交流电路控制中接入智能设备来实现联动场景逻辑控制
查看 >>