芯步16A86型定时开关插座支持通过HTTP接口进行远程控制,其分组控制接口可以实现“一次调用、批量操作”的效果。下面从接口原理、前期准备、具体实现到应用场景,整理一份完整的对接方案。
一、 解决概述
芯步的开放平台采用SaaS中间件架构,将硬件底层通信封装为标准的HTTP API。对于开发者而言,无需关心WiFi、MQTT等底层协议,只需向特定URL发送POST/GET请求,即可实现对单个设备或整个设备组的控制。
核心逻辑:
设备注册:插座联网后,在芯步控制台生成唯一的
设备ID。组群创建:在云端将多个设备ID绑定至同一个
分组ID。指令下发:调用分组控制接口,传入
分组ID和动作指令,云端自动向组内所有设备转发命令。
二、 设备与接口准备
在开始编程对接前,确保已完成以下账号及应用配置。
1. 硬件就绪
设备型号:确认使用的是16A86型(带WiFi功能),并已完成配网。
设备标识:在芯步控制台的“设备列表”中,获取每个插座的唯一
device编号(如:1234567)。
2. 接口凭证
芯步使用双重MD5加密进行身份验证,需要准备以下三个参数
AppID:应用ID,标识调用者身份。
AppSecret:开发者密钥,用于签名计算。
ts:当前Unix时间戳(秒),用于防重放攻击。
签名算法
Sign = MD5( MD5(AppSecret) + ts )
三、 分组控制实现方案
实现分组控制包含两步:管理端分组配置(一次性操作)和代码端调用(业务操作)。
第一步:创建设备分组
通过芯步控制台进行可视化操作,无需编写代码:
登录控制台,进入“设备管理” -> “分组管理”。
点击“新建分组”,输入名称(如“空调机组”或“展厅灯光”)。
在分组详情页,将所需的16A86插座设备从左侧列表添加到右侧分组中。
系统生成唯一的Group ID(例如:
10086)。
第二步:调用分组接口
分组控制的精髓在于接口 group/control。通过向该接口下发指令,可以实现“一键全开”、“一键全关”或执行复杂的场景联动。
关键接口详情
URL
http(s)://api.thingboot.com/{AppID}/group/control/?sign={sign}&ts={ts}方法
POST核心参数(JSON Body)
| 参数 | 类型 | 示例 | 说明 |
|---|---|---|---|
group | int | 10086 | 第一步获取的分组ID |
power | int | 0 或 1 | 简便写法。power=1 全开,power=0 全关 |
order | json | {"power":1} | 对象写法。将指令包装在order中,适合复杂下发 |
实现代码示例
以下是一个Python脚本demo,演示了如何封装签名并实现一键关闭整组空调:
四、 高级控制策略
除了简单的全开全关,该解决方案还支持更精细的场景联动。
利用接口中的 order 和 point/reset 参数,可以实现智能定时。例如,对于接有电暖气(阻性负载3500W)的16A插座,可以执行“先通电,1小时后自动断电”的指令:
在此模式下,设备内置了定时器,即便网络中断,设备也会在到达预设时间后自行断开,保障安全。
五、 注意事项
功率限制:16A插座适用于空调、电热水器等大功率设备,阻性负载最大3500W。若组内包含多个大功率设备,请注意电流总和,避免线路过载(需现场布线支持)。
响应延迟:实测从指令下达到设备执行,公网延迟约为80-120ms。若对实时性有极致要求(如工业控制),咨询芯步技术支持关于局域网API(Local API) 的开启方法,可在无外网环境下直连。
批量限制:虽然分组控制支持一次性下发,但如果分组内设备数量极多(如超过100台),云端处理可能会有毫秒级的排队。此时采用异步MQTT回调方式订阅设备状态,以获取更精准的逐个执行结果反馈。