芯步的两路触摸开关提供了 point 和 reset 两类延时控制指令,适用于排气扇延时关闭、门禁点动控制等场景。以下方案涵盖接口协议、签名算法、代码实现及设备端行为说明。
一、 背景与需求
在许多智能化场景中,普通的“开”和“关”指令无法满足复杂的业务逻辑。例如,在卫生间需要开启排风扇后自动延时关闭,或在门禁系统中需要触发开门后自动回锁。针对这类需求,利用芯步智能触摸墙壁开关2路的开放接口,可以通过预设的“先通后断”或“先断后通”指令,实现对两路负载的精准延时控制。
二、 核心技术原理
该方案基于芯步开放的 HTTP API 接口。开发者通过向云端发送特定的JSON命令,由云端下发至设备执行。设备本身固件支持定时器逻辑,无需在应用层二次进行定时计算,仅需下发一次性指令即可。
针对两路开关,主要利用以下两类命令
Point命令(先通后断):适用于需要触发一段动作后自动停止的场景(如:排气扇、临时照明、门禁点动)。
Reset命令(先断后通):适用于设备异常断电后自恢复,或类似“闪一下”的警示场景。
三、 延时控制命令详解
在对接前,请确认设备为“智能触摸墙壁开关2路”且固件版本支持以下参数。根据官方文档,该设备支持毫秒级(ms)的延时设置。
1. 第一路延时控制
| 功能描述 | 命令Key | 参数Value (毫秒) | 业务效果 |
|---|---|---|---|
| 先通电,后断电 (Point) | point1 | 1000 (1s), 2000 (2s), 5000 (5s) | 立即开启第一路,等待指定秒数后自动关闭。 |
| 先断电,后通电 (Reset) | reset1 | 1000 (1s), 2000 (2s), 5000 (5s) | 立即关闭第一路,等待指定秒数后自动开启。 |
2. 第二路延时控制
| 功能描述 | 命令Key | 参数Value (毫秒) | 业务效果 |
|---|---|---|---|
| 先通电,后断电 (Point) | point2 | 1000 (1s), 2000 (2s), 5000 (5s) | 立即开启第二路,等待指定秒数后自动关闭。 |
| 先断电,后通电 (Reset) | reset2 | 1000 (1s), 2000 (2s), 5000 (5s) | 立即关闭第二路,等待指定秒数后自动开启。 |
四、 接口对接流程
步骤1:获取关键凭证
在开始编码前,需登录芯步控制台获取以下信息
AppID: 应用的唯一标识。
AppSecret: 用于计算签名的密钥。
Device ID: 目标两路开关设备的ID(可在控制台设备列表查看)。
步骤2:签名算法 (Sign)
芯步接口采用双重MD5加密机制,这是防止接口被篡改的关键。算法逻辑如下
将
AppSecret进行一次MD5加密,得到字符串S1。获取当前Unix时间戳(秒)
ts。拼接字符串:
S2 = S1 + ts。将
S2再次进行MD5加密,得到最终的sign。
步骤3:下发延时指令
请求地址: https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方式: POSTContent-Type: application/json
请求体示例 (实现第一路开启2秒后自动关闭)
五、 实战代码示例 (Node.js)
以下提供一个完整的Node.js脚本示例,展示如何调用接口实现上述延时逻辑
六、 设备端行为说明与最佳实践
1. 执行过程中的干预
新指令覆盖:如果在延时期间(例如5秒倒计时内)收到了新的指令,设备会如何处理?经测试,设备通常会中断当前延时任务,立即响应最新指令。
:在业务逻辑层增加状态锁,避免频繁下发指令导致设备逻辑混乱。
2. 场景应用方案
卫生间排气扇联动:配合人体传感器,无人后触发
point1运行2分钟后关停。电动车充电桩/插座保护:若需定时断电,可使用
point1+ 较长延时(需确认设备支持长度,若无则需采用应用层定时轮询power1=0)。门禁/智能锁点动:触发
point1+1000(1秒),实现瞬间通电开锁,自动断电防止烧锁。
3. 注意事项
网络依赖:该方案依赖Wi-Fi连接。确保设备所处位置2.4GHz Wi-Fi信号稳定 。
异步反馈:HTTP 200响应仅代表指令到达云端,不代表设备已执行。如需确认设备真实状态(如是否真的开了5秒),通过芯步的消息推送(回调)机制监听设备状态变更 。
单位确认:虽然官方示例中
point1:2000代表2秒,但在极少数旧固件版本中可能存在差异,先在控制台使用调试功能测试2000是否为2秒。
七、 总结
通过芯步的两路触摸开关开放接口,开发者无需编写复杂的嵌入式定时器代码,仅需通过标准的HTTP POST请求,携带符合签名规范的参数,下发 point 或 reset 指令,即可轻松实现对两路负载的毫秒级延时通断控制。此方案集成简单、响应迅速,适用于智能家居、智慧办公及工业控制等多种场景。