CATALOG

芯步的智能断路器开放标准HTTP接口,这意味着你无需折腾嵌入式开发,用任何编程语言都能快速实现定时通断控制。以下方案涵盖接口对接、签名算法和定时任务实现。

一、 准备工作:理解接口核心架构

在开始编码之前,我们需要确认芯步智能断路器|20A(型号:UNI-DLQ-20A)的接入特性

  1. 通信方式:WiFi(2.4G),无需网关,设备直连路由器。

  2. 接口协议HTTP API

    • 特点:基于标准的HTTP请求(POST),数据格式为JSON。

    • 优势:跨语言(Python, Java, PHP, Node.js, C#等均可)、跨平台(Web, APP, 小程序, 后端服务)。

  3. 核心能力:支持单路20A电流控制,通常具备1路或多路继电器输出。

二、 二次开发核心流程(HTTP API 调用)

要实现对设备的定时通断,核心流程是 “获取凭证 -> 计算签名 -> 下发命令” 。芯步的开放接口通过签名(Sign)来保证安全性,防止接口被恶意篡改。

1. 准备参数

在芯步控制台注册账号后,你将获得以下关键信息:

  • AppID:应用的唯一标识。

  • AppSecret:开发者密码(请勿泄露)。

  • Device ID:目标20A断路器的设备编号。

2. 签名算法解析

这是接入最关键的环节。根据官方技术文档,签名生成逻辑为标准的“MD5嵌套+时间戳”模式

  • 步骤1:计算 md5_secret = md5(AppSecret)

  • 步骤2:拼接字符串 sign_str = md5_secret + ts (ts为当前Unix时间戳,单位:秒)

  • 步骤3:计算最终签名 sign = md5(sign_str)

此机制确保了每次请求的签名都随时间变化,防止重放攻击。

3. 下发“通断”指令

你需要向以下地址发起POST请求:URLhttp(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

HeaderContent-Type: application/json

Body 示例假设你需要让20A断路器闭合(通电)

三、 实现“定时通断控制”的解决方案

有了基础的API调用能力,实现“定时”只需引入时间触发器。根据芯步平台及设备的支持特性,通常有以下三种实现方式,推荐按优先级选择:

方案一:利用设备内置“定时任务”接口(最简单、最可靠)

芯步的部分智能通断器支持在order指令中直接包含延时或定时参数,无需外部服务器维护定时任务队列

  • 场景:逻辑简单的定时,如“1小时后关闭”。

  • 实现:在order中使用resetpoint参数。

  • 指令示例

    • 立即接通,并在1小时后自动断开

      *(注:interval单位通常为毫秒,3600000ms = 1小时)*

方案二:通过后端服务器实现 Cron 定时任务(最通用)

如果你需要复杂的周期性调度(如:每天早上8点开,下午6点关),在云端服务器或本地服务器中搭建定时脚本。

  • 技术选型:Linux Crontab, Windows Task Scheduler, Python APScheduler, Node.js node-schedule。

  • 逻辑流程:定时任务触发 -> 执行签名算法 -> 请求API接口。

  • 代码案例(Python + CRON)

方案三:局域网局域网内网直连部署(私有化方案)

作为芯步的特色,该设备支持纯局域网环境运行(私有化部署)。如果你的服务器与20A断路器处于同一个局域网内(例如工厂车间内网),可以不经过云平台,直接通过设备内网的IP地址进行HTTP控制,延迟极低(<100ms)。

  • 适用场景:工业自动化产线、涉密内网环境、对稳定性要求比较高的场景。

四、 深度开发与功能扩展

解决了定时通断,你还可以利用开放接口做更多事情:

  1. 状态反馈与监控除了下发命令,接口还支持查询设备状态。你可以在执行定时任务后,再次调用API获取断路器的当前开关状态和电量参数(如果支持计量版),确认动作是否成功,形成闭环控制。

  2. 批量控制芯步的接口支持通过一次请求控制多个设备。例如,在写字楼的定时节能场景中,下班时间可以一条指令关闭整层楼所有的20A断路器。

    • 指令示例{"device": "ID1,ID2,ID3", "order": {"power": 0}}

  3. 故障保护与联动结合传感器(如温湿度传感器),可以设置自动化规则:如果检测到线路温度过高(超过阈值),立即触发API调用断开20A断路器,实现二次开发级别的用电保护。

五、 总结

针对“芯步智能断路器20A”的二次开发是非常顺畅的。你不需要理解复杂的嵌入式协议,只需具备基础的HTTP请求发送能力即可。

  • 快速实现路径

    1. 查文档获取 AppIDDevice ID

    2. 实现签名算法(MD5套娃)。

    3. 写一个 POST 请求发 {"power":1}

    4. 把这个请求丢进定时任务里。