CATALOG

一、写在前面:为什么需要屏蔽按钮?

在实际应用中,很多场景需要禁止本地按钮操作。比如:

  • 公共区域的用电设备:防止路人随意开关

  • 远程控制的工业设备:本地误触可能引发安全隐患

  • 儿童房或特殊场所:避免熊孩子乱按

  • 自动化联动场景:设备状态应由系统自动控制,本地干预会打乱逻辑

芯步AC3-10A计量版(型号UNI-TDQ-AC3-10A-P)正好支持“按钮动作可自定义、可屏蔽”这个功能。下面咱们就聊聊怎么通过二次开发把它实现出来。

二、先了解一下AC3-10A的开放接口

AC3系列产品开放的是标准的HTTP接口,也就是说,任何能发HTTP请求的语言(Python、Java、JS、Shell……)都能和它通信

控制设备的核心接口长这样:

请求体是一个JSON,结构如下

常见的命令有这么几种:

命令类型说明示例值
power控制通断"1"开 / "0"关
point先通后断(延时断开)"3000"(毫秒)
reset先断后通(延时重启)"3000"(毫秒)

这些都是常规操作,但要实现“屏蔽按钮”,我们需要看另外一个接口——设备配置类接口

三、核心方案:修改按钮行为配置

AC3-10A的物理按钮本质上是一个触发源,它的行为可以通过配置参数来改变。根据官方文档描述,“按钮动作可自定义、可屏蔽”,意味着我们可以通过API把按钮的动作设置为“无响应”或“空操作”

方案思路

简单说就是:不让物理按钮绑定任何有效动作。这样按下去,设备内部处理了按键事件,但没有下发任何执行指令,按钮就成了“摆设”。

具体怎么做?

第一步:查阅按钮配置的参数名

虽然官方没有在公开文档里把所有配置参数列全,但通常这类设备的按钮配置对应参数名类似 button_actionkey_functionlocal_control 等。先从控制台或者设备详情接口获取设备的能力集。

第二步:调用设备配置修改接口

配置接口的路径一般是 /device/set/device/config,类似这样:

第三步(可选):设置恢复密码

某些场景下,你可能希望“屏蔽按钮”不是永久性的,而是可以通过特定方式(比如长按10秒、连续按5次)恢复。这个可以结合设备的自定义联动功能来实现。

四、实战示例:Python完整脚本

下面给一个稍微完整的示例,包含了按钮屏蔽和恢复功能:

五、注意事项和小技巧

  1. 参数名以官方文档为准:上面用的 button_action 是我根据常见命名推测的,实际使用请先查一下官方API文档,确认准确的参数名。可以先用控制台或抓包工具看看正常配置下发时的字段名。

  2. 计量版的特点:既然是计量版(带-P后缀),它还能实时上报功率、电流、电压数据。你可以做个联动:当检测到功率异常波动时自动屏蔽本地按钮,防止危险操作。

  3. 固件版本差异:不同固件版本可能对按钮配置的支持程度不同。如果发现配置不生效,可以先升级设备固件到最新版。

  4. 组合玩法:按钮屏蔽可以配合其他功能一起使用。比如搭配“安全功率设置”——超过设定阈值自动断电,同时屏蔽按钮防止强行合闸

  5. 调试

    • 先用Postman之类的工具测试API,确认能正常调用

    • 改配置前后分别调用设备信息接口,对比配置是否真的变了

    • 如果按钮还是能控制,试试发送 {"local_control": "disabled"} 这类配置

六、总结

AC3-10A计量版开放HTTP接口,二次开发门槛不高。要实现“屏蔽按钮”,核心就两步:

  1. 找到按钮行为配置对应的参数

  2. 通过配置接口将该参数设为“无动作”或“禁用”

搞定之后,你的设备就彻底“听话”了——只听远程指令,无视本地操作。这招在无人值守、远程集中控制的场景下特别好用。

如果在实际开发中遇到参数名不确定的问题,直接联系芯步的技术支持要一份完整的API文档,或者进控制台看接口返回的字段信息。祝开发顺利!