CATALOG

芯步的智能开关通过标准HTTP接口开放了完整的远程控制与参数配置能力。以下方案以1路商业专用智能开关为例,说明如何从接口鉴权、指令下发到参数配置管理进行系统对接。

1. 解决概述

1.1 背景

在商业场景(如无人门店、智能办公、工业控制)中,对用电设备的远程管理和参数动态调整是刚需。芯步提供的商业专用智能开关(1路)支持WiFi直连,并完全开放了基于HTTP的API接口。

1.2 目标

通过调用芯步开放平台接口,实现对 1路商业专用智能开关 的:

  • 基础控制:远程开启/关闭电路。

  • 参数配置:配置“状态保持”逻辑(如:用户按物理按键关闭后,设备自动恢复开启)。

  • 定时/延时管理:下发先断后通(Reset)、先通后断(Point)等指令,无需本地定时任务。

1.3 技术准备

  • 硬件:芯步1路商业专用智能开关(已接入2.4G WiFi网络)。

  • 账号:芯步开发者账号(获取 AppID 与 AppSecret)

  • 网络环境:服务器/客户端能公网访问 api.thingboot.com,或切换至局域网/私有化模式。

2. 接口鉴权与基础通信机制

芯步的接口采用 动态签名验证 机制,保障设备控制的安全性。所有针对设备的参数配置与执行操作均通过向特定URL POST JSON数据包完成。

2.1 核心参数获取

  • AppId:应用唯一标识。

  • AppSecret:应用密钥(严禁存放在前端客户端)。

  • Device ID:设备唯一ID,可在物联网控制台获取或通过设备拉取接口获得

2.2 签名算法(Sign)

签名计算方式为双重MD5嵌套加时间戳,这是芯步的标准鉴权模式。

计算公式Sign = MD5( MD5(AppSecret) + ts )

构建步骤

  1. AppSecret 进行一次MD5加密得到 encrypted_secret

  2. 将上述结果与当前Unix时间戳(秒级)拼接,形成字符串 encrypted_secret + ts

  3. 对拼接后的字符串再次进行MD5加密,得到最终的 Sign

请求地址示例http://api.thingboot.com/{AppId}/device/control/?sign={Sign}&ts={ts}

3. “1路开关”的远程参数配置与指令集

针对商业场景的特殊需求,不仅需要简单的开关,更需要灵活的 逻辑参数配置(如保持状态、延时切换)。

以下是针对 1路商业专用智能开关 的具体对接指令场景:

3.1 基础通断控制:power

场景:远程开门、关闭灯光、切断设备电源。

  • 指令格式{"power1": 1} 开启;{"power1": 0} 关闭。

  • 应用示例:下班时,自动扫描并关闭所有未关闭的电源

3.2 参数配置:状态保持 power

商用开关往往需要具备“防呆”或“自动复位”功能,这通过 power 字段的 keeprevert 参数实现。

  • 第一种场景:保持开启(复位)

    • 需求:这是一个走廊灯,用户按物理按键关闭后,系统希望在3秒后自动重新点亮。

    • 指令{"power1": {"keep": "1", "revert": "3"}}

    • 参数说明

      • keep: "1":保持开启状态(逻辑锁定为开)。

      • revert: "3":若被手动或远程关闭,3秒后自动恢复开启。

  • 第二种场景:保持关闭(节能)

    • 需求:某些设备(如空调插座)不允许用户意外触碰关闭,必须强制锁定在开启状态,或者如果有人关闭了,立刻恢复。

    • 指令{"power1": {"keep": "0", "revert": "3"}}

3.3 定时/延时参数配置:resetpoint

芯步的特色在于 设备端自带定时器,无需服务器维护复杂的任务队列。服务器只需下发一个带时间参数的指令,设备会在内部完成计时并切换,即使在断网期间,指令执行不受影响(只要指令已下发到设备)。

  • 先断后通 reset

    • 场景:控制门禁锁。按下开门按钮,切断门锁电源5秒,之后自动恢复供电上锁。

    • 指令{"reset1": 5000} (单位为毫秒)

  • 先通后断 point

    • 场景:电梯呼叫或脉冲控制。接通信号2秒后自动断开。

    • 指令{"point1": 2000} (单位为毫秒)

3.4 通过API调用示例(Python)

以下代码演示了如何将包含参数配置的Order下发到指定设备:

4. 高级参数管理:状态查询与同步

除了下发参数配置,对于商业智能开关的管理还应包含状态读取。

4.1 设备状态回调

设备参数变化(如物理按键被按下、定时器动作导致开关跳变)会主动上报。

  • 实现的方式是:需配置 消息推送接口(Callback URL)。

  • 数据应用:服务器接收状态变更,同步给前端APP,记录操作日志。

4.2 参数的上行透传

当开关执行了 reset 指令并发生跳转后,设备会向服务器发送当前的最新状态(如 power1:0)。对接方需开发对应的接收接口,更新数据库中的“设备影子”状态,以防出现“APP显示关,实际设备开”的不同步问题。

5. 网络部署方案

为满足商业环境(如工厂、超市)低延迟和稳定性的要求,芯步开放了多种对接模式:

  • 公网SaaS模式(推荐初期):通过互联网调用接口,适合分布式的商业门店管理。

  • 局域网/私有化模式:如果服务器与智能开关处于同一局域网(LAN),或需要内网数据隔离,可以对接支持设备局域网直接通信或部署私有化平台

    • 优势:指令延迟可以从平均100ms降低至极低水平(局域网内),且断外网仍可控制。

6. 总结

通过对接芯步的开放接口,开发者可以像操作本地硬件一样,通过简单的HTTP POST请求即可实现对1路商业专用智能开关的深度参数配置。

重点实现了:

  1. 灵活的参数化控制:利用 keeprevertreset 等参数,将复杂的商业逻辑(如自动复位、脉冲控制)交由设备端执行。

  2. 标准的鉴权接入:通过双重MD5签名机制确保了商业环境下远程控制的通道安全。

  3. 提升运维效率:实现了无需人工干预的远程参数配置与定时任务下发,降低了连锁商业客户的现场维护成本。