CATALOG

芯步智能墙壁开关2路开放HTTP接口,支持独立控制两路线路、状态保持、先通后断等命令,可接入任意支持HTTP的编程环境。以下方案涵盖签名计算、命令调用、联动逻辑实现及部署架构。

解决方案:基于芯步智能墙壁开关2路开放接口实现自定义联动逻辑控制

一、 概述

本方案的目标是指导开发者利用芯步“智能墙壁开关2路”(型号:UNI-KG-2)开放的 HTTP API 接口,集成到第三方软件系统(如 HomeAssistant、Node-RED、自研 SaaS 平台等),从而实现对灯光的自定义联动控制。

该设备无需网关,直连 WiFi 2.4G,支持云端 API 下发指令,也支持局域网原生控制。

二、 核心接口与设备能力

在进行开发前,需了解该设备开放的核心命令参数。设备通过 JSON 格式的 order 字段进行控制,主要包含以下指令:

功能类别命令示例 (JSON)参数说明应用场景
单路独立开关{"power1": 1}power1=1/0:开/关第一路power2=1/0:开/关第二路基础灯光控制、远程通断电
状态保持{"power1": {"keep": "1", "revert": "10"}}keep: "1"锁定开, "0"锁定关revert: X秒后恢复楼道灯、洗手间排气扇延时关闭
点动模式{"point1": "2000"}point:先通电,延时(毫秒)后断电控制门禁电插锁(通电开锁)
复位模式{"reset1": "3000"}reset:先断电,延时(毫秒)后通电重启路由器、复位故障设备

注:power1 对应物理按键 L1(第一路),power2 对应 L2(第二路)。

三、 接入准备与鉴权流程

接口地址:https://api.thingboot.com/{AppID}/device/control/

1. 鉴权机制芯步采用动态签名鉴权,有效防止接口被篡改。签名算法:Sign = MD5( MD5(AppSecret) + ts )

  • AppSecret:开发者密码(在控制台获取)。

  • ts:当前 Unix 时间戳(秒)。

2. 请求示例假设 AppID = 10001AppSecret = abc123ts = 1714528000首先计算 MD5(abc123) -> e99a18c428cb38d5f22e03...接着计算 MD5(e99a18... + 1714528000) -> 得到最终 Sign将签名拼接在 URL 参数中发起 POST 请求:

四、 自定义联动逻辑的实现

本方案的核心在于“自定义”,即根据业务场景组合 API 调用。

第一种场景:人来灯亮,人走灯灭(结合传感器联动)适用情况:卫生间、走廊。逻辑: 当红外传感器检测到有人时,立即开灯;传感器持续 1 分钟无人信号后,自动关灯。代码实现逻辑步骤:

  1. 业务系统接收传感器触发事件(例如通过 MQTT 或 HTTP 回调)。

  2. 系统调用 API 下发开灯指令:{"power1": 1}

  3. 系统记录开灯时间,延迟 60 秒后,再次调用 API 下发关灯指令 {"power1": 0}

    • 优化方案: 为了避免并发冲突,也可直接使用设备的状态保持功能:

    • 触发时下发:{"power1": 1}

    • 此时若使用设备自带计时,下发:{"power1": {"keep": "1", "revert": "60"}},系统无需维护计时器,即使网络断开,60 秒后开关也会自动关闭。

第二种场景:一键影音模式(多设备联动)适用情况:客厅。逻辑: 按下“观影模式”按钮,关闭主灯(第一路),打开氛围灯带(第二路),同时控制窗帘电机。代码实现逻辑步骤:由于该开关仅有两路,若需要控制第三方设备(如窗帘),可利用系统服务编排功能。

  1. 接收“模式切换”指令。

  2. 并发调用芯步 API:

    • {"device": "开关ID", "order": {"power1": 0}}

    • {"device": "开关ID", "order": {"power2": 1}}

  3. 同步调用窗帘电机 API(或其他品牌接口)。

第三种场景:远程复位网络设备适用情况:弱电箱、机房。逻辑: 通过 API 控制第二路断电再通电,重启光猫或路由器。代码实现逻辑步骤:直接下发复位模式(先断后通) 命令:{"reset2": "5000"}效果:该路会立即断开,等待 5 秒后重新接通电源,实现对网络设备的硬重启。

五、 高级开发

1. 局域网直连(私有化部署)芯步设备支持私有化部署,如果你的业务系统与设备处于同一局域网段:

  • 设备在上线后会维持一个本地 HTTP 服务。

  • 你可以通过设备配置页查看其局域网 IP,直接向 http://[设备IP]/control 发送 POST 请求(具体路径需参见设备配网协议)。

  • 优势: 极低延迟、不依赖外网宽带。

2. 设备状态同步机制API 控制指令具有即时性,但若人为触摸物理按键,状态会改变。

  • 轮询: 定期调用设备状态查询接口获取最新状态。

  • 回调推送: 推荐在芯步控制台中配置“消息服务器”(Webhook)。当物理按键被按下或设备状态变化时,平台会主动推送 JSON 数据到你指定的服务器地址,这是实现实时联动的最佳实践。

3. 错误处理与重试在网络抖动或 ACK 确认丢失的情况下,采用“最多 3 次”的随机间隔(或逐次增大间隔)重试策略(1s, 2s, 4s)。由于该设备支持多组 WiFi 备份网络,网络稳定性较高,重试机制主要应对服务器拥堵。

六、 总结

通过对接芯步智能墙壁开关 2 路的 HTTP API,开发者可以在 1 小时内完成从注册到控制第一盏灯的过程。其灵活的 order 指令集(特别是 keeppoint 模式)极大地简化了业务层的代码复杂度,使得开发者能够专注于上层业务逻辑(如场景编排、安防联动),无需关心底层通信细节。