CATALOG

芯步的1路智能墙壁开关支持通过HTTP API进行二次开发,核心是签名认证和设备控制两个接口。配合传感器设备的上报机制,可以在你的服务器端实现完整的设备联动逻辑。

一、 概述与适用场景

本方案的目标是指导开发者利用芯步提供的开放 HTTP API 接口,对 UNI-KG-1 型 1路智能墙壁开关 进行二次开发。

通过集成芯步的 API,开发者可以使该墙壁开关不再局限于手机 App 点按控制,而是作为自动化系统中的执行单元,根据特定业务逻辑或传感器状态自动通断。

典型改造场景:

  1. 环境联动: 配合温湿度传感器,自动控制排气扇或除湿机(当湿度过高 -> 闭合开关)。

  2. 安防联动: 配合人体传感器,当有人闯入时,开关闭合(警报灯闪烁)或断开(切断危险设备电源)。

  3. 办公/商业节能: 根据自定义时间表或打卡系统状态,下班后自动切断指定区域电源。

二、 核心技术原理

该方案基于 “Pub/Sub”“Request/Response” 结合的模式。芯步的设备(开关、传感器)直接连接云端,用户的服务器通过 HTTPS 请求调用云端 API 下发指令。

  • 控制链路: 开发者服务器 -> 芯步 API 网关 -> 智能墙壁开关(执行通断)。

  • 感知链路: 传感器(探测到变化)-> 芯步 API 网关(推送数据)-> 开发者服务器(触发逻辑)。

设备支持 本地局域网控制公网控制 两种模式。公网控制相对更容易实现,无需复杂的网络配置;局域网控制则响应更快(毫秒级),且断外网可用。

三、 前期准备:开发环境与凭证

在进行代码开发前,需要完成以下基础配置,获取关键的 API 访问凭证。

  1. 注册与登录: 访问芯步官网,注册企业/开发者账号。

  2. 创建工作台: 在用户控制台创建一个“工作台”,这是 IoT 设备的管理单位。

  3. 获取密钥:

    • 进入“物联网控制台” -> “开发设置”。

    • 记录 AppIDAppSecret。AppSecret 是签名密钥,注意保密。

  4. 设备配网与 ID 获取:

    • 将 1路智能墙壁开关 接通电源。

    • 使用“芯步小程序”或控制台进行 WiFi 配网(注意仅支持 2.4G WiFi)。

    • 配网成功后,在控制台“设备列表”中查看设备的唯一标识符 Device ID(如 1878)。

四、 关键接口二次开发详解

要控制开关,核心是调用 /device/control/ 接口。为了保障安全性,所有 API 请求都需要进行 Sign(签名) 校验。

1. 签名算法实现

芯步的签名机制比较典型:md5( md5(AppSecret) + ts )

  • 参数

    • AppSecret: 开发者密码。

    • ts: 当前 Unix 时间戳(秒)。

  • 步骤

    1. 计算 MD5(AppSecret),得到 32 位小写字符串 S1

    2. 拼接字符串 S1 + ts

    3. 计算 MD5(S1 + ts),得到最终签名 Sign

3. 设备控制请求

该接口用于向设备下发指令。以 Python 和 Bash 为例,演示如何控制开关闭合(通电)。

控制指令:{"power1": 1} (1代表接通,0代表断开)

  • 请求地址: https://api.thingboot.com/{AppID}/device/control/

  • Method: POST

  • Content-Type: application/json

Python 实现示例:

Bash (cURL) 实现示例:

4. 设备状态获取

在进行联动控制前,通常需要获取当前开关状态,或确认设备是否在线。可通过调用设备信息接口或设备状态接口实现。该接口返回设备在线状态及当前各线路的开闭情况。

例如:若需实现“按一下开关,该开关自动延时 5 秒后关闭”,二次开发应用需先读取状态,再下发延时指令。

五、 实战场景:实现“人来灯亮,人走灯灭”

这里以“1路智能墙壁开关”控制照明灯为例,配合“智能人体存在传感器”实现联动控制。

第一步:配置消息推送

控制台需要配置“消息推送”或“HTTP 回调”地址。设置开发者服务器的接收地址,例如 https://yourdomain.com/api/device/callback

第二步:订阅传感器消息

在开发者服务器上编写接收 POST 请求的接口。

  • 当传感器上报数据时,请求体示例:包含设备ID Sensor_01,状态 occupancy 等字段。

第三步:编写联动业务逻辑(伪代码示例)

第四步:高级联动场景(先通后断,Point)

在某些工业场景(如控制电铃、门锁),需要执行“接通 1 秒后自动断开”的操作,以防设备损坏。芯步的接口原生支持这种复合指令,无需二次开发循环定时器。

  • 指令示例{"point":{"relay":[1],"interval":1000}}

  • 效果:线路 1 立即接通,1000毫秒后自动断开。这非常适合控制电插锁或声光报警灯。

六、 局域网二次开发模式

对于对响应速度和数据隐私要求高的场景,芯步支持 局域网 API 控制。

配置要点:

  1. 在设备配网时,通过控制台开启“局域网控制”功能。

  2. 二次开发的软件需部署在 与设备同一个局域网 的服务器上(如 NAS、树莓派或本地 PC)。

  3. 请求地址需从公网域名 api.thingboot.com 切换为 设备在局域网内的 IP 地址

  4. 尽管地址改变,Sign(签名)验证机制依然有效,防止内网恶意控制

七、 总结

通过芯步的开放 HTTP API,对 1 路智能墙壁开关进行二次开发实现联动的技术路径清晰可靠。开发者只需关注三点即可快速落地:

  1. 签名:严格按照 md5(md5(secret)+ts) 生成动态签名。

  2. 指令集:利用 {"power1":1} 实现基础控制,利用 point 指令实现自动化回弹保护。

  3. 事件驱动:通过服务器接收传感器上报的 Webhook 数据,作为触发逻辑的决策输入。