CATALOG

芯步16A86型定时开关插座支持通过HTTP接口进行远程控制,其分组控制接口可以实现“一次调用、批量操作”的效果。下面从接口原理、前期准备、具体实现到应用场景,整理一份完整的对接方案。

一、 解决概述

芯步的开放平台采用SaaS中间件架构,将硬件底层通信封装为标准的HTTP API。对于开发者而言,无需关心WiFi、MQTT等底层协议,只需向特定URL发送POST/GET请求,即可实现对单个设备或整个设备组的控制。

核心逻辑:

  1. 设备注册:插座联网后,在芯步控制台生成唯一的设备ID

  2. 组群创建:在云端将多个设备ID绑定至同一个分组ID

  3. 指令下发:调用分组控制接口,传入分组ID动作指令,云端自动向组内所有设备转发命令。

二、 设备与接口准备

在开始编程对接前,确保已完成以下账号及应用配置。

1. 硬件就绪

  • 设备型号:确认使用的是16A86型(带WiFi功能),并已完成配网。

  • 设备标识:在芯步控制台的“设备列表”中,获取每个插座的唯一device编号(如:1234567)。

2. 接口凭证

芯步使用双重MD5加密进行身份验证,需要准备以下三个参数

  • AppID:应用ID,标识调用者身份。

  • AppSecret:开发者密钥,用于签名计算。

  • ts:当前Unix时间戳(秒),用于防重放攻击。

  • 签名算法

    Sign = MD5( MD5(AppSecret) + ts )

三、 分组控制实现方案

实现分组控制包含两步:管理端分组配置(一次性操作)和代码端调用(业务操作)。

第一步:创建设备分组

通过芯步控制台进行可视化操作,无需编写代码:

  1. 登录控制台,进入“设备管理” -> “分组管理”。

  2. 点击“新建分组”,输入名称(如“空调机组”或“展厅灯光”)。

  3. 在分组详情页,将所需的16A86插座设备从左侧列表添加到右侧分组中。

  4. 系统生成唯一的Group ID(例如:10086)。

第二步:调用分组接口

分组控制的精髓在于接口 group/control。通过向该接口下发指令,可以实现“一键全开”、“一键全关”或执行复杂的场景联动。

关键接口详情

  • URLhttp(s)://api.thingboot.com/{AppID}/group/control/?sign={sign}&ts={ts}

  • 方法POST

  • 核心参数(JSON Body)

参数类型示例说明
groupint10086第一步获取的分组ID
powerint0 或 1简便写法power=1 全开,power=0 全关
orderjson{"power":1}对象写法。将指令包装在order中,适合复杂下发

实现代码示例

以下是一个Python脚本demo,演示了如何封装签名并实现一键关闭整组空调:

四、 高级控制策略

除了简单的全开全关,该解决方案还支持更精细的场景联动

利用接口中的 orderpoint/reset 参数,可以实现智能定时例如,对于接有电暖气(阻性负载3500W)的16A插座,可以执行“先通电,1小时后自动断电”的指令:

在此模式下,设备内置了定时器,即便网络中断,设备也会在到达预设时间后自行断开,保障安全。

五、 注意事项

  1. 功率限制:16A插座适用于空调、电热水器等大功率设备,阻性负载最大3500W。若组内包含多个大功率设备,请注意电流总和,避免线路过载(需现场布线支持)。

  2. 响应延迟:实测从指令下达到设备执行,公网延迟约为80-120ms。若对实时性有极致要求(如工业控制),咨询芯步技术支持关于局域网API(Local API) 的开启方法,可在无外网环境下直连。

  3. 批量限制:虽然分组控制支持一次性下发,但如果分组内设备数量极多(如超过100台),云端处理可能会有毫秒级的排队。此时采用异步MQTT回调方式订阅设备状态,以获取更精准的逐个执行结果反馈。