CATALOG

芯步的12路控制器采用标准HTTP接口,支持任何编程语言调用,无需网关即可直连WiFi。以下方案涵盖接口对接、签名鉴权、多路控制等核心环节,可直接集成到你的项目中。

解决方案:基于芯步12路控制器的居家照明系统集成方案

1. 概述

芯步智能照明控制器12路16A (UNI-KZQ-ZM-12-16A) 是一款高性能的远程控制设备。它支持12路独立的大功率(单路最大16A/3500W)照明电路控制。

本方案的目标是指导开发者如何通过该设备开放的 HTTP API接口,快速将其对接到自有项目(如Web应用、小程序、APP或SaaS平台)中,实现远程开关、批量控制和状态监测。

2. 核心对接准备

在开始编码之前,需要准备以下关键信息:

准备项说明获取方式
设备硬件UNI-KZQ-ZM-12-16A采购并安装。注意:设备使用 WiFi 2.4G 网络,无需网关
AppID应用唯一标识登录芯步开放平台控制台,在“应用信息”中查看
开发密码 (Secret Key)用于生成接口签名,保障安全在控制台设置/获取,请勿泄露
设备ID (Device ID)目标控制器的唯一编号查看设备外壳标签或控制台设备列表

3. 接口鉴权与签名机制

为了保证通信安全,所有HTTP请求都需要携带签名(sign)。这是对接过程中唯一可能稍显复杂的地方,算法如下:

签名生成规则(伪代码):sign = md5( md5(开发密码) + “.” + 时间戳 )

步骤解析:

  1. 获取时间戳:获取当前的Unix时间戳(秒级),例如 1715678900。赋值给参数 ts

  2. 加密密码:对“开发密码”进行第一次MD5加密,得到 pwd_md5

  3. 拼接字符串:将 pwd_md5、英文句号 .ts 拼接。

  4. 生成签名:对上一步拼接的字符串再次进行MD5加密,得到最终的 sign

请求示例:最终发起的请求URL结构如下:http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={计算出的sign}&ts={当前时间戳}

4. 核心控制指令对接

控制器支持单路控制和批量控制。由于12路参数较多,掌握批量控制命令格式能显著提升开发效率。

4.1 控制命令格式
  • 请求方式:POST (推荐使用 JSON 格式)

  • 请求头 (Header)Content-Type: application/json

  • Body参数

字段类型说明
deviceString在准备阶段获取的“设备ID”
orderObject控制指令对象,包含具体的路数操作
4.2 实操:控制第1路和第3路

如果我们想开启第1路,关闭第3路,命令如下:

4.3 高阶:全开 / 全关与批量操作

对于12路设备,全开全关无需写12行参数,使用batch指令集更优雅。

第一种场景:一键全开

第二种场景:奇数线路全开

更多批量操作(如顺序延时启动)可参考官方 pointreset 命令

5. 实战:代码集成示例 (Python/JavaScript)

以下代码示例展示了如何在项目中调用上述指令。

Python 示例 (使用 requests 库)

微信小程序示例 (JavaScript)

6. 状态同步与异步回调处理 (进阶)

芯步的API返回 code:200只代表指令下达成功,不代表设备真的执行了(例如设备当时断网)。

为了获得准确的执行结果,你需要配置消息推送机制:

  1. 配置回调URL:在芯步控制台设置你的服务器回调地址。

  2. 接收状态:当设备成功执行开关动作后,平台会主动向你的服务器发送一条JSON消息,包含设备ID、路数和最终状态。

  3. 更新数据库:你的服务器收到消息后,更新数据库中的灯状态,从而保持前端界面与物理设备状态的绝对同步

7. 私有化部署 (可选)

如果你对数据安全或局域网响应速度有极致要求,该控制器支持私有化部署

  • 原理:设备可以连接到你指定的私有 MQTT Broker 或 HTTP 服务器,而非芯步的官方云平台。

  • 实施:在设备配网阶段,通过配置参数指向你的内网服务器地址即可

总结

将芯步的12路灯光控制器集成到自有项目中,核心在于理解其 HTTP Sign签名机制Batch批量控制语法。无论是通过Python、Java还是小程序,只需构建标准的HTTP POST请求,即可在30分钟内实现从“硬件上电”到“APP控制”的全链路打通。