CATALOG

12路分体智能设备控制箱的核心价值在于“分路独立可控”+“开放接口”,二次开发的关键是理解HTTP API的签名规则和命令格式,然后基于传感器事件或业务逻辑来触发对应的继电器动作。以下方案涵盖设计、接口调用、签名计算及典型场景。

1. 解决概述

1.1 核心对象

  • 硬件设备:芯步 12路分体智能设备控制箱(也可能兼容同系列的16路或24路版本)。该设备支持12路独立继电器输出,每路可控制灯光、插座、电机等设备的通断

  • 开放接口:基于 HTTP APIMQTT 协议。设备直连WiFi(2.4G),无需网关,支持局域网/公网控制

1.2 实现目标

通过编程调用接口,打破App手动控制的限制,实现例如“人来灯亮(结合传感器)”、“定时灌溉”、“安防联动(远程闭店一键全关)”等自定义场景逻辑。

2. 技术架构与准备

2.1 开发流程

二次开发的核心逻辑是:您的业务系统(Server/App)-> 计算签名 -> 调用API -> 控制箱执行 -> 反馈结果

  1. 注册与创建应用:在芯步工作台创建项目,获取唯一的 AppIDAppSecret(开发者密码)

  2. 设备配网:通过App或厂商提供的配网流程将控制箱连接至WiFi,确认设备在线。

  3. 获取设备ID:在控制台获取控制箱的 Device ID(设备唯一标识)

2.2 接口鉴权机制

所有API请求都需要携带签名(sign)和时间戳(ts),防止接口被恶意攻击。签名算法如下(极其重要)

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

参数说明

  • AppSecret:您的开发者密码。

  • ts:当前Unix时间戳(秒级,如 1715678900)。

  • md5():标准的32位小写MD5加密函数。

代码示例(计算签名)

3. 核心接口调用与命令下发

3.1 请求地址与格式

  • URLhttps://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • Method:POST(推荐,参数较长)

  • Content-Type:application/json

3.2 单个/多路独立控制命令

这是最常用的场景,针对12路中的某一特定线路进行“开”或“关”。

  • 命令结构{"powerX": 1}{"powerX": 0} (X代表1-12路)

  • 开启第3路{"power3": 1}

  • 关闭第5路{"power5": 0}

JSON请求体示例

3.3 批量控制(场景联动核心)

当需要一键触发“回家模式”或“离开模式”时,批量命令能减少网络请求次数,实现同步控制

  • 全开{"power": 1}

  • 全关{"power": 0}

  • 指定多路开启{"batch": {"relay": [1,3,5,7,9,11], "power": 1}} (开启奇数线路)

  • 指定多路关闭{"batch": {"relay": [2,4,6,8,10,12], "power": 0}} (关闭偶数线路)

“一键布防”场景代码示例

3.4 高级功能:点动/互锁

若需实现“按一下洗衣机启动”、“电机正反转”等工业或家居场景,可使用“先通后断(点动)”功能

  • 点动:让第4路接通1000毫秒后自动断开。

    • 命令:{"point": {"relay": [4], "interval": 1000}}

4. 实现自定义场景联动逻辑

“二次开发”的灵魂在于 “逻辑编程” 。您可以结合传感器数据时间条件,编写业务代码来调用上述命令。

4.1 第一种场景:人来灯亮(结合人体传感器)

需求:当传感器检测到有人进入储藏室(第12路),自动打开照明灯(第1路),人走后2分钟自动关闭。

实现逻辑

  1. 接收数据:编写服务端接口接收传感器上报的MQTT/HTTP消息

  2. 触发判断:解析消息,若检测到“有人”且是“储藏室区域”。

  3. 执行动作:调用API发送 {"power1": 1}

  4. 超时关闭:在代码中启动定时器(120秒),到期后发送 {"power1": 0}

4.2 第二种场景:温湿度联动控制(农业/机房)

需求:当温度传感器超过30度,自动打开风扇(连接在第6路);低于25度关闭。

实现逻辑

  1. 轮询或接收温度数据。

  2. if temp > 30: call_api(device, '{"power6": 1}')

  3. elif temp < 25: call_api(device, '{"power6": 0}')

4.3 第三种场景:自定义定时任务

虽然官方App可能自带定时,但二次开发可以实现更复杂的“节假日/倒计时”逻辑。

实现逻辑(伪代码)

4.4 代码封装示例

为了简化开发,您可以用任意语言(Python, Java, Node.js, PHP)封装一个底层控制函数:

5. 注意事项与排错

  1. 响应码判断

    • 接口返回 code: 200 仅代表指令已送达云平台,不代表设备执行成功

    • 如需确认设备是否真的“开了/关了”,使用 消息推送 功能,接收设备上报的当前状态

  2. 网络环境

    • 设备仅支持 2.4G WiFi,确保信号强度

    • 支持 私有化部署(局域网控制),如果您的服务器和设备在同一局域网,可绑定本地IP进行直连,降低延迟

  3. 频率限制

    • 接口有单设备 1次/秒 的调用限制,高频操作(如PWM调光)不可直接用此方式,需在设备端逻辑处理

通过以上方案,您可以基于芯步12路控制箱的开放API,快速构建符合特定行业需求的自动化控制系统。

控制器产品方案:
如何接入智能 24 路远程开关控制模块来实现远程控制24路线路
查看 >>
如何在灯光控制中集成智能硬件以实现联动继电器模块扩展控制
查看 >>
怎么在照明控制中集成智能设备来实现分路控制灯光与设备
查看 >>
怎样在照明控制中对接智能硬件以实现多达24路独立线路控制
查看 >>
无人售货机两路设备控制:如何把智能2路交流远程控制模块集成到软件项目中
查看 >>
联动场景方案:
如何在弱电间空调联动中接入智能设备以实现空调风力调节
查看 >>
怎么二次开发双路智能墙壁控制开关以实现门禁与照明联动控制
查看 >>
怎么在创客工坊门禁管理中集成智能设备来实现门禁系统联动控制
查看 >>
如何在灯光控制中集成智能硬件以实现联动继电器模块扩展控制
查看 >>
怎样在活动现场人体感应与火灾预警中接入智能设备以实现消防预警联动
查看 >>
场景用途方案:
怎么在共享棋牌室氛围灯光控制场景中对接智能设备以实现自定义灯光场景模板设置
查看 >>
怎么接入24 路智能分体远程控制设备联动模块以实现场景模式一键切换
查看 >>
如何接入8位总控PDU插排以实现场景联动总控电源
查看 >>
如何对接50A带计量数显智能断路器以实现场景联动控制
查看 >>
如何二次开发智能 LED 情景灯控制器来实现自定义灯光场景模板设置
查看 >>