CATALOG

一、写在前面

在实际项目中,我们经常遇到这样的情况:一栋楼里有几十个甚至上百个开关,如果一个个去控制,不仅麻烦,效率也低。比如晚上10点要关闭所有公共区域的照明,如果挨个给每个开关发指令,服务器压力大不说,网络延迟也会让关灯动作变得“拖泥带水”。

芯步的开放接口正好解决了这个问题——通过分组控制,一条指令就能让一组设备同步执行动作。下面我以“3路照明门禁一体触摸开关”为例,详细讲讲怎么实现设备分组控制。

二、分组控制的整体思路

先说清楚思路,代码实现起来就顺畅了:

  1. 设备配网与注册:先把每个3路触摸开关接到云平台上,让它们“上线”

  2. 创建分组:按实际需求(比如按楼层、按区域、按功能)把设备分成不同的组

  3. 下发分组指令:通过芯步的分组控制接口,对整组设备发送开关指令

这里面最关键的是第三步——分组控制接口的使用

三、准备工作:设备选型与接口熟悉

3.1 设备选型

咱们这次用的是芯步智能触摸墙壁开关3路,它的特点是:

  • 支持3路独立控制,可以分别接三路照明或门禁

  • 开放完整的HTTP API接口,支持远程和本地局域网控制

  • 标准86底盒安装,替换传统开关很方便

每个设备在云平台上都有一个唯一的设备ID,控制单台设备时用这个ID,分组控制时用分组ID。

3.2 接口认证方式

芯步的接口使用签名认证,调用任何接口之前都需要先搞定签名。签名的计算规则是:

其中:

  • AppSecret:你在芯步控制台获取的开发者密码

  • ts:当前Unix时间戳(秒)

  • md5():标准的MD5加密函数

一个小提醒:时间戳的有效性要注意,服务器端会校验ts与服务器时间的差值,如果偏差太大会返回签名错误。你的服务器开启NTP自动对时。

四、实操步骤:从配网到分组控制

4.1 第一步:设备配网

拿到新的3路触摸开关后,第一步是把它连上网络。芯步提供了两种配网方式:

方式一:PC端控制台配网

  1. 登录芯步官网,进入你的工作台

  2. 点击左侧“物联网控制台” → “网络配置”

  3. 登记现场的WiFi名称和密码(注意:必须是2.4G频段,不支持5G)

  4. 手机开热点,热点名称和密码设置成刚刚登记的WiFi信息,让设备搜索并连接

方式二:小程序配网

  1. 微信搜索“芯步小程序”

  2. 登录后选择对应的工作台

  3. 添加现场WiFi信息,手机开热点配网

配网成功后,设备会显示在控制台的设备列表中,这时候你就能看到每个设备的ID了。

4.2 第二步:创建设备分组

配网完成后,需要在控制台创建分组。比如你有一栋3层的楼,每层有5个开关,可以这样分组:

分组名称分组ID(示例)包含设备
一楼照明组1001设备A、B、C、D、E
二楼照明组1002设备F、G、H、I、J
三楼照明组1003设备K、L、M、N、O
全楼照明组1004所有15个设备

分组ID可以在控制台的设备列表页面查看,也可以通过“读取分组列表”接口获取

一个实用:分组逻辑按“控制粒度”来设计。如果你需要“按楼层关灯”就建楼层分组,如果需要“按功能区”(如走廊、会议室、办公室),就建功能区分组。分组可以嵌套使用吗?芯步目前不支持分组嵌套,但你可以让一个设备同时属于多个分组来变通实现。

4.3 第三步:通过接口实现分组控制

这是核心环节。芯步提供了专门的分组控制接口:

接口地址

请求方式:POST(推荐)或GET

核心参数

  • group:分组ID(整数)

  • 命令参数:指定要执行的动作

针对3路开关的命令说明

  • power1:控制第1路(0=关闭,1=开启)

  • power2:控制第2路

  • power3:控制第3路

4.4 实战代码示例

下面我用Python写一个完整的示例,演示如何对分组执行“全部关闭”操作:

如果使用cURL命令(适合快速测试):

五、进阶用法:动作(Action)与场景联动

除了直接发送命令,芯步还支持动作(Action)方式。动作可以理解为“预定义的一组指令”,更适合复杂场景。

比如你定义一个“离家模式”动作(ID=10),包含:关闭所有照明、门禁上锁、关闭空调。调用时只需要:

这种方式的好处是:你不需要关心具体控制哪些线路,只需要知道动作ID就行。特别适合与楼宇自控系统、智能家居中控对接

MQTT方式补充:如果你的系统对实时性要求很高(比如延迟要求<50ms),或者需要监听设备状态变化,同时使用MQTT方式。分组控制的MQTT主题是:

发布后在同一主题接收返回结果。HTTP方式延迟约80-120ms,MQTT方式可以做到更低。

六、局域网私有化部署(可选)

如果你的项目要求数据不外网传输,或者网络环境不稳定,芯步支持私有化部署方案:

  1. 芯步的服务端可以部署在你的本地服务器上

  2. 所有设备通过局域网直接与你的服务器通信

  3. 接口调用方式和云端的完全一致,只需要把api.thingboot.com换成你的内网IP即可

这个方案特别适合:政府机关、军事单位、金融数据中心等对网络隔离有要求的场景。

七、常见问题与避坑指南

Q1:分组控制返回502错误

  • 原因:分组ID不存在或分组中没有可用设备

  • 解决:检查分组ID是否正确,确认分组里已经添加了设备

Q2:为什么有时部分设备没响应?

  • 原因:网络波动或设备离线

  • :分组控制接口采用的是“尽力而为”模式,不会因为个别设备失败而整体失败。如果需要确认每个设备的执行状态,后续调用设备查询接口做二次确认

Q3:同一个设备可以加入多个分组吗?

  • 可以。比如一个开关既属于“一楼照明组”,又属于“应急照明组”。控制任一分组时,该设备都会响应。但需要注意:如果两个分组同时下发冲突指令,以后收到的为准。

Q4:3路开关的每一路能单独分组吗?

  • 不支持。分组的最小单位是整个设备,不能按“路”来分。如果你需要按单路精细分组,把每一路当成一个独立设备来规划(即用单路开关代替三路开关)。

Q5:签名计算一直报错怎么办?

  • 排查步骤:①确认AppSecret是否正确(注意不要有多余空格)②确认时间戳是秒级不是毫秒级 ③先用在线MD5工具手动计算一次,对比验证逻辑

八、总结

通过芯步的分组控制接口,我们可以用几行代码就实现对多个3路照明门禁触摸开关的批量控制。无论是按楼层管理、按区域控制,还是执行复杂的场景联动,都能轻松搞定。

核心步骤就三个:设备配网上线 → 创建分组 → 调用分组接口

如果你的系统需要对接楼宇自控、或者做智慧办公的集成,芯步这套方案是性价比很高的选择。遇到对接问题,也可以直接联系他们的技术支持——官网上写着“免费提供全程技术指导”,从选型到调试都有人帮忙

希望这篇文档能帮你顺利搞定分组控制!有问题欢迎继续交流。