芯步的8路控制器提供标准HTTP接口,可通过单次请求同时控制多个继电器状态,实现第一种场景键切换。以下方案涵盖接口调用方法、签名机制、核心代码实现及典型场景配置。
1. 解决概述
本方案的核心在于利用芯步开放平台提供的 HTTP API 接口,将您的软件系统(Web/App/小程序)与 8路远程控制设备(如型号 UNI-KZQ-TY-8)进行对接。
技术逻辑如下:
用户触发:用户在前端点击“影院模式”或“离开模式”按钮。
后端计算:您的业务服务器根据预设的场景配置,计算出需要闭合或断开的继电器组合。
指令下发:服务器携带签名凭证,向芯步云平台发起包含
device(设备ID)和order(指令)的 HTTP POST 请求。设备执行:云平台将指令推送至8路控制器,控制器在约 80-120ms 内执行对应的继电器动作,从而切换灯光、窗帘、投影幕等设备的电源状态。
2. 核心对接准备
在开始开发前,请确保完成以下物理与数据准备:
硬件准备
芯步8路控制器(选择 10A或16A 版本以匹配不同功率负载)。
接线提示:将需要联动的设备(灯光、电控锁、投影幕升降机等)的火线接入控制器的 COM 口,零线/负载线接入对应的 NO(常开)接口。
网络配置
设备仅支持 2.4GHz WiFi。通过“芯步小程序”或“物联网控制台”将设备配置入网。
记录下分配到的 设备ID(Device ID)。
平台凭证
登录 [芯步开放平台] 获取
AppId和AppSecret。
3. 接口调用技术详解
芯步采用无网关直连方案,接口在公网或局域网环境下均可调用。
3.1 请求地址与鉴权
请求地址
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}鉴权机制:采用 动态签名(MD5) 方式,防止接口被恶意篡改。
签名生成算法(以PHP为例):
注:其他语言(Java/Python/Go)需实现相同的逻辑。
3.2 下发指令参数解析
请求体为 JSON 格式,关键在于 order 对象的构造。
单路独立控制通过
powerN参数控制第N路的开关。批量/组合控制场景切换通常需要多路同时动作。使用
batch参数进行批量操作,效率更高且逻辑清晰。高级时序控制(如投影幕散热延迟):若场景切换涉及“先断电、后通电”或“短暂通电”功能,可使用
point参数。
4. 场景模式一键切换实现
为了实现“一键切换”,您的后端系统需要预设场景模板。以下通过代码逻辑演示如何实现两个典型场景。
4.1 场景逻辑定义表
| 场景名称 | 动作要求 | 对应的 batch 指令 |
|---|---|---|
| 影院模式 | 灯光1-3路关闭,幕布(第4路)下降,氛围灯带(第5路)开启 | {"relay":[1,2,3],"power":"0"} + {"relay":[4,5],"power":"1"} |
| 离开场景 | 除冰箱(假设接在第8路)外,其余全部断电 | {"relay":[1,2,3,4,5,6,7],"power":"0"} |
4.2 后端逻辑实现(伪代码思路)
4.3 硬件接线
大功率负载:如空调、取暖器,需确认单路负载不超过 2200W(阻性)/ 350W(感性),总功率不超过 4400W。
受控设备:普通灯光、门锁直接接
NO和COM;电动窗帘电机需配合两个继电器形成正反转回路,或者利用控制器的点动模式(point)发送脉冲信号。
5. 联调与排障指南
状态同步(Callback推荐)
芯步支持将设备状态主动推送到您的服务器。
在控制台配置 消息推送URL,当用户物理触碰开关或设备掉线时,平台会主动上报实时状态,确保您的软件界面与实际设备状态100%同步。
局域网直连(私有化部署)
如果您对公网稳定性有疑虑,或数据需闭环内网,可将设备配置在 纯局域网环境。此时API请求直接指向设备的局域网IP,延迟可降至毫秒级。
常见错误
sign错误:检查时间戳 (ts) 是否跨时区,以及是否进行了 双重MD5 计算。设备离线:确认设备是否连接了错误的WiFi(不支持5G频段),或检查密码是否变更。
通过以上方案,您可以在半小时内完成基础的8路控制对接,并通过组合 batch 指令实现无感的场景模式一键切换。