芯步的开放接口基于HTTP协议,这意味着你可以用任何编程语言,通过简单的API调用就能实现对25A智能空开的远程控制。下面从准备工作到代码实现,逐步说明整个二次开发流程。
解决方案:基于芯步开放接口二次开发25A远程智能空开
1. 背景与概述
25A远程智能空开通常应用于工业控制、机房配电、充电桩、智能家居总闸等场景。传统的空开需要人工现场操作,而芯步的这款硬件支持通过 HTTP 协议进行远程控制。
本方案的目标是指导开发者利用芯步开放平台提供的 OpenAPI,封装或直接调用接口,实现对 25A 智能空开的通断控制、状态查询以及批量控制。
2. 准备工作
在开始编码之前,需要完成以下硬件与软件层面的准备:
硬件准备
25A 远程智能空开:确保设备已正确安装接线(输入端接电源,输出端接负载)。
网络环境:该设备通常支持 2.4G WiFi。确保设备安装位置有稳定的无线网络信号。
供电:设备加电启动,等待指示灯进入配网状态(通常是闪烁状态)。
平台账号与设备配网
注册并登录芯步开发者控制台。
通过控制台或官方小程序为设备配置 WiFi。关键点:WiFi 必须为 2.4G 频段,确保设备成功连接互联网并在控制台“在线”列表中可见。
3. 接口核心信息
芯步采用标准的 HTTP POST 请求进行控制,无需复杂的 SDK,只需构造正确的 URL 和 Body 即可。
请求地址
POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}注意:如果是纯局域网内私有化部署,地址可能会替换为局域网服务器 IP。
请求头 (Header)
Content-Type: application/json核心参数说明
AppId:应用ID,在控制台“开发设置”中获取。sign:签名,用于身份验证。ts:时间戳,防止重放攻击(调试模式下可暂时忽略)。device:设备ID(整数型),在控制台的设备详情页查看。order:命令(JSON对象),这是控制空开的核心指令。
4. 指令集定义 (Order 参数详解)
针对 25A 智能空开(通常为单路大功率控制或多路独立控制,常见协议参考芯步4路控制器协议),二次开发时的核心指令如下:
| 功能描述 | Order 参数值 (JSON格式) | 说明 |
|---|---|---|
| 开启空开 | {"power1": "1"} | 控制第1路线路接通(通电) |
| 关闭空开 | {"power1": "0"} | 控制第1路线路断开(断电) |
| 单路全控 | {"power1": "0"} 或 "1" | 适用于单路25A空开 |
| 多路独立控制 | {"power2": "1"} | 如果设备是多回路,通过 power1, power2, power3, power4 分别控制 |
| 批量操作 | {"batch":{"relay":[1,3], "power":"0"}} | 同时关闭第1路和第3路 |
| 一键全开/全关 | {"batch":{"relay":[1,2,3,4], "power":"1"}} | 控制所有回路 |
特殊功能(时序控制) :如果你需要实现类似“重启”(先断后通)的功能,可使用以下指令:
脉冲/点动
{"point":{"relay":[1], "interval":1000}}(线路1接通1秒后断开)。先断后通
{"reset":{"relay":[1], "interval":1000}}(线路1断开1秒后再接通)。
5. 二次开发代码示例
以下示例展示了如何通过代码构造请求来控制空开的通断。这里假设已关闭调试模式,需要进行签名计算。
步骤 1:签名计算逻辑通常签名算法为:sign = md5(AppId + AppSecret + ts)你需要将参数按字典序排序后拼接。
步骤 2:HTTP 请求实现
Python 示例 (使用 requests 库):
Java 示例 (使用 OkHttp):
6. 高级开发
1. 获取设备实时状态除了控制通断,二次开发时通常需要同步前端界面(如App开关状态)。采用以下两种方式:
主动查询:调用设备信息查询接口(如果有),获取当前
power1的状态。被动接收 (消息推送)
在控制台配置“消息推送”地址(你的服务器URL)。
当空开状态发生变化时(无论是远程控制还是手动本地按压),芯步平台会主动向你的服务器发送状态变更数据。
你的后端接收到数据后,更新数据库中的状态,以此保证 App 和设备状态同步。
2. 处理网络延迟与超时
设置超时时间:HTTP 请求设置 5-10 秒的超时时间。实际上,设备响应通常在 80-120ms 左右。
异步处理:在 Web 后端或小程序中,使用异步调用(如 Ajax/协程)来执行控制命令,防止 UI 线程阻塞。
3. 安全性考量
签名校验:生产环境下请一定要关闭“调试模式”,严格验证
sign,防止接口被恶意调用。IP 白名单:在控制台将你的服务器公网 IP 加入白名单,增强安全性。
7. 总结
通过芯步的开放接口二次开发 25A 智能空开,本质上就是调用标准的 HTTP API 下发 power 命令。开发者只需要关注业务逻辑(如权限校验、操作日志、定时任务),底层硬件通信完全由平台处理。依照上述步骤,通常在 10-30 分钟内即可完成从环境搭建到第一个“通断”指令的成功调用。