芯步的智能开关设备通过标准HTTP API对外开放控制能力,支持公网/局域网双模式,可无缝接入各类软件项目。以下方案从接口协议、签名机制、核心代码到场景,给出完整的技术路径。
1. 背景与概述
在现代办公环境中,照明控制不仅关乎能耗管理,更直接影响员工的工作效率和舒适度。传统的办公照明改造往往面临布线复杂、工期长、成本高等痛点。
芯步的智能墙壁控制开关(以 UNI-KG 系列为例)基于标准 86 型面板设计,可直接平行替换传统墙壁开关,无需重新凿墙布线。更重要的是,该系列硬件全面开放 HTTP API 接口,支持 JSON 数据格式交互,这使得开发者可以轻松将其接入现有的 OA 系统、智能办公 SaaS 平台或自研的能源管理系统中。
本方案的目标是解决“硬件控制逻辑”与“软件业务逻辑”的融合问题,实现从“人控”到“智控”的升级。
2. 核心技术架构
为了确保系统的灵活性(支持公有云/SaaS)与数据安全性(涉及办公隐私或内网环境),采用以下分层架构:
设备层:芯步智能墙壁开关(1路/2路/3路),通过 2.4GHz Wi-Fi 直连网络,无需额外网关。
网络层:支持 公有云 API(默认)或 私有化部署方案(纯局域网控制),满足不同企业的安全策略。
业务层:您的软件服务器作为核心控制端,通过调用 Open API 下发指令。
展示层:Web 管理后台、移动端 App/小程序、或企业内部 IM 机器人(如钉钉、企微)。
3. 接入准备工作:获取凭证与设备
在代码开发前,需要在芯步 IoT 平台完成以下初始化配置:
注册与认证:访问芯步控制台,注册企业账号并创建工作台(Workbench)。
获取密钥
AppID:应用的唯一标识。
AppSecret:开发者密码,用于计算接口签名。
设备配网与 ID 获取
安装智能墙壁开关并通电。
通过 App 或控制台将设备连接到办公区域的 Wi-Fi 网络(注意:仅支持 2.4GHz 频段)。
在控制台设备列表查看该设备的唯一标识符(Device ID),这是后续控制指令的目标地址。
4. 核心交互逻辑:签名机制与接口调用
芯步的接口安全策略采用 动态签名(Sign) 机制。所有软件对硬件的控制请求均需携带动态生成的签名,以防止接口被恶意篡改。
4.1 签名生成规则
为了确保安全性,接口请求必须携带 sign 和 ts(时间戳)参数。签名的计算逻辑如下YourSign = MD5( MD5(AppSecret) + ts )
将
AppSecret进行第一次 MD5 加密,得到字符串S1。将
S1与当前的 Unix 时间戳ts(秒级)拼接,得到字符串S2。将
S2进行第二次 MD5 加密,其结果即为sign。
4.2 接口调试示例
这是最基础的控制逻辑:通过 curl 命令改变第 1 路灯光的状态。
接口地址https://api.thingboot.com/{AppId}/device/control/请求方法:POSTContent-Type:application/json
下面是 Bash 脚本的示例,展示如何动态计算签名并下发“开启第1路”的命令:
5. 进阶场景:结合办公照明需求的功能实现
将硬件接入软件项目后,可以通过软件逻辑实现比传统开关更复杂的控制场景。下表总结了办公照明场景中常用的高级功能及其对应的接口调用方式:
| 功能场景 | 描述 | 软件实现逻辑(Order 参数示例) | 应用效果 |
|---|---|---|---|
| 一键情景模式 | 会议模式 / 午休模式 | {“power1”:1, “power2”:0} | 软件端点击“PPT模式”,自动关闭前排灯光并保持讲台区灯光。 |
| 状态保持 | 锁定开关状态,避免人为误关 | {“power1”: {“keep”: “1”, “revert”: “5”}} | 自动关窗联动:关窗时自动关灯,并锁定开关5秒,避免信号冲突。 |
| 脉冲控制 | 洗手间、茶水间自动延时关灯 | {“point1”: “30000”} | 人员离开检测区域后,软件发送指令亮灯30秒后自动熄灭,节能省电。 |
| 批量控制 | 下班后一键关灯 | {“device”: “id1, id2, id3”, “order”: {“power1”: 0}} | 18:30 软件定时任务扫描区域无人,批量关闭所有闲置灯光。 |
此外,芯步的接口响应速度极快,设备端从接收指令到执行动作通常在 80-120ms 内完成,几乎无延迟感,这对于需要实时反馈的办公交互场景至关重要。
6. 高级特性:接收设备状态与事件回调
单纯的“下发指令”是单向控制。在完整的智能办公系统中,往往需要“状态同步”,例如:当保洁人员手动按下了前台开关,中控大屏上的灯光图标要随之变为灰色。
芯步支持通过两种方式实现状态同步:
设备状态主动查询:通过接口获取设备最新状态。
HTTP 消息转发(推荐) :在控制台设置“数据接收地址”(Webhook URL)。当设备状态发生变化(手动按键、定时触发、远程控制)时,平台会主动将设备当前状态(如
power1: 0)通过 HTTP POST 请求发送到您配置的服务器地址。
这种方式可以让您的软件系统实时响应物理世界的操作,是构建运维看板或能耗统计报表的基础。
7. 总结
通过接入芯步智能墙壁开关的开放接口,办公照明系统的智能化改造变得极其简单且灵活:
协议标准化:无论您的后端是 Java、Python 还是 Node.js,只需支持 HTTP 请求即可完成对接。
部署灵活:支持互联网公网控制,也支持纯局域网私有化部署,保障数据安全。
场景丰富:从基础的开关灯到复杂的“状态锁定”、“定时脉冲”,完全覆盖办公环境的精细化控制需求。
该方案不仅实现了“硬件上墙”,更关键的是将“光”纳入了软件项目的管理闭环中。