CATALOG

芯步16A智能插座(UNI-QC-16A系列)采用标准HTTP API对接方式,支持云端和局域网双通道控制。以下方案涵盖设备选型、接口鉴权、核心命令实现及典型场景代码示例,可快速集成到各类软件项目中。

解决方案:芯步16A智能插座接入软件项目指南

1. 产品选型与基础参数确认

在开始对接前,请确认你手中的硬件型号为 UNI-QC-16A(不带计量)或 UNI-QC-16A-P(带功率计量)

该设备的核心电气参数直接决定了对接后的业务逻辑(如是否展示功率数据):

  • 负载能力:MAX 3500W / 16A,适用于空调、热水器等大功率电器。

  • 通信方式:WiFi 2.4GHz。

  • 控制精度:响应延迟约 80-120ms。

2. 接口鉴权与接入流程

芯步的接口基于 HTTP POST 请求,签名机制是其安全核心,任何对接都需要先完成这一步骤

接入三要素:在芯步开发者后台获取以下凭证:

  • AppId:应用唯一标识。

  • AppSecret:开发者密钥(用于加密)。

  • Device ID:设备的唯一ID(可在后台或配网后通过接口获取)。

签名计算规则(核心安全步骤):为了防止接口被恶意篡改,每次请求需要携带签名 sign。计算公式为两步MD5:

  1. 先将 AppSecret 进行MD5加密:secret_md5 = md5(AppSecret)

  2. 将上述结果拼接当前时间戳 ts,再次MD5:sign = md5(secret_md5 + ts)

特别说明:时间戳 ts 精确到秒,且签名通常有时效性校验(如5分钟内有效)。

3. 核心对接命令与功能实现

针对这款16A插座,API对接主要围绕通断控制、临时任务和状态查询展开。接口地址统一为:http(s)://api.thingboot.com/{AppId}/device/control/

① 基础开关控制(On/Off)这是最核心的操作。控制空调、热水器等设备的开关。

  • 请求体示例{"device":"设备ID", "order":{"power":1}} (1=开启,0=关闭)

② 空调/热水器延时关闭(先通后断)针对大功率电器(如空调),为了避免直接断电损伤压缩机,使用 “先通后断” 指令。

  • 场景:用户出门后忘记关空调,远程控制空调在30分钟后关闭。

  • 请求体示例{"device":"设备ID", "order":{"point":1800000}}

    • 解析point 字段代表通电一段时间后自动断电,单位为毫秒。1800000 = 30分钟

③ 功率获取与能耗监测(仅P版支持)如果你采购的是带计量版本(-P),可以通过接口拉取实时电量数据。

  • 场景:实时监测空调当前运行功率,判断压缩机是否在工作。

  • 对接方式:通常有两种模式,一是主动请求接口获取设备状态,二是设备通过MQTT/HTTP主动上报数据至配置的服务器地址。

  • 数据结构示例:返回的JSON中通常包含 power(当前功率/W)、voltage(电压/V)、current(电流/A)等字段

4. 典型场景代码实战(伪代码/逻辑)

无论你使用 Java、Python 还是 Node.js,对接逻辑均一致。以 “远程关闭空调” 为例的伪代码逻辑:

5. 高级集成策略和需要注意的点

本地局域网控制(低延迟方案):芯步设备支持局域网发现与控制。如果你的软件项目与设备处于同一局域网(比如酒店管理系统、家庭中控),可以不经过云端直接通过设备IP控制,延迟更低且断网仍可用。集成时需通过 UDP 广播发现设备,后续直接发 HTTP 请求至设备本地 IP

时序控制与状态同步:在软件界面设计上,需要处理设备的“未知状态”。由于物理按键也可以操作插座,软件端的状态可能不是最新的。在每次操作前调用一次“设备状态查询接口”,或者在软件UI上设置“点击即切换”逻辑,而非绝对的“开/关”按钮,以避免状态不一致

总结

将芯步16A智能插座对接到软件项目是一个标准的 RESTful API 集成过程。开发者仅需关注 签名生成 的准确性和 Order命令 的结构。一旦集成完毕,该插座即可作为软件项目中的一个执行单元,轻松实现基于场景的自动化(如:检测到室内温度高于30度且空调插座功率为0时,自动下发通电指令)。