CATALOG

芯步的智能照明设备通过标准HTTP接口对外开放控制能力,支持单路/批量控制、延时通断、状态保持等多种指令模式。以下方案从接口调用、签名鉴权到定时任务引擎的设计,给出完整的技术实现路径。

解决方案:基于芯步开放接口的智能照明远程定时控制系统

1. 概述

本方案的目标是利用芯步智能照明设备(如智能墙壁开关、多路照明控制器等)开放的 HTTP 接口,构建一套高效的远程定时任务控制系统。该系统不仅支持单次定时、每日重复等常规周期任务,还支持“先通后断”、“临时锁定”等高级时序逻辑。

核心价值:无需购买专用网关,直接利用现有WiFi网络,通过标准API实现商业空间(如自习室、办公室、展厅)的照明自动化管理。

2. 核心技术架构与对接流程

整个系统架构分为三层:设备层接口层业务应用层

  • 设备层:芯步的智能照明控制器(如 UNI-KZQ-ZM-12-16A、智能墙壁开关等)。设备通过 WiFi 2.4G 直接联网,无需网关

  • 接口层:芯步开放的 HTTP API api.thingboot.com。作为桥梁,负责接收业务层指令并下发至设备。

  • 业务应用层:用户自建的服务器或云函数。负责存储定时任务配置,通过 cron 表达式触发,并调用 API 执行控制逻辑。

对接流程图:

  1. 设备激活:设备通电联网后,在芯步控制台获取唯一的 device 标识。

  2. 应用注册:用户在芯步云平台注册应用,获取 AppIDSecret(开发密码)

  3. 签名生成:业务服务器在调用 API 时,根据规则生成动态 signts(时间戳)进行鉴权。

  4. 指令下发:业务服务器向 https://api.thingboot.com/{AppID}/device/control/ 发起 POST 请求,携带目标 deviceorder 指令。

3. 关键接口对接与命令详解

芯步的接口设计采用 JSON 格式,命令字段 order 支持多种复杂场景。

3.1 基础鉴权与请求示例

所有请求均需携带签名以防止非法调用。签名算法为:sign = md5( md5({Secret}) + "." + {ts})

请求示例 (Shell/Curl):

以上命令控制 ID 为 820720 的设备开启第一路,关闭第二路

3.2 针对远程定时的核心命令支持

为实现丰富的定时任务,重点关注以下 order 参数:

  • 单路/多路独立控制{"power1":"1", "power2":"0"} —— 适用于定时开启灯光或定时关闭

  • 批量控制{"batch":{"relay":[1,3,5],"power":"0"}} —— 一次性关闭第1、3、5路。适用于下班后一键全关定时任务

  • “先通后断” (Point){"point1":"5000"}{"point":{"relay":[1,2],"interval":60000}}—— 打开线路并在指定毫秒后自动关闭。应用场景:走廊灯定时开启1分钟后自动熄灭,无需额外发送关闭指令

  • “先断后通” (Reset){"reset1":"10000"} —— 关闭线路并在10秒后重新开启。应用场景:某些特殊设备的断电重启或复位

  • 状态保持/临时锁定 (Keep){"power1":{"keep":"1","revert":"30"}}—— 强制保持开启状态,用户手动关闭后,30秒内会自动恢复为开。应用场景:公共场所(如商场)规定时间内锁定灯光为“常开”模式,防止顾客误关

4. 远程定时任务系统的实现方案

在用户自有的业务服务器上,采用以下逻辑实现“远程定时控制”:

第一步:任务存储在业务数据库设计定时任务表,包含:

  • device_id

  • cron_expression (如 0 30 19 * * ? 表示每晚7:30执行)

  • order_payload (如 {"power1":"0", "power2":"0"})

  • is_active

第二步:调度引擎利用 Quartz 或 Linux Cron 驱动。当时间匹配时,调度器触发执行逻辑。

第三步:指令封装与下发调度器组装 HTTP 请求,核心是动态生成 order 内容:

  • 场景 A:强制关灯模式需求: 共享自习室每晚 22:00 强制关闭所有灯光,防止资源浪费。实现: 调用批量控制接口,order 内容为 {"batch":{"power":"0"}}

  • 场景 B:迎宾/下班模式需求: 工作日早晨 8:00 将大堂灯全亮,晚上 20:00 转为“安保微光模式”(仅留第4路亮)。实现:

    1. 早晨任务:order = {"batch":{"relay":[1,2,3],"power":"1"}}

    2. 夜晚任务:order = {"batch":{"relay":[1,2,3],"power":"0"},"power4":"1"}}

  • 场景 C:无人值守的临时照明 (高级)需求: 清洁工每晚 23:00 需要 30 分钟照明打扫卫生,然后自动全关。实现: 不设置复杂的“开灯”和“关灯”两个任务。只需在 23:00 发送一个包含 point 命令的请求。示例 order

    解析: 设备收到命令后立即全开,并内部计时 30 分钟(180万毫秒)后自动全关。这种方案即使业务服务器断网,设备本地计时的关灯动作依然会执行。

5. 异常处理与优化

  1. 网络重试机制:由于 HTTP 是基于短连接的,定时任务触发时若网络抖动可能导致下发失败。业务系统应建立“任务执行日志”表,对失败的任务进行随机间隔(或逐次增大间隔)重试(如间隔 5秒、10秒、30秒重试 3次)

  2. 设备状态同步:设备支持“远程定时任务”,但如果在定时触发前,有人按了墙壁物理开关改变了状态,业务系统需维护本地状态缓存,或在下发前查询一次设备当前状态,以免覆盖用户意图。

  3. 私有化部署:对于对延迟或数据安全要求比较高的场景(如大型工厂),芯步支持私有化部署方案。可将 API 接口部署在局域网内,实现纯内网控制,彻底消除公网延迟

6. 总结

通过对接芯步标准化的 HTTP 开放接口,开发者仅需关注上层业务逻辑与定时规则的制定。利用 pointresetkeep 等进阶指令,可极大简化远程定时任务开发的复杂度(省去多次回调),实现对 1-24 路照明设备的精准、自动化控制。

通断器产品方案:
怎么接入AC4-30A 物联网开关以实现单路交流负载控制
查看 >>
怎么接入DC-10A 设备电源控制器以实现远程定时任务控制
查看 >>
怎样接入AC5-10A 低压控制开关来实现能耗数据统计控制
查看 >>
怎样在智能垃圾桶电源控制中接入智能硬件以实现低电压监测告警
查看 >>
创客项目电源控制场景:怎样把智能通断器模块接入到软件项目中
查看 >>
家居场景方案:
如何在智能家居中接入智能设备来实现分路控制灯光与电器
查看 >>
智能家居人体感应控制:怎么将带电源输出人体存在传感器集成到自己的项目中
查看 >>
怎么在智能家居人体感应照明中集成智能设备以实现场景联动控制
查看 >>
智能家居照明门禁联动:如何将2 路智能触摸开关对接到自己的项目中
查看 >>
智能家居射频设备管理:怎么把智能射频控制器接入到自己的项目中
查看 >>
任务用途方案:
怎样在地铁站语音提示中接入智能硬件来实现云端定时任务触发
查看 >>
如何在展会现场照明控制中接入智能硬件来实现定时任务集中启停控制
查看 >>
怎么对接20W 公共广播语音音柱来实现云端定时任务触发
查看 >>
怎么接入DC-10A 设备电源控制器以实现远程定时任务控制
查看 >>
如何在民宿房间空调控制中对接智能硬件以实现定时任务控制空调
查看 >>