芯步智能通断器的开放接口采用 HTTP API 和状态回调机制,可以灵活对接各类软件项目。以下方案围绕控制接口调用、设备状态实时感知、自定义联动逻辑实现三个层面展开,帮助快速搭建满足场景需求的二次开发系统。
解决方案:基于芯步开放接口的智能WiFi通断器二次开发与自定义联动控制
1. 总纲与设计
针对智能WiFi通断器电路板模块的二次开发,芯步提供了标准的 HTTP API 和 设备状态回调 机制 。
为了实现复杂的自定义联动逻辑(例如:温度超标断电、双设备互锁、定时循环),推荐采用 “云-端-规则引擎” 的架构。开发者无需修改通断器固件,而是通过中间件服务器(或Serverless函数)接管设备的控制权与事件监听。
核心架构流程:
设备层:智能通断器连接WiFi,待机。
接入层:开发者服务器调用芯步开放接口,携带签名(Sign)下发指令。
感知层:设备状态变化时,芯步平台主动推送状态至开发者预设的URL。
逻辑层:开发者服务器解析状态,运行自定义规则(Python/Node.js/Java),并触发下一动作。
2. 环境准备与接口认证
在二次开发前,需在芯步控制台获取密钥,这是所有API请求的安全基础。
获取凭证
AppID:应用唯一标识。
AppSecret:开发者密码,用于计算签名 。
签名算法所有HTTP请求需携带
sign和ts(时间戳)参数。计算公式
sign = md5(md5(AppSecret) + ts)注意:先将
AppSecret进行一次MD5加密,再将结果字符串与时间戳拼接,最后对整个字符串再做一次MD5加密 。
接口根地址
https://api.thingboot.com/{AppID}/device/control/
3. 核心控制接口实现
通过携带签名的POST请求,向指定设备下发order命令。
请求示例假设需要控制设备ID为
ABC123的通断器闭合(开启)。注:
{"power":1}代表开启线路,{"power":0}代表关闭 。高级控制指令除了简单的开关,芯步接口支持自定义动作,这对于二次开发实现复杂逻辑至关重要:
点动模式
{"point": 500}:开启500毫秒后自动关闭。先通后断
{"point": 2}:瞬间导通以触发门磁或脉冲设备 。延时关闭
{"power": 1, "delay": 10}:开启后10秒自动关闭(具体视固件版本支持,如不支持需服务端逻辑辅助)。
4. 实现“自定义联动”的关键:消息订阅与状态感知
要实现自定义联动,服务器必须实时知道设备当前是开了还是关了,而不是被动等待用户点击。
配置消息推送URL在芯步控制台的开发设置中,配置
Callback URL。推送机制当通断器状态发生变化(物理按键按下、网络指令触发或达到阈值)时,平台会立即向该URL发送POST请求,包含设备ID、当前状态等JSON数据 。
二次开发逻辑实现开发者接收回调后,即可在本地/服务器代码中实现自定义联动,例如:
场景A:高温断电保护联动
接收温度传感器推送(假设其它接口):30°C。
自定义条件判断
if (temp > 30) { turn_off_relay() }。调用芯步接口:
{"power": 0}。
场景B:互锁逻辑(一路开则另一路关)
接收通断器A的状态改变回调:
{"power":1}(开启)。逻辑服务自动调用控制命令下发:
device=B,{"power":0}(强制关闭设备B)。
场景C:自动化定时灌溉
开发者服务器设定Cron任务。
到达时间点,服务端签名请求接口:
device=C,{"power":1, "delay": 60000}。
5. 私有化部署与局域网控制(高阶)
对于工业环境,若需断网运行或低延迟联动,芯步通断器支持私有化部署。
原理:设备通过配置,将数据上报地址从官方云改为开发者自建的服务器IP或域名。
实施
在设备配网阶段或通过控制台,指定MQTT Broker地址或HTTP API的Host。
设备数据将直接发送至本地服务器,无需经过外网,极大降低联动延迟。
建立本地规则引擎(如Node-RED),实现纯局域网内的自动化控制。
6. 代码实现片段(Python示例)
以下是一段运行在服务器端的联动控制伪代码:
7. 总结
通过上述方案,开发者利用芯步提供的开放HTTP接口和实时状态推送,无需改动底层固件即可实现T级(服务端触发)的自定义联动逻辑控制。这种方案将业务逻辑解耦到云端或本地服务器,不仅保持了硬件的稳定性,也赋予了系统无限的扩展可能,适用于智能家居、工业自动化及农业灌溉等复杂场景。