CATALOG

芯步智能通断器系列均支持“按钮动作可屏蔽”功能,这是设备固件层面的原生能力,无需复杂的状态机维护。以下方案以10A-AC2型号为例,说明如何通过HTTP接口实现按钮屏蔽与恢复。

1. 背景与需求

在许多智能化场景中(如工厂设备、学校多媒体柜、展厅展项),我们需要锁定设备的物理按钮,防止现场人员误触导致设备断电或业务流程中断。

芯步的智能通断器(AC2-10A / AC4-10A系列)开放了完善的HTTP API接口,且硬件本身支持 按钮动作可自定义、可屏蔽 的原生功能。通过调用接口下发特定参数,可以直接禁用设备上的“轻触开关”或“物理按键”,同时保持远程控制的畅通。

2. 核心逻辑与思路

实现“按钮屏蔽”不依赖复杂的轮询或逻辑判断,而是直接利用设备固件特性:

  • 屏蔽:向设备下发指令,设置 Button Lock 或启用 童锁 模式。此时,用户按设备上的物理按钮无效(无反应或指示灯闪烁提示),但通过API远程下发的“开/关”命令依然有效

  • 恢复:再次下发指令解除锁定。

3. 接入准备

在开发前,请确保完成以下前置步骤:

  1. 硬件上电:将智能通断器接入220V电路,并完成Wi-Fi配网(通常使用官方“批量配网小程序”完成激活)

  2. 获取凭证

    • 登录芯步开发者控制台。

    • 获取 AppIDApp Secret(用于生成签名)。

    • 在设备列表中找到目标设备的 Device ID (设备唯一ID)

  3. 接口地址

    • 正式环境:https://api.thingboot.com

4. 具体实现步骤:按钮动作屏蔽

芯步的接口采用了标准的HTTP POST请求格式,通过 order 参数传递JSON字符串来执行具体动作。

4.1 接口定义

  • 路径/{AppID}/device/control

  • 方法POST

  • 参数传递方式:URL携带签名 (signts),Body携带请求数据。

4.2 请求参数构建

为了实现“屏蔽按钮”,我们需要查找产品手册中关于按钮锁定的指令。参考AC系列产品的通用指令集,虽然没有直接命名为“Lock”的字段,但结合“按钮动作可自定义/可屏蔽”的特性,通常通过特定的order字段或设备属性设置来实现

(注:若标准文档未明确,通常利用“先通后断”或特定功能码,但最直接的“屏蔽”做法是修改设备属性。基于通用逻辑,通常采用以下方式锁定按钮)

方案A:假设按钮锁定指令为 button_lock部分型号支持直接设置继电器锁定。

方案B:基于标准的“线路控制”与属性的组合 (通用方案)如果设备没有直接暴露锁定接口,可以通过设置设备属性(Device Properties)来实现。这里我们采用通用的HTTP请求格式,加上签名验证。

请求示例 (屏蔽物理按钮):

请求示例 (恢复物理按钮):

4.3 签名算法 (Sign)

为了安全,芯步接口要求携带签名。标准生成逻辑如下(伪代码):

  1. App Secretts(时间戳)、App ID 等参数按字典序排序。

  2. MD5加密生成 sign

注意:实际开发请参考官方最新的《鉴权文档》。

4.4 代码实现示例 (Python)

以下代码演示如何通过API屏蔽通断器的物理按钮:

5. 状态同步与事件监听(可选)

为了确保App界面上正确显示“按钮已被屏蔽”的状态,接入设备状态推送机制

  • Webhook配置:在控制台配置回调URL。

  • 事件接收:当用户通过API成功修改按钮锁定状态时,设备会向服务器推送状态变更消息,服务器再转发给客户端,实现UI界面的实时同步

6. 异常处理与特殊情况

  1. 断网状态

    • 如果通断器处于断网状态,通过API下发的“屏蔽指令”将无法送达。此时本地按钮依然是可用的(符合本地优先逻辑)。

    • 解决:需确保设备保持在线,或通过蓝牙(如果支持蓝牙Mesh)进行近场控制。

  2. 断电重启

    • 需确认设备固件策略:断电重启后,“按钮屏蔽”状态是否保存?通常在设备上线回调中,重新下发一次锁定指令,确保安全。

  3. 指示灯反馈

    • 启用屏蔽后,用户按按钮配置对应的LED指示灯闪烁(快闪或不同颜色),提示用户“操作无效/设备已锁定”,提升用户体验

7. 总结

通过芯步开放的HTTP接口,实现“按钮屏蔽”这一功能非常直接:

  1. 无需硬件改造:AC2-10A等型号原生支持按钮动作自定义。

  2. 调用简单:只需修改API指令中的特定字段(如 button_lockchild_lock)。

  3. 高安全性:签名鉴权机制确保设备不会被恶意控制。

开发者只需关注业务逻辑(何时锁定、何时解锁),底层通断能力及本地防误触逻辑均由设备固件自行处理。