CATALOG

芯步的智能墙壁开关完全开放HTTP接口,签名机制清晰、命令格式统一,非常适合快速集成。以下方案围绕“开门即开灯”这一典型场景,从设备配网、命令下发到状态反馈,梳理完整的接入流程。

怎么接入单路墙壁智能开关以实现开门状态反馈控制

1. 解决概述

在许多智能化场景中,我们需要根据“门”的状态来触发“灯”或其他电器的动作。例如:打开仓库门时,灯自动亮起;关闭门禁时,风扇自动关闭。

本方案利用 芯步智能墙壁开关1路(UNI-KG-1) 作为执行设备,结合 门磁传感器(需另购或复用现有传感器逻辑)或通过第三方系统逻辑判断,通过芯步开放的 HTTP API 接口,实现“开门即开灯”、“关门即关灯”的无缝联动控制。

核心优势:

  • 无需网关:设备直连 WiFi 2.4G,降低硬件成本

  • 接口简单:只需 HTTP POST 请求,支持 Python, Java, PHP, Node.js 等任何编程语言

  • 实时反馈:支持状态主动推送,可实时同步设备当前状态(开/关)至服务器或 App

2. 准备工作与环境搭建

在开始编码之前,需要进行物理安装和云端配置。

  1. 硬件准备

    • 芯步智能墙壁开关1路 x1。

    • 门磁传感器(用于检测开门/关门状态,本例中以“门磁信号”作为触发源)。

    • 照明设备或排风扇 x1。

    • 2.4GHz WiFi 网络

  2. 云端接口配置 (获取凭证)在芯步官方控制台完成以下操作,这是接口调用的前提

    • 注册/登录:访问芯步官网,进入工作台。

    • 获取 AppID 与 AppSecret:在“开发设置”中,获取应用的唯一标识(AppID)和密钥(AppSecret)。

    • 设置回调地址(接收反馈):如果需要服务器实时知道门开了还是灯开了,需在“开发设置”中设置“数据接收URL”(HTTP/HTTPS),用于接收设备主动上报的状态

3. 设备配网与连接

将智能墙壁开关接入本地网络,以便它能接收云端指令。

  • 操作方式:长按墙壁开关的触摸面板(或物理按键)5秒,直到指示灯进入“快闪”模式(表示进入配网状态)。

  • 网络配置(热点配网)

    1. 登录芯步控制台或小程序。

    2. 在“网络配置”中添加现场 2.4G WiFi 的名称和密码。

    3. 开启手机热点,将热点名称/密码设为上述WiFi信息(或用 App 声波/智能配网),等待设备指示灯常亮,即代表上线成功

4. 核心接口调用逻辑

本方案的关键在于触发源(门磁)与执行器(墙壁开关)的连接。若你已有门磁传感器(无论是芯步的传感器还是第三方系统),只需在开门事件发生时,向墙壁开关发送开/关指令。

签名算法(必看)芯步的 API 安全性较高,所有请求均需携带动态签名 sign

  • 公式sign = md5( md5(AppSecret) + ts )

  • 步骤

    1. 将你的 AppSecret 进行一次 MD5 加密得到 Secret_MD5

    2. Secret_MD5 与当前时间戳 ts (单位:秒)拼接成字符串。

    3. 对拼接后的字符串再次进行 MD5 加密,得到最终的 sign

请求地址https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

请求方式POST请求头Content-Type: application/json

5. 开门状态反馈控制实战

假设场景:门被打开(门磁状态变化) -> 触发服务器逻辑 -> 控制墙壁开关打开灯光。

第一步:接收开门信号(事件触发)假设你有门磁传感器,当门打开时,门磁会向你的服务器(即上面配置的“数据接收URL”)发送 HTTP POST 数据包(如 {"status":"open"})。(如果没有门磁,也可以通过 App 按钮或定时任务模拟触发)

第二步:下发控制命令你的服务器收到开门事件后,立即向芯步 API 发起请求,下达“开灯”指令。

具体 API 调用示例 (以 1路开关为例)

  • 参数详解

    • device:目标设备ID(可在控制台查看,如 1234567)。

    • order:指令内容。

      • 点动模式(模拟按键){"point1":"200"} (线路1接通200毫秒后自动断开,类似按了一下开关)。

      • 状态切换{"power1":"1"} (打开线路1);{"power1":"0"} (关闭线路1)。

      • 状态保持(防拆/锁定){"power1":{"keep":"1","revert":"3"}} (即使用户手动关掉开关,3秒后也会自动强制打开,适合需要长明的场景)

  • 代码示例(Python)

第三步:接收执行反馈(可选)指令下发后,设备约在 80-120ms 内执行 执行后,设备会主动上报当前状态(如 {"power1":"1"})到你预设的“数据接收URL”。你的系统收到此回调,即可更新 UI 界面显示“灯已亮”。

6. 进阶应用技巧

除了简单的“开门开灯”,芯步的接口还支持更复杂的逻辑,无需在服务器端写定时器:

  1. 延时自动关闭(门开太久自动关)担心出门忘关灯?可以在开门开灯的同时,下发一个延时指令。

    • 命令{"reset1":"300000"}

    • 效果:线路接通(灯亮),并在 5分钟(300000毫秒)后 自动断开(关灯)

    • 应用场景:储物间、卫生间、阳台。开门灯亮,人走后自动关灯,既方便又节能。

  2. 点动控制(触发门禁/电锁)如果你控制的不只是灯,而是电插锁或电机。

    • 命令{"point1":"500"}

    • 效果:开关点动0.5秒,即接通瞬间又断开,适合用于模拟“按一下开门按钮”的动作

7. 常见问题排查

  1. 设备离线:检查墙壁开关指示灯状态。若闪烁说明未连接 WiFi;确保 WiFi 是 2.4G 频段且密码正确

  2. 签名错误 (401):核对 sign 算法。注意 MD5 结果为 32 位小写;ts 必须为秒级时间戳,且你的服务器时间需与标准时间同步(误差不能太大)。

  3. 无反馈:检查“数据接收URL”是否公网可达(若使用内网穿透需确保稳定),且接口响应速度要快,否则平台会重试。

通过以上步骤,你可以轻松利用芯步的开放接口,将物理空间的门与电灯通过代码逻辑紧密结合起来。