芯步的两路触摸开关支持通过开放 API 实现远程控制和场景联动,核心思路是以您的服务器作为中枢,接收开关状态事件后再向目标设备下发指令。以下从接口能力、签名机制、联动逻辑到代码实现逐一展开。
解决方案:基于芯步开放接口的两路触摸控制开关联动场景实现
1. 概述
本方案的目标是通过芯步提供的开放 HTTP API 接口,将智能触摸墙壁开关 2 路设备集成到您的自有系统中。通过监听开关的状态变化(或主动触发),结合业务逻辑(如定时、传感器数据、互锁逻辑等),实现对两路负载的远程控制和智能联动。
核心逻辑链路:用户操作/系统触发 -> 您的服务器/应用 -> 芯步 API 网关 -> 智能开关设备 -> 电器动作/状态上报
2. 核心准备:环境与凭证
在开始开发前,请确保已完成以下步骤:
硬件就绪:完成智能触摸墙壁开关 2 路的安装与配网,确保设备在线。
平台注册:登录芯步官网,获取 AppID 和 AppSecret。
设备标识:在控制台获取目标设备的唯一标识 Device ID。
3. API 接口详解与签名生成
芯步采用标准的 HTTP POST 请求进行通信,所有控制指令均需携带签名以确保安全。
请求地址
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方法:POST
数据格式:JSON
关键:动态签名生成规则为了防止接口被恶意篡改,签名 sign 的生成规则如下(通用接口签名逻辑):
将您的
AppSecret进行一次 MD5 加密,得到encode_secret。将
encode_secret与当前时间戳ts进行拼接(字符串连接)。对拼接后的字符串再次进行 MD5 加密,得到最终的
sign。
算法公式:
sign = md5( md5(AppSecret) + ts )
4. 对接两路开关:核心命令
“智能触摸墙壁开关2路”设备拥有两路独立的继电器控制通道,同时也支持“点动”(先通后断)和“互锁”等高级工业场景控制。
以下是该设备支持的核心 order 命令 JSON 结构详解
基础通断控制
控制第一路
{"power1":"1"}(开),{"power1":"0"}(关)控制第二路
{"power2":"1"}(开),{"power2":"0"}(关)
场景联动(高级功能)在实现逻辑控制时,以下两个功能非常实用:
点动/暂态控制 (Point):适用于控制门禁、电机等。继电器接通一段时间后自动断开。
{"point1":"2000"}-> 第一路接通 2 秒后自动关闭 。
互锁/状态保持 (Keep):适用于需要场景记忆或防误触的场景。
{"power1":{"keep":"1","revert":"3"}}-> 第一路保持开启,此时若有人手动关闭开关,系统会在 3 秒后强制将其重新打开(常用于重要设备不允许关闭的场景)。
5. 实现“联动场景逻辑控制”
我们可以通过您的服务器端脚本解析传感器数据或业务规则,并向开关下发命令。
示例场景 A:光照不足时自动开灯(传感联动)逻辑:光感传感器 detecting 亮度低于阈值 -> 触发联动规则 -> 开启客厅开关第一路。
服务器端伪代码实现:
示例场景 B:双路互锁控制(逻辑联动)逻辑:设备控制卷帘门,按第一路开,第二路关;两路不能同时打开。此时,您的服务器需要维护状态。当用户点击“开启”时,服务器应先发送指令关闭第二路 {"power2":"0"},或直接通过高级命令控制,或发送开启第一路 {"power1":"1"} 的命令。若设备不支持硬件互锁,必须在服务器端代码中通过“状态机”来保证下发指令的逻辑互斥。
6. 事件驱动:接收设备状态
仅仅能控制是不够的,为了实现精准的联动,必须获取设备的“状态”(如:用户手动触摸了开关)。
芯步支持 状态实时上报 功能
配置消息服务器:您需要在平台配置“消息服务器”或“回调 URL”。当开关状态发生变化(无论是通过 API 控制还是物理触摸),平台会主动将当前状态推送至您的服务器。
接收示例:您的服务器接收 POST 请求,Body 中包含设备 ID 和当前状态
{"power1":"1","power2":"0"}。应用:收到状态后,您可以更新数据库中的设备状态,或者触发接下来的联动逻辑(例如:用户关闭了排风扇 -> 触发联动 -> 延时 5 分钟后关闭空气净化器)。
7. 总结
接入芯步“两路触摸控制开关”实现联动的核心步骤可以归纳为:
认证:通过 AppID 和 MD5 二次加密的签名机制保障通信安全。
指令:利用
power1/power2实现基础分控,利用point/keep实现复杂的自动化逻辑。闭环:结合“主动查询”或“被动接收回调”机制,实时获取设备最新状态,构建闭环的联动场景(如:如果-那么)。
通过以上流程,您可以快速将该硬件嵌入到现有的楼宇自动化、智能家居中控或工业控制系统中。