CATALOG

芯步的WiFi触摸墙壁开关开放了完整的HTTP API接口,支持独立控制每路线路。以下方案以2路开关为例,涵盖接口协议、签名计算、多线路控制实现及典型应用场景。

解决方案:基于芯步开放接口的WiFi触摸墙壁开关二次开发(2路独立控制)

1. 概述

本文旨在指导开发者如何利用芯步提供的开放 API 接口,对 “智能触摸墙壁开关(2路)” 进行二次开发。通过调用标准的 HTTP 协议接口,开发者可以将其集成到现有的 Web 应用、微信小程序、PC 管理软件或自动化运维脚本中,实现对开关上 两个独立物理线路(回路) 的远程精准控制。

核心优势:

  • 无需网关,设备直连 WiFi 2.4G。

  • 接口通用,支持任何支持 HTTP 请求的编程语言。

  • 支持公网和局域网(私有化部署)控制。

2. 准备工作与环境配置

在开始编码之前,请确保完成以下配置,这是调用接口的前提。

  1. 硬件准备

    • 芯步 智能触摸墙壁开关(2路) 一台。

    • 确保设备已通过“芯步”控制台配置好 WiFi 网络,且状态为在线。

  2. 获取 API 凭证

    • 登录 [芯步官网] 进入工作台。

    • 在“物联网控制台” -> “开发设置”中,获取以下三个关键参数:

      • AppID:应用的唯一标识。

      • AppSecret:接口调用的密钥。

      • Device ID:目标开关的设备 ID。

  3. 接口地址

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

    • Method: POST

    • Content-Type: application/json

3. 接口鉴权与签名计算

芯步的开放接口采用动态签名验证,每次请求都需要计算 sign。签名算法如下:

算法逻辑:sign = md5( md5(AppSecret) + ts )

  • 第一步:将 AppSecret 进行 MD5 哈希运算。

  • 第二步:将第一步得到的字符串与时间戳 ts (10位秒级) 进行拼接。

  • 第三步:对拼接后的字符串再次进行 MD5 运算,得到最终的 sign

代码示例(伪代码逻辑):

String sec = md5(AppSecret);
String raw = sec + ts;
String sign = md5(raw);

4. 实现 2 路独立线路控制

该开关的核心控制逻辑在于 order 参数的结构。针对 2 路开关,通过 power1power2 字段分别控制第一路和第二路。

请求体结构:

  • 线路参数说明

    • power1:对应开关背面的 L1 接线柱(第1路)。

    • power2:对应开关背面的 L2 接线柱(第2路)。

    • 值含义"1" 代表开启(闭合),"0" 代表关闭(断开)。

场景案例假设需要实现 “开第一路客厅灯,关第二路卧室灯”

请求详情示例:

  • URLhttps://api.thingboot.com/YourAppID/device/control/?sign=xxxxx&ts=1712345678

  • POST Body

5. 深度控制:高级功能应用

除了基本的开关,芯步接口还支持工业级场景的逻辑控制,这对二次开发非常有价值。以下高级命令同样通过修改 order 结构实现:

5.1 状态保持(场景联动/节能)

如果不希望用户物理触摸关闭设备(例如机房总闸或走廊灯),可以使用“状态保持”功能,即用户即使物理按了开关,电路也会在几秒后自动恢复。

  • 1路保持开启(用户关闭3秒后自动重新打开)"order": {"power1": {"keep": "1", "revert": "3"}}

  • 2路保持关闭(用户开启2秒后自动关闭)"order": {"power2": {"keep": "0", "revert": "2"}}

5.2 先通后断与先断后通(电机/设备控制)

对于风扇、水泵等感性负载,直接断电可能损伤设备。利用此功能可实现“点动”控制。

  • 1路先通后断(接通2秒后自动断开)"order": {"point1": "2000"}

  • 2路先断后通(断开3秒后自动接通)"order": {"reset2": "3000"}

6. 代码接入示例(多语言片段)

以下是基于不同语言调用接口实现独立控制 2 路开关的示例逻辑:

Python (Requests)

cURL (Shell)

7. 注意事项与最佳实践

  • 网络依赖:设备仅支持 2.4G WiFi。在部署时需确保现场 WiFi 信号覆盖良好,否则会导致离线。

  • 物理接线:二次开发调试时,请一定要注意用电安全。开关接线端子通常标注为 L(火线进)、L1(出线1)、L2(出线2)。

  • 误码率处理:在实际二次开发中,增加重试机制和状态查询接口的调用,以确保命令确实送达设备。

  • 状态同步:虽然下发命令后设备会立刻动作,但配合使用芯步的 “消息推送” 功能。当有人手动触摸开关时,平台会主动推送状态变化到你的服务器,保持云端和本地状态的一致性

通过以上步骤,你可以快速完成对芯步 2 路智能开关的二次开发,实现 1路独立控制和2路独立控制的应用需求。