CATALOG

芯步16A智能插座的核心优势在于开放HTTP接口,签名机制简单、响应延迟低(80-120ms),同时支持公网和局域网私有化部署。以下从接口对接流程、核心功能实现、数据获取方式三个层面展开。

一、 背景与产品选型

在居家电器控制场景中,16A插座主要用于大功率设备,如空调、热水器、家用充电桩等。芯步的 UNI-CZ-16A-P 型号具备以下核心优势

  • 直接连接:无需网关,直连2.4G Wi-Fi。

  • 开放性:提供全平台通用的HTTP接口,无论你的项目是基于Java、Python、PHP还是Node.js后端,或是微信小程序、APP,均可无缝集成。

  • 计量功能:支持实时电压、电流、功率查询,便于做能耗分析。

  • 响应速度:指令下发到执行平均仅80-120ms

二、 集成前的准备工作

在编写代码前,需要进行以下准备:

  1. 注册与登录:访问芯步开发者平台注册账号。

  2. 获取凭证:在控制台的“开发设置”中,获取 AppId(应用ID)和 AppSecret(应用密钥)。这是后续接口鉴权的核心

  3. 设备配网:将16A智能插座通电,通过官方App或配网接口将其连接到Wi-Fi网络,获取唯一的 Device ID(设备ID)。

三、 核心对接流程:签名机制与接口调用

芯步接口的安全性通过动态签名sign来保证。签名生成算法是集成的核心步骤。

1. 签名算法详解

你需要生成两个参数:ts(时间戳)和 sign(签名)。

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

  • Sign:计算公式为 md5( md5(AppSecret) + ts )

    • Step 1: 将你的 AppSecret 进行一次MD5加密得到 S1

    • Step 2: 将 S1 与时间戳 ts 拼接成字符串 S1+ts

    • Step 3: 对拼接后的字符串再次进行MD5加密,得到最终的 sign

2. 接口请求地址

POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

注:如果是局域网私有化部署环境,将域名替换为自建服务器的IP地址。

3. 请求体结构

以JSON格式发送控制指令

四、 集成代码示例(后端视角)

由于接口是HTTP协议,任何后端语言均可实现。以下以Python和Node.js为例,展示如何在你的项目中集成控制逻辑。

Python 3.x 实现

Node.js 实现

五、 高级功能:定时任务与能耗计量

仅仅控制通断可能无法满足复杂项目需求,利用接口的其他参数可以让你的项目更专业。

1. 定时通断(“先通后断”)

如果你需要让插座“通电1小时后自动关闭”,无需在服务器端维护复杂的定时任务队列,直接通过指令参数即可实现

注:reset 代表先接通电源,然后在指定毫秒(ms)后断开;point 则代表先断开,指定毫秒后接通。

2. 获取用电数据(功率计量版)

如果你的项目需要做能耗看板,可以利用设备主动上报的数据。通常有两种方式:

  • 主动查询:调用设备状态查询接口 device/status,获取 power(功率)、voltage(电压)、current(电流)字段。

  • 被动接收(推荐) :在控制台配置消息推送。设置一个回调URL,每当插座状态变化或计量数据更新时,芯步的服务器会主动POST数据到你的服务器,实现实时同步

六、 系统架构和需要注意的点

  1. 关于私有化部署:如果你的项目部署在政府内网或公司局域网,且要求数据不出域,可以采购私有化版本。API接口完全一致,仅需修改请求的Host地址为你的内网服务器地址

  2. 签名时间戳有效期ts(时间戳)用于防止请求被重放攻击。通常服务器会校验请求时间与服务器时间误差,请确保部署服务器的系统时间是准确的(误差不超过5分钟)。

  3. 设备ID管理:在你的项目数据库中建立一张 device_sockets 表,用于存储 room_id(房间ID)、device_idlocation(位置,如“客厅空调”),方便前端下拉选择控制。

七、 总结

通过上述方案,芯步的16A智能插座可以在 30分钟内 完成从注册到第一个指令调用的全过程。其全开放的HTTP接口屏蔽了底层复杂的IoT协议(如MQTT、CoAP),让你只需要像调用普通的Restful API一样,即可将物理世界的电器控制无缝集成到你的Web或App项目中。