芯步的4路交流负载控制器支持通过HTTP接口直接调用,配合其传感器设备的上报机制,可以在你的业务服务器上轻松实现各种联动场景。以下方案涵盖设备选型、接口对接、签名算法和典型场景的代码实现。
1. 解决概述
在很多智能化场景(如共享自习室、棋牌室、仓库、温室大棚等)中,常常需要根据环境传感器的数据来自动控制大功率交流电器的开关。本方案基于芯步提供的开放 HTTP API 接口,讲解如何快速对接 4路交流负载控制器,并结合传感器数据(如人体红外、温湿度、烟雾等)实现复杂的联动场景逻辑控制。
该方案具有以下核心优势:
无网关依赖:设备直连 WiFi 2.4G,降低硬件成本和故障点。
接口通用性:基于 HTTP 协议,支持任何主流后端语言(Java, Python, PHP, Node.js 等)或前端应用(小程序、App)。
响应迅速:从云端下发命令到设备响应时间约为 80-120ms,满足商业场景实时性要求。
多网络部署:既支持公有云,也支持纯局域网/私有化部署,保障数据安全。
2. 硬件选型
2.1 4路交流负载控制器
产品型号:UNI-KZQ-AC-4
核心功能
4路独立控制:每路支持 AC 85-265V 市电,单路最大负载 10A(约 2200W 阻性负载),总负载不超过 4400W。
输入反馈:提供4路开关量信号输入,可外接物理轻触开关,实现本地/远程双控。
联网方式:WiFi 2.4GHz,支持5组备选网络,自动漫游。
2.2 配套传感器(联动场景需要)
为实现“联动场景”,通常需要配合以下传感器:
人体存在传感器:探测是否有人移动(用于人来灯亮、人走断电)。
温湿度传感器:监测环境温湿度(用于温控风扇/暖通设备)。
烟雾报警器:检测火灾隐患(联动断电或报警)。
3. 接口对接技术方案
芯步的接口设计遵循无状态、签名认证的原则。所有对4路控制器的操作均通过向特定 URL 发起 POST 请求完成。
3.1 API 请求基础信息
请求地址
http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方式:POST
数据格式:JSON
鉴权参数
AppID:应用唯一标识(平台生成)。AppSecret:应用密钥(用于生成签名,严禁暴露在前端)。ts:当前 Unix 时间戳(秒),用于防重放攻击。sign:签名。
3.2 签名生成算法(核心安全逻辑)
为了防止接口被恶意篡改,每次请求必须携带动态签名。签名生成规则为:
sign = md5( md5(AppSecret) + ts )
代码示例(Python):
3.3 控制指令详解
针对 UNI-KZQ-AC-4 型号,order 参数支持单路、批量、以及时序控制。
3.3.1 单路独立控制
| 动作 | Order JSON 格式 |
|---|---|
| 开启第1路 | {"power1":"1"} |
| 关闭第2路 | {"power2":"0"} |
| 查询状态 | {"status":""} (部分固件支持) |
3.3.2 批量与场景控制(联动场景核心)
在实际联动中,往往需要同时操作多个继电器:
全开/全关
{"batch":{"relay":[1,2,3,4],"power":1}}互斥控制
{"power1":"1","power2":"0"}(同时发出)
3.3.3 高级时序控制(针对保护设备)
对于空调压缩机、水泵等设备,不能瞬间频繁启停或需要先断电等待:
先断后通 (复位/重启):适用于路由器、摄像头。先断开第1、2路,间隔3秒后自动接通。
{"reset":{"relay":[1,2],"interval":3000}}
先通后断 (点动/脉冲):适用于门禁电磁锁、报警灯。接通第3路1秒后断开。
{"point":{"relay":[3],"interval":1000}}
4. 联动场景逻辑实现架构
为了实现“智能化”而非“遥控化”,我们需要建立一套事件驱动(Event-Driven)的架构。
4.1 消息流转架构
一般来说,推荐使用 “传感器 -> 业务服务器 -> 4路控制器” 的闭环逻辑:
状态上报:传感器检测到变化(如人体雷达探测到“有人”),主动上报数据到你的服务器。
逻辑判断:你的业务服务器接收数据,运行规则引擎(Rule Engine),判断是否需要开灯。
指令下发:业务服务器调用芯步 API,向指定 ID 的控制器下发
{"power1":"1"}。执行反馈:设备执行命令,同时传感器状态恢复,形成闭环。
4.2 典型场景实战案例
第一种场景:共享自习室/办公室“人来灯亮,人走灯灭”
设备:1台 人体存在传感器 + 1台 4路交流控制器 (接照明灯)。
逻辑
触发:传感器上报
{"radar_state":"1"}(有人)。动作:服务器判断该座位未在使用中,自动下发
{"power1":"1"}开灯。延时:传感器上报
{"radar_state":"0"}(无人)。动作:服务器等待 60 秒确认,若无再次触发,则下发
{"power1":"0"}关灯。
第二种场景:设备联动保护与告警
设备:烟雾报警器 + 4路控制器(接排风扇/总闸)。
逻辑
触发:传感器上报烟雾浓度超标
{"smoke":"high"}。动作:立即下发 批量关闭
{"batch":{"relay":[1,2,3,4],"power":0}}切断总闸,保护线路。动作:下发
{"power4":"1"}单独开启排风扇。
5. 实战代码片段
以下是一个 Node.js 环境下的联动逻辑函数示例。该代码模拟服务器收到传感器上报后,控制 4 路控制器执行动作。
6. 私有化部署与局域网直连
对于工厂、政府单位或网络不稳定的环境,芯步支持私有化部署解决方案。
原理:设备支持配置本地服务器的 IP 地址。你可以搭建本地 MQTT Broker 或 HTTP 服务端。
优势:数据完全不经过外网,延时更低(局域网内 < 20ms),且不受公网带宽影响。
迁移:API 接口格式与公有云完全一致,仅需修改代码中的
Host地址,无需改动业务逻辑,极大降低了迁移成本。
7. 总结
通过对接芯步 4路交流负载控制器的开放接口,开发者可以快速构建一套稳定、安全且响应迅速的物联网控制系统。
在 接口层面,利用
batch和reset/point命令,可以完美应对复杂的工业/商业控制逻辑。在 架构层面,结合传感器上行数据和服务器规则引擎,可以实现真正的“全自动无人值守”联动场景。
在 运维层面,利用签名机制和私有化部署选项,确保了系统的高安全性与高可用性。