芯步的智能断路器开放标准HTTP接口,这意味着你无需折腾嵌入式开发,用任何编程语言都能快速实现定时通断控制。以下方案涵盖接口对接、签名算法和定时任务实现。
一、 准备工作:理解接口核心架构
在开始编码之前,我们需要确认芯步智能断路器|20A(型号:UNI-DLQ-20A)的接入特性
通信方式:WiFi(2.4G),无需网关,设备直连路由器。
接口协议HTTP API。
特点:基于标准的HTTP请求(POST),数据格式为JSON。
优势:跨语言(Python, Java, PHP, Node.js, C#等均可)、跨平台(Web, APP, 小程序, 后端服务)。
核心能力:支持单路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中使用reset或point参数。指令示例
立即接通,并在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)。
适用场景:工业自动化产线、涉密内网环境、对稳定性要求比较高的场景。
四、 深度开发与功能扩展
解决了定时通断,你还可以利用开放接口做更多事情:
状态反馈与监控除了下发命令,接口还支持查询设备状态。你可以在执行定时任务后,再次调用API获取断路器的当前开关状态和电量参数(如果支持计量版),确认动作是否成功,形成闭环控制。
批量控制芯步的接口支持通过一次请求控制多个设备。例如,在写字楼的定时节能场景中,下班时间可以一条指令关闭整层楼所有的20A断路器。
指令示例
{"device": "ID1,ID2,ID3", "order": {"power": 0}}。
故障保护与联动结合传感器(如温湿度传感器),可以设置自动化规则:如果检测到线路温度过高(超过阈值),立即触发API调用断开20A断路器,实现二次开发级别的用电保护。
五、 总结
针对“芯步智能断路器20A”的二次开发是非常顺畅的。你不需要理解复杂的嵌入式协议,只需具备基础的HTTP请求发送能力即可。
快速实现路径
查文档获取
AppID和Device ID。实现签名算法(MD5套娃)。
写一个
POST请求发{"power":1}。把这个请求丢进定时任务里。