芯步的智能开关通过标准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 )
构建步骤
将
AppSecret进行一次MD5加密得到encrypted_secret。将上述结果与当前Unix时间戳(秒级)拼接,形成字符串
encrypted_secret + ts。对拼接后的字符串再次进行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 字段的 keep 和 revert 参数实现。
第一种场景:保持开启(复位)
需求:这是一个走廊灯,用户按物理按键关闭后,系统希望在3秒后自动重新点亮。
指令
{"power1": {"keep": "1", "revert": "3"}}。参数说明
keep: "1":保持开启状态(逻辑锁定为开)。revert: "3":若被手动或远程关闭,3秒后自动恢复开启。
第二种场景:保持关闭(节能)
需求:某些设备(如空调插座)不允许用户意外触碰关闭,必须强制锁定在开启状态,或者如果有人关闭了,立刻恢复。
指令
{"power1": {"keep": "0", "revert": "3"}}。
3.3 定时/延时参数配置:reset 与 point
芯步的特色在于 设备端自带定时器,无需服务器维护复杂的任务队列。服务器只需下发一个带时间参数的指令,设备会在内部完成计时并切换,即使在断网期间,指令执行不受影响(只要指令已下发到设备)。
先断后通
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路商业专用智能开关的深度参数配置。
重点实现了:
灵活的参数化控制:利用
keep、revert、reset等参数,将复杂的商业逻辑(如自动复位、脉冲控制)交由设备端执行。标准的鉴权接入:通过双重MD5签名机制确保了商业环境下远程控制的通道安全。
提升运维效率:实现了无需人工干预的远程参数配置与定时任务下发,降低了连锁商业客户的现场维护成本。