芯步的智能开关提供完整的HTTP API接口,支持远程控制、状态监测和场景联动。以下方案以3路智能照明开关为例,涵盖设备对接、状态监测和联动逻辑的实现路径。
1. 概述
本方案基于芯步智能墙壁开关3路(型号:UNI-KG-3)及智能照明控制器系列产品的开放HTTP API接口,为企业及开发者提供一套完整的设备对接指南。旨在实现对照明设备的远程状态监测、独立分控以及场景联动。
该方案支持公网与局域网(私有化部署)两种模式,适配Web应用、移动端APP/小程序及各类SaaS平台。整体架构如下:
设备层:3路智能照明开关(WiFi连接,支持2.4GHz频段)。
接口层:芯步开放API(
api.thingboot.com)或私有化部署接口。业务层:用户自有系统(负责处理签名验证、业务逻辑、联动规则)。
交互层:H5管理后台、小程序、App或第三方控制系统。
2. 接口对接准备
在进行开发前,需要完成以下准备工作以获取必要的账户凭证。
| 准备项 | 描述 | 获取途径 |
|---|---|---|
| AppID | 应用唯一标识符 | 登录芯步控制台,在“开发设置”中查看 |
| AppSecret | 应用密钥,用于接口鉴权签名 | 同上,需注意保密,切勿直接暴露在前端代码中 |
| 设备ID | 目标硬件的唯一标识 | 设备标签或控制台设备列表 |
2.1 签名算法(鉴权机制)
芯步的开放接口采用动态签名验证,旨在保障接口调用过程中的安全性。所有HTTP请求均需携带签名参数sign和当前时间戳ts。签名计算步骤如下
step1_md5 = md5(AppSecret)step2_str = step1_md5 + ts(字符串拼接)sign = md5(step2_str)
安全提示:时间戳
ts为当前Unix时间戳(秒),服务器会校验该时间戳的有效性,以防止请求重放攻击。在服务端动态生成签名,避免在前端代码中暴露AppSecret。
3. 3路智能照明开关核心功能对接
针对三路照明设备的“状态监测”与“联动控制”,主要涉及API调用与状态同步机制。
3.1 远程控制与状态下发
通过向设备下发指令,实现对三路电路的独立控制。指令通过HTTP POST请求发送,支持同时控制单一路或多路。
接口地址https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
请求示例(以Shell/PHP为例)假设需要将设备ID为820720的开关的第1路打开、第2路关闭、第3路打开。
命令参数详解
| 指令对象 | 参数格式 | 功能描述 | 应用场景示例 |
|---|---|---|---|
| 线路1 | {“power1”: 1} | 打开第1路 | 开启客厅主灯 |
| 线路2 | {“power2”: 0} | 关闭第2路 | 关闭射灯 |
| 线路3 | {“power3”: 1} | 打开第3路 | 开启灯带 |
| 状态保持 | {“power1”: {“keep”: “1”, “revert”: “10”}} | 用户物理操作后,延迟10秒自动恢复开启状态 | 楼道照明,有人经过误关后自动恢复 |
| 先通后断 | {“point1”: “2000”} | 第1路接通2秒后自动断开 | 给走廊/摄像头上电重启,避免长时间通电 |
| 先断后通 | {“reset1”: “3000”} | 第1路断开3秒后自动接通 | 设备断电重启复位 |
3.2 设备状态监测机制
实现“监测”依赖于两种技术路径:
主动查询(同步)
系统可通过调用设备状态查询接口(如
device/status)主动拉取当前三路开关的通断情况。这适用于用户打开控制面板时,拉取当前最新状态以同步UI显示。
状态上报(异步-推荐)
WebSocket:建立长连接,实时接收设备状态变更推送。当有人在本地按下墙壁开关时,服务器会通过WebSocket将
{“power1”:0}推送给所有已连接的客户端,实现毫秒级UI更新。消息回调:配置消息服务器(URL),当设备状态变化时,平台通过HTTP POST将消息推送到业务系统,便于数据持久化存储(如记录操作日志)。
4. 场景联动方案
基于API接口,可以轻松构建复杂的业务联动逻辑,无需额外的网关硬件。
4.1 定时策略与自动化
利用业务系统的定时任务机制,结合HTTP API实现精准控制:
场景A:上班模式(全关)
触发条件:工作日上午9:00。
执行逻辑:调用控制接口,组合命令
{“power1”: 0, “power2”: 0, “power3”: 0}。
场景B:人来灯亮(传感器联动)
硬件组成:3路智能开关 + 红外传感器(第三方,但接入同一系统)。
执行逻辑:传感器检测到“有人移动”信号 -> 业务系统触发联动 -> 调用接口命令
{“power1”: 1}开启照明。
4.2 跨设备联动与自定义逻辑
您可以利用“状态保持/恢复”功能,在无代码逻辑干预下,实现基础的防误触或临时照明。
场景C:卫生间/楼梯间(延时照明)
用户按下一键场景面板(如“起夜模式”)。
系统下发命令:
{“power1”: {“keep”: “1”, “revert”: “60”}}。效果:灯光打开,同时用户物理按下开关试图关闭时,开关会在1秒(可配置)内自动恢复开启状态,60秒后照明设备自动关闭,无需编写循环定时器代码。
5. 软硬件部署与网络架构
芯步的设备支持两种部署架构,可根据项目的安全性及网络环境灵活选择
5.1 公有云模式(SaaS)
适用场景:家庭、中小型商铺、跨地域管理的连锁门店。
特点:设备连接芯步官方云平台,开发者通过公网API调用。即插即用,无需维护服务器,但依赖互联网连接。
5.2 私有化部署(局域网模式)
适用场景:政府办公楼、学校、军工单位或对数据隐私要求比较高的工业场所。
特点
设备仅连接用户指定的本地WiFi网络(无互联网出口)。
芯步提供本地服务包,用户自行部署在局域网服务器中。
API接口与云端完全兼容,仅需修改请求BaseURL为本地服务器IP即可,实现内外网隔离。
6. 总结
通过对接芯步的3路智能照明开关,项目团队只需聚焦于以下核心工作:
签名逻辑:后端封装标准的
AppSecret签名算法,确保接口调用安全。设备管理:在控制台录入设备ID,建立设备ID与业务系统场所的映射关系。
状态同步:利用
device/status接口查询状态,结合WebSocket推送机制实现UI实时刷新。业务逻辑:利用
order丰富的参数(保持/定时/联动),编写满足场景需求的控制策略。
该开放接口兼容性强,支持Java、Python、PHP、Node.js及小程序JavaScript等多种语言,开发周期短,通常可在1-2周内完成从对接联调到上线试运行的全部工作。