CATALOG

芯步的智能出门开关通过开放HTTP接口,支持远程开关控制和状态查询。以下方案涵盖签名计算、命令下发、状态上报三大环节,帮助你在10分钟内完成对接。

解决方案:基于芯步开放接口实现单开出门开关远程控制与状态查询

1. 概述

芯步提供的智能墙壁出门开关(如型号 UNI-KG-C)支持 WiFi 直连,无需网关,并开放了全量的 HTTP API 接口。通过调用这些接口,开发者可以轻松实现远程控制(开门/关门)以及实时查询设备当前状态。

本方案将指导您如何通过签名验证、发送控制指令以及接收设备上报的状态数据。

2. 准备工作

在开始开发前,请确保完成以下步骤:

  1. 注册账号:在芯步官网注册开发者账号。

  2. 获取密钥:登录控制台,在“开发设置”中获取 AppIDAppSecret

  3. 设备配网:使用“芯步”小程序或控制台,将出门开关连接至 2.4G WiFi 网络,并记下设备 ID(Device ID)

3. 接口鉴权(签名计算)

芯步的 API 使用动态签名进行安全验证。所有请求需在 URL 参数中携带 signts

签名算法(Python示例):

注意:时间戳 ts 有效期内通常可用,请确保设备系统时间准确,避免因时间误差导致签名失效

4. 实现“远程开关控制”

出门开关通常用于控制门禁电磁锁或闸机。核心指令涉及 “点动”(通电后自动断电)“保持”

接口地址(通用):POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

请求头(Headers):

  • Content-Type: application/json

第一种场景:远程开门(点动模式)出门开关常用的场景是按下后门锁断开几秒,随后自动吸合。通过 reset 命令实现“先断后通”

解析:该指令会让电磁锁断电5秒(实现开门),5秒后自动恢复供电(锁门)。

第二种场景:基础开关控制如果不使用点动,而是简单控制开/关(例如控制照明或常开/常闭模式),使用 power 命令。

5. 实现“远程状态查询”

由于 HTTP 请求是单向的,若要查询设备当前是“开”还是“关”,有两种主流方案:

方案 A:主动查询(请求状态接口)芯步平台通常支持直接获取设备详情的接口(如 /device/status),或者通过下发查询指令等待设备返回。查阅对应产品手册下的拉取接口。

方案 B:被动接收(设备主动上报)—— 推荐这是物联网系统的最佳实践。出门开关状态一旦发生变化(如被人按动,或网络重连),设备会主动向你的服务器推送状态数据

  1. 配置回调 URL:在芯步控制台中,设置你的服务器接收地址(例如 http(s)://yourdomain.com/api/device/callback)。

  2. 接收数据:当开关状态改变时,平台会 POST 数据到该地址,数据格式通常如下:

6. 对接流程图解

sequenceDiagram
    participant App as 你的业务系统
    participant API as 芯步云API
    participant Device as 智能出门开关

    Note over App,API: 1. 远程控制(开门)
    App->>API: POST /control/ (sign+ts) 
{"device":"123","order":{"reset":5000}} API-->>App: { "code":0, "msg":"success" } API->>Device: 下发指令(80-120ms) Device-->>API: 执行成功,断开线路5秒 Device->>API: 状态变更上报(门已开) API->>App: 回调:状态推送 {"power":"0"} Note over App,Device: 2. 定时同步状态 App->>API: GET /device/status?device=123 API-->>App: { "power":"0", "online":true }

7. 核心代码实现(cURL / Python)

以下是一个完整的 Python 脚本示例,演示如何生成签名并发送开门指令

8. 总结

通过芯步的开放接口接入智能出门开关是标准化的过程:

  • 安全:采用双 MD5 签名机制,保障设备不被非法控制。

  • 实时:命令响应通常在 80-120ms,状态支持实时回调

  • 灵活:既支持简单的开关控制,也支持适用于门禁场景的“先断后通 (reset)”点动模式。

按照上述步骤配置好签名和回调接口后,即可在你的 SaaS 或 APP 中集成“远程开门”及“查看门锁状态”功能。