CATALOG

芯步的智能硬件开放了标准的HTTP API接口,二次开发控制1路智能墙壁复合开关的核心就是调用/device/control/接口,按规则构造签名并下发{"power1":1}{"power1":0}命令。以下从环境准备、签名算法、接口调用到代码实现逐一说明。

解决方案:基于芯步开放接口二次开发控制1路智能墙壁复合开关

1. 概述

芯步的智能墙壁复合开关(如1路/2路/3路版本)提供了标准的 HTTP API 接口,开发者无需接触底层硬件协议(如Zigbee或ZigBee),只需通过任何支持HTTP请求的编程语言(Python, Java, JavaScript, PHP等),向云端发送指令即可实现远程控制。

核心原理你的软件系统 -> 构造HTTP请求(带签名) -> 芯步云端 -> WiFi -> 智能墙壁开关 -> 继电器吸合/断开 -> 灯光亮/灭

2. 准备工作与环境搭建

在开发代码前,请完成以下账户与设备配置:

  1. 注册与登录:访问芯步官网,注册开发者账号

  2. 获取凭证

    • 登录后进入工作台 -> 物联网控制台 -> 开发设置

    • 记录下 AppID(应用ID)和 AppSecret(应用密钥)。这两个参数是API调用的身份证。

  3. 设备配网

    • 将1路智能墙壁复合开关安装在电路上或使用测试台通电。

    • 长按开关按键直到指示灯进入快闪模式(通常是每秒2次,表示进入配网状态)

    • 使用微信小程序“芯步”或“物联网控制台”中的配网功能,输入WiFi密码(仅支持2.4G WiFi),将设备连接到网络

  4. 获取设备ID

    • 配网成功后,在控制台的设备列表中查看该开关的唯一标识,即 Device ID(例如:1000123456)。

3. 核心接口详解:控制1路开关

芯步的二次开发接口设计简洁,主要使用设备控制接口。

  • 请求地址POST https://api.thingboot.com/{AppID}/device/control/

  • 鉴权方式:URL参数鉴权 (sign + ts)

  • 必要参数

    • device: 字符串,目标设备的Device ID。

    • order: JSON字符串,具体的控制指令。

针对1路智能墙壁复合开关order 参数支持以下操作(基于产品手册及通用规范)

功能描述order 参数值 (JSON)适用场景
开启第1路线路{"power1":"1"}{"power1":1}点亮照明灯
关闭第1路线路{"power1":"0"}{"power1":0}熄灭照明灯
1路状态保持 (开启){"power1":{"keep":"1","revert":"3"}}用户手动关闭开关后,3秒自动恢复开启
1路状态保持 (关闭){"power1":{"keep":"0","revert":"2"}}用户手动开启开关后,2秒自动恢复关闭
1路先通后断 (点动){"point1":"2000"}控制卷帘门、车库门(通电2秒后自动断电)
1路先断后通 (复位){"reset1":"3000"}用于设备重启复位(断电3秒后再通电)

注意:如果是2路或3路开关,对应的参数为 power2/power3point2/point3

4. 签名算法 (Signature)

这是防止接口被恶意调用的安全机制。根据芯步的规范,签名生成规则如下

  1. AppSecret 进行第一次MD5加密,得到 SecretMd5

  2. SecretMd5 与当前的时间戳 ts(秒级,如 1710234567)拼接成字符串。

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

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

验证示例假设 AppSecret = "abc123"ts = 1710234567

  1. step1 = md5("abc123") = "e99a18c428cb38d5f22e03" (仅示例格式)

  2. step2 = step1 + "1710234567" = "e99a18c4...1710234567"

  3. sign = md5(step2) = "6dsf9e8c..."

5. 代码开发实战

以下是几种常见开发环境下的具体实现。

5.1 Python 示例

适用于后端服务、脚本自动化。

5.2 微信小程序 / 前端 JavaScript 示例

适用于微信小程序开发,实现手机端控制面板

5.3 PHP 示例

适用于Web网站后台或物联网平台集成。

5.4 cURL 命令示例

用于命令行快速测试。

6. 高级功能与扩展

  1. 状态保持(防误触):在需要锁定的场景(如教室、会议室灯光统一管理),使用 {"power1":{"keep":"1","revert":"0"}}。用户本地无论怎么按,开关都会自动恢复到你设置的状态。

  2. 点动模式(Jog Mode):控制电机或门禁时,使用 point1 参数。例如 {"point1":"500"} 表示吸合500毫秒后自动断开。

  3. 多设备控制device 参数支持传多个ID,用英文逗号隔开。例如 device=123,456,即可一键控制全屋灯光。

7. 常见问题排查

  • 签名错误:请检查时间戳 ts 是否为秒级(10位数字),且设备本地时间是否准确(误差过大会被判定为非法请求)。

  • 设备离线:调用接口虽然返回成功,但设备不动作。请检查设备是否断电,或WiFi信号是否强(芯步设备支持多组WiFi自动切换,可尝试配置备用网络)

  • 灯具闪烁:若控制 LED 灯出现闪烁,通常是因为开关的“状态保持”功能设置的恢复时间与灯具电容不匹配,可调整 revert 值或确保负载端的电容已正确并联在灯座上。

通过上述步骤,开发者可以快速将芯步的智能硬件集成到自己的业务系统中,无论是实现简单的 App 远程开关灯,还是复杂的商业照明联动系统。