芯步的10A智能开关全系列都开放了HTTP接口,这意味着你可以完全绕过官方App,把它集成到你自己的系统里。下面这份方案会手把手教你如何二次开发,实现远程参数配置和管理。
一、 我们要解决什么问题?
很多时候,我们把智能开关买回来只能通过App控制,太“傻瓜”了。如果你是系统集成商、运维人员或者喜欢折腾的开发者,肯定希望能把这些开关融入到自己的管理系统里。
比如:
批量管理:写字楼里有几十个开关控制饮水机、灯带,总不能一个个去按吧?
远程修改:客户想把定时时间从晚上10点改成9点,你难道要跑一趟?
自动化联动:想让开关和你的传感器、服务器挂钩,比如服务器温度过高自动重启空调插座。
简单来说,我们的目标就是:把你自己的服务器变成这些智能开关的“大脑”,随时随地下发指令,修改它们的行为(开关、定时、断电恢复等)。
二、 准备工作:拿到“钥匙”和“门牌号”
在开始写代码之前,我们需要去芯步的开放平台拿几样东西,这个过程很简单:
注册开发者账号:去芯步官网注册,进入“工作台”。
创建应用:在工作台里创建一个应用。成功后,你会得到两个非常重要的字符串:
AppID:相当于你的“用户名”。
AppSecret:相当于你的“密码”,千万别泄露给别人。
获取设备ID:把你手里的10A智能插座添加到你的账号下,在设备列表里能看到一串数字(比如
1878),这就是Device ID,相当于这个插座的“身份证号”。
科普一下: 它们的接口非常“良心”,只要是支持HTTP请求的语言(Python, Java, PHP, C#,甚至是命令行)都能对接。
三、 核心难点攻克:签名计算
这是二次开发里唯一有点头疼的地方,不过也别怕。芯步为了安全,所有接口都需要带签名。签名的算法是md5( md5(AppSecret) + ts )。
ts:当前时间戳(比如 1715678900)。
用大白话解释流程:
把你的
AppSecret做一次MD5加密,得到字符串A。把 字符串A 拼接上当前的时间戳
ts,得到字符串B。把 字符串B 再做一次MD5加密,得到的就是签名。
注意:时间戳
ts一定要和签名里用的是同一个!而且时间戳要和服务器时间误差不能太大,否则会提示签名过期。
四、 实战:配置即控制
芯步的10A开关有个很牛的特性:“配置”就是下发“命令”。你想要它定时、想要它上电自检、想要它锁定状态,只需要向接口发送不同的JSON数据包就行。
1. 接口地址
方法:POSTHeader:Content-Type: application/json
2. 基础控制(开/关)
这是最常用的,比如你要远程重启路由器(先把开关关了,过5秒再开):
这里 power 针对的是10A插座的总控。
3. 核心功能:远程参数配置(定时与“先通后断”)
这就是我们说的“远程配置管理”的精髓了。很多人在管理设备时,需要让开关“自动回位”。
场景A:只想让它通电1小时(临时配置)假设你要给电动车充电,只充1小时防止过充。参数名:reset
注意,这里的单位是毫秒。3600000 毫秒 = 1 小时。效果: 插座会立刻接通,哪怕用户按了物理按钮关掉它,它也会保持断电状态,直到1小时后自动断开。这非常适合给公共区域的充电桩或演示设备用。
场景B:让它闪断一下(点动模式)你需要重启一台服务器或者一台老式饮水机(需要断电复位)。参数名:point
效果: 插座会立刻断开,过5秒后(5000毫秒)自动重新接通。这就是“先断后通”,完美解决网络设备卡死需要物理重启的问题。
场景C:校准/获取电参数(计量版专属)如果你买的是带功率计量的版本(UNI-CZ-10A-P)。你可以通过接口读取电压、电流、功率数据。这对于做能耗管理非常有用,比如你可以设定逻辑:如果功率连续10分钟低于5W,说明设备没工作(或者关机了),自动断电节能。
4. 状态保持功能(锁定配置)
有时候,我们不想让现场的人瞎按开关。比如机房重地,任何人按开关都不能关掉服务器电源。你可以下发“状态保持”命令:
这样,无论是谁去按插座上的实体按钮,开关都会瞬间弹回来,保持通电状态。
五、 代码实现(Python示例)
为了让你看得更明白,我用Python写个简单的demo。这是最灵活的方式,你可以把它集成到任何系统中。
六、 高级玩法:异步消息与全自动运维
如果你真的想把系统做得很专业,光靠主动查询是不够的。芯步支持消息推送。
你可以设置一个接收URL(Webhook),当开关状态变化、有人按了按钮、或者功率突变时,平台会主动把数据发到你的服务器。
应用场景:
异常报警:如果监测到电流超过10A,你的服务器立刻收到报警,自动切断电源并给管理员发短信。
同步状态:如果你有多个管理界面(比如PC端和手机端),利用推送可以保证所有端的状态都是实时同步的,而不是依赖轮询。
七、 总结
芯步的10A开关二次开发其实并不复杂:
接口统一:都是HTTP,不管是C语言还是PHP,原理一样。
配置即命令:想要实现“远程配置管理”,就是把传统的开关命令
power换成带时间参数的reset或point。安全性:别忘了那个双MD5加密的签名,这是打通API的钥匙。
只要搞定了上面那个Python脚本的骨架,你基本就能把它集成到你自己的SaaS平台、HomeAssistant或者企业微信机器人里了。