CATALOG

芯步2路智能墙壁开关的开放接口采用标准HTTP协议,支持独立控制每一路电路、状态保持、先通后断等多种指令。以下方案将从接口协议、签名机制、单路/双路控制命令,到基于传感器触发的联动场景逻辑,给出完整的接入实现路径。

解决方案:基于芯步2路智能墙壁开关的联动场景逻辑控制接入方案

1. 总则与准备

本方案的目标是指导开发者利用芯步开放平台及智能触摸墙壁开关2路(产品型号:智能触摸墙壁开关2路)的HTTP API接口,实现设备控制与复杂的联动场景逻辑构建。

前提准备:

  1. 硬件就绪:已完成“智能触摸墙壁开关2路”的安装与接线(L、N进线;L1、L2出线),并确保设备通电且网络在线(WiFi 2.4GHz)

  2. 账号与凭证:注册芯步账号,在“工作台 -> 物联网控制台 -> 开发设置”中获取 AppIDAppSecret

  3. 设备ID:在控制台设备列表或通过拉取设备接口获取目标开关的唯一标识 Device ID(例如搜索结果中的 1878

2. 接入技术:HTTP API 调用

所有控制指令均通过向 api.thingboot.com 发送POST请求实现。为了保障安全性,接口采用了动态签名鉴权。

2.1 签名生成规则由于接口涉及设备控制,必须携带正确的签名(Sign)。以下是核心的签名算法逻辑:

  • 步骤1:将 AppSecret 进行 MD5 加密得到 Secret_MD5

  • 步骤2:获取当前Unix时间戳(秒级),记为 ts

  • 步骤3:将 Secret_MD5ts 拼接,再进行一次 MD5 加密,得到最终的 sign

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

2.2 请求示例

  • URLhttps://api.thingboot.com/{AppId}/device/control/?sign={YourSign}&ts={ts}

  • Method:POST

  • Content-Typeapplication/json

  • Body (JSON)

3. 两路设备的独立控制命令

针对2路智能墙壁开关,通过 order 字段中的不同参数来控制不同的线路,以下为核心指令集

功能描述指令参数 (order JSON)说明
开启第1路{"power1": 1}控制L1接口闭合,接通电器
关闭第1路{"power1": 0}控制L1接口断开
开启第2路{"power2": 1}控制L2接口闭合
关闭第2路{"power2": 0}控制L2接口断开
查询状态/无操作{"power1": ""}空指令,用于获取最新状态(配合回调)
1路状态保持{"power1": {"keep": 1, "revert": 10}}锁定1路为开,用户手动关掉后,10秒自动恢复开启

注:除了基础开关,该设备还支持 point1(点动/先通后断)、reset1(复位/先断后通)等工业级控制指令。

4. 实现联动场景逻辑控制

这是本方案的重点。所谓“联动”,通常依赖于 “触发器(传感器/时间)” + “规则(逻辑判断)” + “执行器(墙壁开关)” 的铁三角模型。由于芯步的开放接口是无状态的,联动逻辑需要在开发者自己的云服务器上实现。

以下通过两个典型场景演示如何编写逻辑代码:

第一种场景:人来灯亮,人走延时关 (联动人体传感器)

需求:厕所或走廊,当有人经过时(红外传感器触发),自动打开第1路照明灯;人离开后(无触发信号持续30秒),自动关闭第1路。逻辑流程

  1. 服务器接收“人体传感器”上报的 presence 数据(通过平台消息推送或主动查询)。

  2. 触发:收到 presence=1(有人)。

    • 动作:调用API发送 {"power1": 1} 开启开关。

  3. 触发:收到 presence=0(无人)。

    • 动作:服务器不立即关闭,而是设置定时器(Delay 30秒)

    • 逻辑:30秒内若再次收到 presence=1,则取消原定时器;若无新触发,30秒后调用API发送 {"power1": 0}

第二种场景:离家模式/全屋关断 (联动门磁或语音助手)

需求:当用户按下“离家”按钮(或门磁感应关门上提)或发出语音指令,同时关闭2路开关。逻辑流程

  1. 服务器接收到“离家场景”触发信号(例如来自微信小程序或门磁)。

  2. 构建批量指令:因为需要同时控制两个独立线路,可以在一次HTTP请求中下发复杂命令,或者连续调用两次接口。

    • 方案A(推荐,减少网络开销) :调用设备控制接口,虽然 device 字段只能填一个ID,但 order 可以包含多路指令。

    • 请求Body

  3. 结果:客厅灯和走廊灯同时熄灭。

第三种场景:观影模式 (情景联动)

需求:一键启动第1路(关闭主灯),第2路(打开氛围灯带)。逻辑流程

  1. 用户在小程序点击“观影模式”。

  2. 服务器逻辑

    • 调用接口下发 {"power1": 0} (关闭主照明)。

    • 调用接口下发 {"power2": 1} (开启氛围灯)。

    • 优化:由于2路开关是同一个设备,可以合并为一次请求:{"power1": 0, "power2": 1}

5. 设备状态同步与事件监听

要实现可靠的联动,必须知道设备的当前状态(是开还是关)。仅仅靠记忆上次发送的命令是不可靠的(因为用户可能手动触摸开关改变了状态)

解决方案:配置消息推送

  1. 设置回调URL:在芯步控制台设置“API回调地址”(又称Webhook)。

  2. 接收上报:当开关状态发生变化(无论是通过API控制,还是人为触摸屏幕),设备会主动向你的服务器推送状态数据。

  3. 数据格式示例:你的服务器会收到类似 {"device_id":"xxx", "power1": 1, "power2": 0, "timestamp": ...} 的POST请求。

  4. 应用:根据收到的状态更新数据库中的设备状态,用于联动条件判断(例如:如果灯是关的,门磁触发闹钟才响;灯是开的,门磁触发则忽略)。

6. 故障排查与最佳实践

  • 网络稳定性:2路智能墙壁开关仅支持2.4GHz WiFi,确保现场的WiFi信号强度,避免因网络延迟导致联动“卡顿”

  • 签名失效:请注意服务器时间(ts)必须与标准时间同步,误差过大会导致签名验证失败。

  • 并发控制:在场景联动中(如安防报警),可能会有多个传感器同时触发。在服务器端使用“队列”或“时间窗口”去抖处理,避免在短时间内(如1秒内)对同一个设备下发几十次开启命令,导致云端限流或设备响应迟缓。

通过上述方案,您可以利用芯步2路智能墙壁开关的开放式API,结合您的业务服务器逻辑,灵活实现如“人来灯亮”、“离家全关”、“一键场景”等复杂的智能化联动控制。