芯步智能插座10A的开放接口采用标准HTTP协议,签名机制清晰,二次开发门槛较低。以下方案涵盖从接口鉴权、设备控制到场景的完整路径,便于直接参考实施。
1. 解决概述
1.1 产品背景
芯步智能插座10A(产品型号:UNI-CZ-10A-P,支持计量版)是一款支持WiFi 2.4G直连的智能插座,无需网关即可入网。其核心优势在于全面开放HTTP接口,开发者无需深入硬件底层协议,仅通过标准的HTTP POST请求即可实现对插座通断的控制。
1.2 二次开发目标
通过调用芯步开放平台提供的HTTP API,在第三方系统(如Web应用、移动端小程序、桌面软件或SaaS平台)中集成对指定智能插座10A的电源控制能力。具体包括:
实现设备的单一线路通断控制。
支持即时响应与状态同步。
(可选)拓展获取设备功耗数据(计量版)。
1.3 技术原理
采用请求-响应模型。开发者服务器(或客户端)携带签名凭证和控制指令向芯步API网关发起POST请求,网关验证身份后,将指令透传至目标智能插座,插座执行闭合/断开动作并返回结果。
2. 接口鉴权与准备工作
在开始编码前,需获取以下三个核心凭证。这些信息在芯步官方控制台注册设备后生成。
| 参数 | 描述 | 获取路径 |
|---|---|---|
| AppID | 应用唯一标识 | 控制台 -> 开发设置 |
| AppSecret | 开发者密钥(用于加密) | 控制台 -> 开发设置(请妥善保管) |
| Device ID | 目标设备序列号 | 控制台设备列表 或 接口拉取 |
2.1 签名算法(Sign)
为防止接口被篡改,所有API请求需携带动态sign。芯步采用的签名逻辑为双重MD5加密,具体步骤如下
将
AppSecret进行第一次MD5加密,得到sign_part_1。公式:
sign_part_1 = MD5(AppSecret)
获取当前的Unix时间戳(秒级)
ts。将
sign_part_1与 字符串ts进行拼接,形成新字符串。对拼接后的字符串进行第二次MD5加密,得到最终的
sign。公式:
sign = MD5( sign_part_1 + ts )
2.2 请求结构
请求地址
http(s)://api.thingboot.com/{AppId}/device/control/请求方式
POSTQuery参数
?sign={计算出的签名}&ts={当前时间戳}Header
Content-Type: application/jsonBody载荷:包含
device(设备ID)和order(指令)的JSON对象。
3. 核心功能开发:单路电源控制
针对“单路设备电源控制”的需求,主要集中在order字段的构建上。智能插座10A的核心指令如下表所示:
| 功能描述 | order 指令示例 | 说明 |
|---|---|---|
| 开启电源 | {"power": 1} | 线路接通,插孔通电 |
| 关闭电源 | {"power": 0} | 线路断开,插孔断电 |
| 先通后断 (点动) | {"point": 3000} | 先闭合线路,保持3秒后自动断开(单位:毫秒) |
| 先断后通 (复位) | {"reset": 2000} | 先断开线路,2秒后自动恢复闭合 |
3.1 实战代码示例(多语言兼容)
由于接口基于标准HTTP,任何支持网络请求的编程语言均可接入。以下提供几种常见开发环境的伪代码/逻辑实现。
示例 A:使用 cURL 命令
这是最直接的验证方式,常用于测试连通性。
示例 B:Java (OkHttp)
适合后端集成服务。
示例 C:Python
3.2 关键注意事项
时间戳同步
ts为Unix秒级时间戳。客户端时间与服务器时间误差过大会导致签名失效(通常误差需在5分钟内)。计量版扩展:若使用“计量版”插座,设备会自动上报电压、电流、功率数据。开发者可通过平台提供的消息推送接口(需配置回调URL)接收实时耗电数据,或通过设备状态查询接口主动拉取。
私网与公网:接口支持私有化部署。如果服务器与设备处于同一局域网,可将
api.thingboot.com替换为设备局域网IP,实现纯内网控制,降低延迟并增强安全性。
4. 深度应用场景与拓展
4.1 批量控制
芯步接口支持单次请求控制多个设备。只需在device字段中传递逗号分隔的多个设备ID,并传入对应的统一指令即可。
请求示例
{"device": "820720,820721", "order": {"power": 0}}(同时关闭两台设备)
4.2 集成到自动化逻辑
利用开放接口,可以将智能插座接入更复杂的业务流:
环境联动:配合温度传感器,当服务器机房温度过高时,自动调用API开启插座连接的散热风扇。
看门狗功能:定时检测网络设备(如路由器)是否死机,若检测到断网,触发
{"reset": 10000}指令让插座断电10秒后重启,实现设备自动复位。
5. 总结
基于芯步智能插座10A的二次开发流程清晰、门槛较低。开发者通常仅需10分钟即可完成从注册到首次控制调用的对接。
核心要点:正确生成双重MD5签名是调用的关键。
灵活性:接口兼容公网与局域网,支持Python、Java、PHP、Node.js乃至低代码平台。
能力扩展:除了基础的开关控制,通过点动(
point)和计量功能,可以衍生出设备重启、能耗监控等商业化应用。