针对场景中常见的集中管理、批量下发需求,芯步的开放接口提供了两种主要的解决方案:一是通过单次API请求携带多个设备ID,二是利用“分组”概念实现逻辑组控制。
以下方案将基于其HTTP API特性,详细阐述如何实现对10A智能开关的远程批量控制。
1. 核心对接方案:基于HTTP API的批量控制
芯步的10A智能开关(包括智能插座、墙壁插座及通断器系列)均提供标准的HTTP接口,对开发者十分友好。要实现远程批量控制,核心在于调用设备控制接口时,对 device 参数的灵活运用。
根据官方文档,你可以采用以下两种方式进行批量操作:
| 特性 | 单次请求多设备 (设备ID列表) | 设备分组控制 (推荐大规模) |
|---|---|---|
| 实现的方式是 | 直接在 device 参数中用英文逗号 , 或竖线 | 拼接多个设备ID | 先在控制台创建分组,将设备加入分组,再调用分组控制接口 |
| 接口地址 | /device/control/ | /group/control/ |
| 适用场景 | 脚本测试、一次性临时操作 | 常态化业务场景(如按楼层、区域开关) |
| 复杂度 | 低 | 中 |
| 最大限制 | 一次请求最多支持 100个 设备ID | 无明确限制,取决于分组设置 |
2. 实施步骤详解
第一步:前期准备与环境配置
在开始编码前,你需要完成以下准备工作:
注册与登录:访问芯步官网注册账号。
获取凭证:登录后进入“工作台” -> “物联网控制台” -> “开发设置”,获取
AppID和AppSecret。这是调用API的钥匙 。设备配网:确保10A智能开关已接通电源,并通过“物联网控制台”或“芯步小程序”配置Wi-Fi(仅支持2.4GHz频段),使设备状态显示为“在线” 。
第二步:掌握签名算法
芯步的API接口要求携带签名以确保安全。签名算法如下,各主流编程语言均可实现:
参数
AppSecret(开发者密码)、ts(当前Unix时间戳,秒级)公式
sign = md5( md5(AppSecret) + ts )注意: 先将
AppSecret进行MD5加密得到字符串A,再将A与时间戳ts拼接,最后对拼接结果再进行一次MD5加密 。
第三步:实现单次请求批量控制
你可以通过向接口发送POST请求,单次关闭或开启最多100台设备。
API 请求信息:
URL
http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}Content-Type
application/jsonMethod:POST
请求体示例下面这个例子中,我们会同时关闭3台不同的智能开关,命令是 {"power":"0"}。
不同场景的命令参数详解:针对10A智能开关,order 字段支持以下命令
| 控制场景 | order 内容 | 说明 |
|---|---|---|
| 开启开关 | {"power":"1"} | 立即接通电路,设备通电 |
| 关闭开关 | {"power":"0"} | 立即断开电路,设备断电 |
| 临时通电 | {"point":"3000"} | 即“先通后断”,接通3秒后自动断开 |
| 临时断电 | {"reset":"5000"} | 即“先断后通”,断开5秒后自动接通 |
第四步:进阶管理方案——设备分组
如果业务场景需要长期、频繁地对某一组设备进行控制(例如“关闭所有办公室插座”),使用“分组”功能,便于管理。
创建分组:在“物联网控制台”中,找到“设备分组”功能,创建一个名为“会议室插座组”的逻辑组。
添加设备:将需要控制的10A智能开关添加到该分组中,获取分组ID。
调用分组接口
URL
http(s)://api.thingboot.com/{AppID}/group/control/?sign={sign}&ts={ts}请求体
3. 代码对接示例
这里提供一个使用 Python 语言实现的示例,演示如何同时关闭多个设备,你可以参考这个逻辑将其集成到你的系统后端。
4. 关键注意事项
设备离线处理:接口返回
code:200仅代表云端成功收到了指令,若设备刚好断网,指令会暂存,待设备上线后执行。若要求实时反馈,需监听云端的异步消息推送 。负载安全:虽然支持远程控制,但请请一定要注意10A开关的总额定功率为 2200W。在批量控制大功率设备时,需注意避免因同时开启导致线路过载 。
开发调试:在开发阶段,可以直接使用物联网控制台中的“设备调试”功能,输入上述命令格式,快速验证设备响应,排除代码干扰 。