CATALOG

8路智能分体远程控制继电器控制箱是芯步为集中控制场景设计的硬件,广泛应用于共享台球厅、自习室、运动场馆等多线路控制场景。通过对设备开放接口的调用,开发者可以轻松实现单路控制、批量控制以及复杂的分组控制模式设置。

以下是基于芯步开放接口,实现8路智能分体继电器控制箱分组控制模式设置的详细解决方案。

一、 解决概述

1. 目标通过调用芯步的HTTP/MQTT开放接口,将8路继电器物理通道(power1 ~ power8)逻辑上划分为不同的“组”(Group)。实现“一键开灯”、“一键关总闸”、“场景模式切换”等分组联动控制,而无需单独发送8次指令。

2. 核心技术逻辑

  • 单控基础:控制 power1 单独操作设备。

  • 分组核心:利用芯步API中的 Group Control(分组控制) 机制,将多个设备或回路绑定到一个逻辑组ID下,一次性下发指令

  • 高级序列:利用 batchpoint/reset 指令,实现组内的顺序延时启动,避免瞬间电流过载

二、 环境准备与鉴权

在开发分组控制逻辑前,需确保网络互通与身份验证。

  1. 硬件检查

    • 确保8路控制箱已通电并联网(支持WiFi/以太网)。

    • 在芯步控制台中获取设备ID(例如:1878

  2. 获取密钥

    • 在芯步开放平台获取 AppIDAppSecret

  3. 签名算法 (Sign)所有HTTP请求需携带签名,格式为:md5(md5(AppSecret) + ts)

    • 示例:如果 AppSecretabc123,先算出 md5(abc123),拼接上当前时间戳 ts,再取一次MD5。

三、 分组控制模式的实现方案

芯步的分组控制提供了比较高的灵活性。它不仅支持预定义分组,还支持动态批量分组。

方案 A:服务端虚拟分组(推荐用于动态场景)

适用场景:用户在前端APP自行拖动设备归类,或者分组逻辑经常变动。原理:分组关系存储在您的业务服务器数据库中,而非设备固件中。

  • 实现步骤

    1. 您的服务器创建“组”对象(如:组A = 台球桌1号灯)。

    2. 数据库记录该组包含的物理回路ID:power1, power3, power5

    3. 下发指令:当需要控制该组时,服务器遍历组内回路,调用单设备控制接口批量下发。

    4. 调用方式:POST /{AppID}/device/control/

    5. Body示例:

方案 B:平台原生分组(推荐用于固定场景)

适用场景:固定的区域划分,如“一楼灯光组”、“二楼电源组”,配置后无需修改代码。原理:利用芯步开放平台的 “分组” 功能,将设备实例添加进平台分组,通过 group/control 接口控制

  • 实现步骤

    1. 创建分组:在芯步控制台创建一个分组(例如ID为 10086,名称为“演示组”)。

    2. 绑定设备:将这台8路控制箱添加到分组 10086 中。

    3. 配置指令模板:定义该分组的动作(Action)。例如定义动作 action=1 代表“打开所有灯”。

    4. 接口调用

      • URLhttp(s)://api.thingboot.com/{AppID}/group/control/?sign={sign}&ts={ts}

      • POST Body (JSON)

      • 返回{"code": 200} 表示分组内所有设备执行成功

四、 8路设备的“组内模式”高级设置

针对8路智能分体控制箱,为了实现更精细的“分组控制”,如互锁时序控制,需利用设备本身的指令集。

1. 实现“一键全开/全关” (批处理指令)

如果您不想在服务器维护8个变量,可以直接利用设备的 batch 命令实现组控。

  • 指令示例:关闭第1、3、5路,开启第2、4路。

2. 实现“顺序启动” (防止跳闸保护)

在大型设备组(如多台空调、电机)启动时,为避免瞬时电流过大,需要实现组内延时启动。可利用 point (先通后断) 或 reset (先断后通) 指令

  • 场景逻辑:依次开启第1路到第8路,间隔500毫秒。

  • 实现代码

    注:point 指令会逐一接通,如果涉及正在运行的设备,可改用 reset 逻辑。

3. 实现“互斥分组” (一控多模式)

适用场景:例如控制窗帘电机(正转/反转/停止)或空调模式(制冷/制热/通风)。虽然8路继电器是独立开关,但通过逻辑互锁可模拟三组控制模式。

  • 业务逻辑:定义“模式1”开启继电器1,“模式2”开启继电器2。

  • 服务器逻辑当用户点击“模式1”时,服务器先发送关闭 power2 的命令,再发送开启 power1 的命令(或利用 order 同时发送 {"power1":1, "power2":0}),确保互斥。

五、 代码实战示例 (Python)

以下示例展示如何通过HTTP接口,利用方案A实现对该控制箱的分组控制(假设分组已在前端逻辑定义好):

六、 总结与

通过芯步的8路智能分体远程控制继电器控制箱实现分组控制,关键在于利用平台分组接口简化上层调用利用设备原生 batch/point 指令实现精细化时序控制

  • 对于SaaS平台集成:使用 Group Control 接口,将复杂的8路逻辑抽象为业务动作(开台、清台、闭馆),降低前端开发复杂度。

  • 对于工业/机房场景:使用 batchpoint 指令,确保大功率设备分步启动,保护电网安全