8路智能分体控制箱支持交直流负载远程控制,通过芯步开放的HTTP API接口,可以快速实现设备状态监控与指令下发。以下方案涵盖接口协议、签名机制、指令示例及轮询/回调两种状态获取方式。
解决方案:基于芯步开放接口的8路智能控制箱设备监控系统
1. 概述
芯步提供的智能分体远程交直流输出控制箱(如8路/16路/24路系列)支持通过HTTP API进行远程控制和状态读取。本方案的目标是指导开发者如何对接其开放接口,实现对控制箱每一路输出的远程控制、通断状态监控以及故障检测(如断电、离线)。
2. 硬件与接口能力
硬件:UNI-KZQ-AC-8(交流)或 UNI-KZQ-TY-8/DC(直流)系列。
通讯方式:Wi-Fi 2.4GHz,支持局域网和公网控制。
核心能力
独立控制:8路继电器支持独立或批量控制。
命令支持:支持
power1~power8(单路控制)、batch(批量控制)等指令。负载能力:阻性负载单路最大2200W,总功率限制需参考具体型号。
3. 对接架构与流程
系统对接采用请求-响应与事件驱动相结合的架构:
设备端(控制箱):连接Wi-Fi,注册至芯步云平台。
云端(芯步):提供统一的API网关,管理设备状态。
业务服务器(用户自建):调用云端API下发指令,并接收设备上报的状态回调。
监控端:Web/APP界面,展示实时状态。
流程图
业务系统->调用API(控制/查询)->芯步云平台->下发指令->智能控制箱智能控制箱->上报状态(HTTP Push)->业务服务器接收->更新数据库
4. 关键对接技术细节
4.1 认证与签名机制
所有API请求需要携带动态签名以保证安全。签名为 MD5(MD5(AppSecret) + Ts)。
AppID/AppSecret:在芯步控制台获取。
Ts:Unix时间戳(秒)。
Sign计算示例
4.2 设备状态监控实现(核心)
“监控”的核心在于获取两个数据:当前控制箱各路开关的实际状态(开/关) 和 设备在线状态。有两种实现方式:
方式A:主动轮询(简单场景适用)调用设备状态查询接口(通过系统命令获取)。
但芯步官方推荐通过“消息推送”接收设备状态变更。
方式B:被动接收(推荐,实时性高)配置消息推送(HTTP回调)。当设备状态变化(如物理按键按下、远程控制、或电压异常断开)时,芯步云端会主动将消息推送至你预设的服务器地址。注意:传感器或控制箱状态变化会触发
infrared_detect或relay1等事件。
4.3 下行控制指令详解
发送POST请求至: https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
HeaderContent-Type: application/jsonBody
常用命令集
开启第3路
{"power3": 1}关闭第3路
{"power3": 0}查看第3路状态:有些版本支持查询,通常依赖上报;若需强行读取,可使用
reset或point命令刷新。批量控制
{"batch": "FF"}代表全开(需根据产品手册定义,如十六进制位表示)。先通后断控制
{"point": "12"}(特定场景用于互锁控制)。
4.4 状态解析与异常判定
业务系统在接收到设备上报的数据时,需解析负载字段。假设上报的JSON数据结构如下(示例):
监控逻辑实现
运行状态监控:数据库记录
relay期望值与实际返回值进行对比。若下发开启命令(期望=1),但收到的上报状态为0,则判定为控制失败或负载断路。离线监控:若超过设定时间(如60秒)未收到设备心跳或状态上报,且Ping云端接口返回设备离线,则判定为设备离线或断电。
故障告警:结合负载电流检测(部分高级型号),若继电器吸合但电流为0,判定为设备空载故障。
5. 实施步骤简表
| 步骤 | 操作内容 | 关键产出 |
|---|---|---|
| 1. 环境准备 | 注册芯步账号,创建工作台,获取 AppID / AppSecret。 | 开发者凭证 |
| 5. 设备就位 | 给控制箱上电,通过设备配网(一键配网/AP配网)使其连接到Wi-Fi。 | 上线设备ID |
| 3. 接口打通 | 编写Token生成函数(MD5嵌套),调用设备控制接口测试开关。 | 控制代码模块 |
| 4. 配置回调 | 在“物联网控制台”配置“数据转发”地址(公网IP或域名)。 | 接收状态的服务端 |
| 5. 业务集成 | 根据接管的业务逻辑,编写轮询任务或监听回调服务,更新前端UI。 | 监控界面完工 |
6. 注意事项
网络环境:控制箱仅支持2.4G Wi-Fi,不支持5G频段。
私有化部署:如果项目要求数据不出厂(纯内网),芯步支持局域网HTTP API和私有化MQTT Broker对接,此模式下无需经过公网云端,延迟更低。
签名时效性:时间戳
ts与服务器时间误差不宜过大,否则会校验失败。负载安全:监控系统需增加逻辑,防止同时开启大功率负载导致过载。8路同时开启阻性负载总功率通常不超过4400W。
通过上述方案,你可以通过芯步8路控制箱的 API接口,快速构建一个集远程控制与实时监测于一体的设备管理系统。如果需要查看特定语言(如Java/PHP/Python)的代码示例,可以参考芯步官方文档或请求技术支持。