CATALOG

芯步的3路智能墙壁开关采用标准HTTP接口,签名验证简单,可轻松集成到Web、小程序、后端服务等各类项目中。以下方案涵盖接口对接、签名算法、多路控制及典型场景代码实现。

解决方案:基于芯步开放平台的3路智能墙壁开关集成方案

1. 概述

本方案的目标是指导开发者如何利用芯步提供的开放API接口,将“智能墙壁开关3路”硬件集成到现有的软件系统中(如:智能家居APP、楼宇自控系统、工业控制台等)。

通过标准的HTTP POST请求,开发者可以轻松实现对设备第1路、第2路、第3路的独立远程控制,且支持定时、互锁(先断后通/先通后断)等高级功能。该方案具有语言无关性,适用于Java、Python、PHP、Go、Node.js及微信小程序等任何支持HTTP协议的环境

2. 核心技术原理

芯步采用无网关的直连Wi-Fi方案(2.4GHz),设备直接连接云端或局域网(支持私有化部署)。

  • 通信协议:HTTP/HTTPS。

  • 数据格式:JSON。

  • 鉴权方式:动态MD5签名(Sign),防止接口被恶意篡改

  • 响应速度:从云端下发到设备执行,平均时延约80-120ms

3. 集成前的准备工作

在编写代码前,需要获取以下三个关键凭证:

  1. AppId(应用ID)AppSecret(开发者密码):在芯步开发者控制台创建应用后获取。AppSecret用于生成签名,严禁直接放在前端代码中

  2. Device ID(设备ID):设备联网成功后在控制台显示的硬件标识(例如示例中的 820720

  3. 网络环境:确保3路开关已连接 Wi-Fi(设备支持100-240V AC供电,需由专业电工安装)

4. 接口鉴权与签名生成(关键步骤)

为了防止接口被滥用,每次请求都需要携带动态签名(sign)和时间戳(ts)。

签名生成算法公式sign = md5( md5(AppSecret) + ts )

算法步骤拆解

  1. AppSecret 进行第一次MD5加密,得到字符串 S1

  2. 获取当前的Unix时间戳(秒级,例如 1715678900),得到字符串 ts

  3. S1ts 进行字符串拼接,得到字符串 S2

  4. S2 进行第二次MD5加密,得到最终的 sign

安全提示:签名计算在后端服务中进行,避免在前端小程序或APP中泄露 AppSecret

5. 三路开关控制命令详解

芯步的开放接口端点地址为:https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

请求方法为 POSTContent-Type 需设置为 application/json。核心控制逻辑集中在请求体(Body)的 order 字段中

以下是针对“3路”设备的具体命令示例:

控制意图请求Body中的 order 字段功能说明
全开{"power1":1, "power2":1, "power3":1}同时打开1、2、3路,数值1代表开,0代表关
独立控制{"power2":1}仅打开第二路,其他通道保持原状态不变
定时关闭{"power1":1, "reset":3600000}打开第1路,并设定1小时后自动关闭(单位毫秒)
先断后通{"reset1":5000}第1路断开,5秒后自动重新接通(常用于路由器重启)
先通后断{"point2":10000}第2路接通,10秒后自动断开(常用于排风扇延时关)
状态保持{"power3":{"keep":1,"revert":300}}用户如果手动关闭第3路,系统会在300秒后自动强制打开

6. 实战集成:多语言代码示例

以下以设备ID为 820720 的设备为例,演示如何实现打开第1路,关闭第3路{"power1":1, "power3":0})。

第一种场景:Python后端集成适用于Django、Flask等后端服务,利用 requests 库实现。

第二种场景:微信小程序集成前端直接调用需配合云函数,以下为云函数核心代码逻辑

第三种场景:Shell脚本快速测试适合硬件调试或Linux服务器快速指令,使用 curl 命令

7. 设备状态同步与事件监听(进阶)

为了实现真正的“监控”,仅仅下发命令是不够的,还需要知道设备当前是开还是关。

  • 主动查询:调用芯步提供的设备状态查询接口(GET请求),实时获取三路中每一路的当前状态

  • 被动接收(消息推送):配置芯步的消息推送机制。当用户手动按下墙壁开关、设备状态发生变化或连接传感器(如有人经过)时,云端会主动将事件推送到开发者的服务器。开发者需要准备一个接收POST请求的Webhook接口来处理这些实时数据

8. 方案排查与优化

  • 关于安装:请请一定要由专业电工操作。该开关支持零火单火布线,若家中为单火布线,需并联包装内附带的电容(接在L和L1之间)以防止灯光闪烁

  • 局域网控制(私有化部署):若项目对公网依赖要求高或需低延迟,可利用芯步的私有化部署方案。设备支持纯局域网运行,API可指向本地服务器地址

  • 关于签名失败

    • 检查时间戳 ts 是否与服务器时间相差过大(通常需在5分钟内)。

    • 检查MD5生成结果是否为32位小写十六进制字符串

  • 负载限制:单路额定电流通常为10A(阻性负载约2200W),控制电机、风扇等感性负载时,额定功率需降额使用(通常不超过600W),否则需加装交流接触器

通过以上步骤,开发者可以在 30分钟 内完成从注册到通过API成功点亮第一盏灯的全过程,并轻松扩展至任意数量的设备集群。