芯步的12路多回路照明控制器支持HTTP API和私有化部署,既可以逐路独立控制,也支持批量操作。以下方案涵盖从签名计算、单路/批量控制到场景联动(如分组、定时)的完整接入流程。
解决方案:基于芯步开放接口实现12路多回路照明设备的远程批量开关控制
1. 解决概述
针对商业综合体、工厂、园区等需要管理大量照明回路的场景,利用芯步智能照明控制器12路16A (UNI-KZQ-ZM-12-16A) 及其开放接口,可以构建远程批量控制系统。
该系统支持公网SaaS控制(通过云平台API)和局域网/私有化控制(设备直连)两种模式。通过调用HTTP接口,运维人员可以在管理后台、小程序或APP上一键完成对特定区域(如整层楼、某车间)全部12路照明的同步开关、分组开关或策略性开关。
2. 硬件与接口能力
核心设备12路多回路照明控制器 (UNI-KZQ-ZM-12-16A)。该设备支持12路独立继电器输出,每路最大负载16A,总控制功率较大。设备直连Wi-Fi 2.4G网络,无需额外网关。
接口协议:全系支持 HTTP/HTTPS API 及 MQTT。平台提供标准的设备控制接口(
/device/control/)和分组控制接口(/group/control/)。部署模式
公网模式:设备连接互联网,通过芯步云API下发指令。
私有化模式:设备开放本地HTTP服务,支持在纯局域网环境下调用(如
http://设备IP/control),保障数据安全。
3. 批量开关控制的实现方案
3.1 接口鉴权与准备
在任何控制请求前,系统需完成签名计算以确保安全性。
AppID:应用唯一标识。
AppSecret:开发者密码。
签名算法
sign = md5( md5(AppSecret) + ts )(ts为Unix时间戳)。请求地址
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
3.2 方案一:单设备多回路批量控制(局部批量)
针对一台特定的12路控制器,需要同时关闭或打开其中的某几路(例如:只关闭1-5路,开启6-10路)。利用 order 参数中的 batch 指令,可以一次性下发对多个回路的操作,减少网络请求次数,提高响应速度。
接口示例 (JSON Body)
参数解析
relay: 需要操作的回路号数组(1-12)。power: 1为接通(开灯),0为断开(关灯)。效果:执行后,1、3、5、7、9、11路关闭,其余回路状态保持不变。这比逐条发送
{"power1":0}效率更高。
3.3 方案二:跨设备分组批量控制(全局批量)
当需要控制多个控制器下的不同回路时(例如:同时关闭A栋3楼和B栋1楼的所有照明),推荐使用设备分组功能。
建立分组:在芯步控制台中,创建一个“下班全关”分组,将需要受控的12路设备(甚至多个12路设备)加入该分组。
指令下发:调用分组控制接口,对分组内所有设备执行全关或全开命令。
接口示例 (分组全关) :
注意:如果分组内包含多种设备,需确保
power指令在各设备中均通用。
3.4 方案三:私有化环境下的局域网批量控制
对于对网络延迟或数据安全要求比较高的场景(如涉密单位、无互联网工厂),利用设备的私有化接口,在局域网内直接控制。
本地请求地址
http://{设备IP}:{port}/control实现批量:由于私有化接口每次请求通常针对单设备,若需控制多个设备,业务后端服务器在局域网内并发调用各设备的IP地址。
批量逻辑示例
提示:私有化模式也支持在URL中携带sign参数进行安全校验。
4. 高级应用策略
除了简单的开关,芯步接口还支持逻辑控制,帮助节能和延长设备寿命。
定时任务:利用云平台的定时触发器。例如:每天早上8:00全开,晚上18:00批量关闭1-6路(办公区),20:00全关。
先断后通/先通后断 (Reset/Point):在批量控制电机或LED驱动时,为避免瞬间电流过大,可使用
reset指令让线路先断开再延时接通。指令示例
{"reset":{"relay":[1,2,3],"interval":500}}(让1、2、3路先断开,间隔500毫秒后再依次接通)。
5. 对接实施步骤
设备配网:通过芯步官方APP或小程序,为12路控制器配置Wi-Fi网络(支持5组Wi-Fi自动切换,保障稳定性)。
获取凭证:登录芯步工作台,获取 AppID 和 AppSecret;在设备列表页获取目标 Device ID。
接口调用测试:使用 Postman 或 curl 工具,携带正确的 sign 签名,向
device/control接口发送{"power1":1}测试单路响应(响应速度通常为80-120ms)。业务集成:在业务系统中封装 SDK。
写一个函数
controlRelay(deviceId, relayArray, action)。该函数自动将
relayArray转换为batch格式的 JSON 并发起请求。
异步反馈处理(可选):如果业务需要确认“设备是否真的执行了动作”,需订阅云端消息推送。因为
code 200仅代表指令到达平台,不代表设备执行成功。
6. 总结
通过芯步12路照明控制器的开放接口,开发者可以通过 batch 指令 轻松实现在单设备内的多回路批量控制,通过 分组接口 实现跨设备的全局控制。整套方案基于标准 HTTP 协议,无论使用 Java、Python、Go 还是 PHP,均可快速集成,有效解决多场景下的照明远程管理难题。