CATALOG

针对场景中常见的集中管理、批量下发需求,芯步的开放接口提供了两种主要的解决方案:一是通过单次API请求携带多个设备ID,二是利用“分组”概念实现逻辑组控制。

以下方案将基于其HTTP API特性,详细阐述如何实现对10A智能开关的远程批量控制。

1. 核心对接方案:基于HTTP API的批量控制

芯步的10A智能开关(包括智能插座、墙壁插座及通断器系列)均提供标准的HTTP接口,对开发者十分友好。要实现远程批量控制,核心在于调用设备控制接口时,对 device 参数的灵活运用。

根据官方文档,你可以采用以下两种方式进行批量操作:

特性单次请求多设备 (设备ID列表)设备分组控制 (推荐大规模)
实现的方式是直接在 device 参数中用英文逗号 , 或竖线 | 拼接多个设备ID先在控制台创建分组,将设备加入分组,再调用分组控制接口
接口地址/device/control//group/control/
适用场景脚本测试、一次性临时操作常态化业务场景(如按楼层、区域开关)
复杂度
最大限制一次请求最多支持 100个 设备ID 无明确限制,取决于分组设置

2. 实施步骤详解

第一步:前期准备与环境配置

在开始编码前,你需要完成以下准备工作:

  1. 注册与登录:访问芯步官网注册账号。

  2. 获取凭证:登录后进入“工作台” -> “物联网控制台” -> “开发设置”,获取 AppIDAppSecret。这是调用API的钥匙

  3. 设备配网:确保10A智能开关已接通电源,并通过“物联网控制台”或“芯步小程序”配置Wi-Fi(仅支持2.4GHz频段),使设备状态显示为“在线”

第二步:掌握签名算法

芯步的API接口要求携带签名以确保安全。签名算法如下,各主流编程语言均可实现:

  • 参数AppSecret(开发者密码)、ts(当前Unix时间戳,秒级)

  • 公式sign = md5( md5(AppSecret) + ts )

  • 注意: 先将 AppSecret 进行MD5加密得到字符串 A,再将 A 与时间戳 ts 拼接,最后对拼接结果再进行一次MD5加密

第三步:实现单次请求批量控制

你可以通过向接口发送POST请求,单次关闭或开启最多100台设备。

API 请求信息:

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

  • Content-Typeapplication/json

  • Method:POST

请求体示例下面这个例子中,我们会同时关闭3台不同的智能开关,命令是 {"power":"0"}

不同场景的命令参数详解:针对10A智能开关,order 字段支持以下命令

控制场景order 内容说明
开启开关{"power":"1"}立即接通电路,设备通电
关闭开关{"power":"0"}立即断开电路,设备断电
临时通电{"point":"3000"}即“先通后断”,接通3秒后自动断开
临时断电{"reset":"5000"}即“先断后通”,断开5秒后自动接通

第四步:进阶管理方案——设备分组

如果业务场景需要长期、频繁地对某一组设备进行控制(例如“关闭所有办公室插座”),使用“分组”功能,便于管理。

  1. 创建分组:在“物联网控制台”中,找到“设备分组”功能,创建一个名为“会议室插座组”的逻辑组。

  2. 添加设备:将需要控制的10A智能开关添加到该分组中,获取分组ID。

  3. 调用分组接口

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

    • 请求体

3. 代码对接示例

这里提供一个使用 Python 语言实现的示例,演示如何同时关闭多个设备,你可以参考这个逻辑将其集成到你的系统后端。

4. 关键注意事项

  • 设备离线处理:接口返回 code:200 仅代表云端成功收到了指令,若设备刚好断网,指令会暂存,待设备上线后执行。若要求实时反馈,需监听云端的异步消息推送

  • 负载安全:虽然支持远程控制,但请请一定要注意10A开关的总额定功率为 2200W。在批量控制大功率设备时,需注意避免因同时开启导致线路过载

  • 开发调试:在开发阶段,可以直接使用物联网控制台中的“设备调试”功能,输入上述命令格式,快速验证设备响应,排除代码干扰