CATALOG

芯步的2路远程复位开关(比如智能墙壁触摸开关2路版本),核心就是通过HTTP接口控制两个独立的继电器线路(线路1和线路2)。如果想把多个设备“编成一组”来控制,关键点在于:先创建设备分组,再向分组统一发命令

下面是具体的对接方案,我尽量写得直白一些。

1. 核心思路:分组控制到底怎么做?

我们平时单个控制设备,是直接调用 /device/control/ 接口,指定特定的 device ID。

但如果想把客厅的2路开关会议室的2路开关打包成一个“总闸”组,或者想一个按钮同时控制设备A的第1路和设备B的第2路,单纯控制设备就不够了。

芯步的逻辑是这样的:

  1. 建群:先创建一个“分组”(Group)。

  2. 拉人:把你想控制的设备(或者设备的某一路,注意这里通常是整个设备加入分组,控制时指定操作哪一路)加到这个分组里。

  3. 喊话:直接对着这个“分组”发命令,组里的所有设备就会同时执行。

2. 第一步:准备工作

在动手写代码之前,你需要拿到三样东西(在芯步后台可以看到):

  • AppID:你的应用ID。

  • AppSecret:你的应用密钥(要保密哦)。

  • 设备ID:你那个2路复位开关的ID(通常贴在外壳上或后台能看到)。

还有个关键的签名算法,稍微有点绕:sign = md5( md5(AppSecret) + ts )。简单说就是:把AppSecret做一次MD5,后面拼上当前的时间戳,再把整个字符串做一次MD5

3. 第二步:把设备加入分组(“拉人”进群)

你得先把两个开关的ID加入到同一个分组里。如果还没创建分组,可以通过后台手动建一个,记录下那个group_id

然后调用维护设备分组的接口

  • 请求地址https://api.thingboot.com/{你的AppID}/device/group/?sign={签名}&ts={时间戳}

  • 方式:POST

  • 参数

注意:如果想把设备移出分组,把group设为0就行了。

4. 第三步:控制分组实现“总控”

把设备都拉进群之后,好戏就开始了。你可以直接对分组下命令,比如一键关闭所有设备的第一路

这就得用上分组执行命令的接口了

  • 请求地址https://api.thingboot.com/{你的AppID}/group/control/?sign={签名}&ts={时间戳}

  • 方式:POST

  • 参数

只要接口返回{“code”: 200},就代表平台已经把“断开”指令下发给组里所有设备了。不管组里有2个还是20个开关,这下一口气全断了。

5. 进阶技巧:单路精准复位控制

你的需求里提到了“复位开关”。芯步的这类设备通常支持以下三种指令模式:

  • 保持状态{“power1”: 0}{“power1”: 1},直接让第一路常开或常闭。

  • 先通后断 (Point){“point1”: 100},模拟“点动”,先接通,过100毫秒(或你指定的时间)后自动断开。

  • 先断后通 (Reset){“reset1”: 100},先断开,过100毫秒后自动复位接通

场景举例:你想让分组里所有设备的第2路,都像按门铃一样“嘀”一声响(点动一下)?

  • 请求参数

就这么简单,整个分组的设备都会在0.5秒内同步完成一次“点动”。

6. 代码小贴士(Python示例)

为了让你的后端工程师开心,这里给一段简单的伪代码逻辑:

7. 踩坑与避坑指南

在实际对接中,有几个小细节值得留意:

  1. 设备ID的格式:传多个设备时,记得用英文逗号,隔开,比如“12345,67890”

  2. 命令格式:针对2路开关,命令通常是power1power2reset1reset2。如果你的设备是第一路开关,请确认你的指令是power1而不是power(单路开关才用power

  3. 异步处理{“code”: 200}只表示指令发送成功了。如果设备当时离线(比如没电了),它可能没收到。如果你需要确保设备必须执行成功,可以留意芯步的消息推送功能,那里会有更精确的执行结果反馈

  4. 分组操作:如果你想支持“张经理控制设备A的第1路,李经理控制设备B的第2路”,那就需要创建多个分组(比如“张经理组”只放设备A,“李经理组”只放设备B)。

这套方案操作下来,你就能够很轻松地实现远程复位开关的分组控制了。希望这个方案能帮到你!