CATALOG

芯步的智能墙壁开关3路设备通过HTTP API接口开放了完整的控制能力,支持对三路照明进行独立管理。以下方案涵盖从接入准备、命令协议到具体代码实现和场景扩展的完整流程。

一、 接入准备

在开始开发之前,你需要在芯步平台完成以下前置步骤,获取必要的密钥信息。

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

  2. 获取密钥:进入控制台的“开发设置”页面。这里是核心安全凭证的发放地,你需要记录两个字符串:

    • AppID:应用的唯一标识符。

    • AppSecret:开发者密码,用于签名计算,请勿直接暴露在客户端代码中

  3. 获取设备ID:在控制台设备列表或设备外壳标签上找到 Device ID。这是控制指定物理开关的唯一标识。

  4. 设备联网:确保智能触摸墙壁开关3路已上电并连接至2.4GHz Wi-Fi网络,且在控制台显示为“在线”状态。

二、 API接口与鉴权机制

芯步的接口采用标准的HTTP POST请求方式,通过签名进行身份验证。

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

  • 鉴权参数:通过URL携带 signts

  • 核心请求头Content-Type: application/json

签名生成规则:签名算法是双向MD5的嵌套。这一机制通过时间戳防止请求重放攻击,同时确保AppSecret不在网络中明文传输。

计算公式Sign = MD5( MD5(AppSecret) + ts )

步骤如下

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

  2. S1 与当前的时间戳 ts(秒为单位)进行拼接,得到 S2

  3. S2 再次进行 MD5 加密,得到最终的 Sign

三、 核心命令协议

针对智能触摸墙壁开关3路产品,API中的 order 参数是核心控制指令。该设备支持独立控制三个物理继电器,对应三条不同的照明线路。

基础开关控制命令

功能描述JSON命令格式说明
打开第1路照明{"power1": 1}控制L1接线柱闭合,灯亮
关闭第1路照明{"power1": 0}控制L1接线柱断开,灯灭
打开第2路照明{"power2": 1}控制L2接线柱闭合
关闭第2路照明{"power2": 0}控制L2接线柱断开
打开第3路照明{"power3": 1}控制L3接线柱闭合
关闭第3路照明{"power3": 0}控制L3接线柱断开

高级场景命令除了简单的开关,该硬件还支持情景模式控制,非常适合走廊、卫生间等需要延时关闭的场景:

功能描述JSON命令格式说明
第1路“点动”{"point1": 2000}立即接通,延时2秒(2000ms)后自动关闭
第2路“点动”{"point2": 3000}立即接通,延时3秒后自动关闭
状态保持{"power1": {"keep": 1, "revert": 10}}强制锁定为开启状态,10秒内用户手动关闭也会自动切回

四、 对接开发实战

以下以最常见的独立开关控制为例,演示如何发送请求。假设你的参数配置如下:

  • AppID: abc123

  • AppSecret: secret123

  • DeviceID: 100001

  • 目标动作:打开第一路照明,关闭第二路照明。

1. 动态生成签名

如前所述,你需要生成 tssign。这里以 Shell 命令行为例(后端开发时同理):

2. 组合请求并发送

得到签名和时间戳后,即可构建完整的API请求。注意 device 参数类型为字符串(多设备用逗号隔开),order 参数为JSON对象。

代码实现提示:芯步的HTTP API接口兼容性强,开发者也可以使用PHP构建关联数组进行请求,或在微信小程序中通过wx.request调用,实现移动端控制面板

五、 常见故障排查

  1. 签名错误

    • 现象:返回 sign error

    • 解决:请核对 secret 是否正确,特别注意 MD5 加密的是 AppSecret原始字符串还是二次处理后的字符串。

  2. 设备离线

    • 现象:返回 device offline

    • 解决:请检查设备供电是否正常,Wi-Fi密码是否变更,确保设备连接的是 2.4G Wi-Fi 频段。

  3. 控制延迟高

    • 解决:芯步API同时支持局域网HTTP通信。如果你的服务器与设备处于同一网段,可获取设备局域网IP进行直控,响应速度可达毫秒级