芯步1路86型触摸开关本身是单路控制设备,要实现“分组控制”需要配合平台的“分组管理”接口,将多个设备加入同一逻辑分组后统一操控。以下方案涵盖分组创建、设备绑定、指令下发三个核心环节,代码示例可直接复用。
方案:基于芯步开放接口二次开发1路86型触摸开关实现设备分组控制
1. 总体技术架构
要实现多路开关的分组控制,核心是利用芯步开放平台提供的 “分组管理”与 “分组控制” 接口。
硬件层:多个芯步1路86型触摸开关(固件支持API控制)。
平台层:芯步开放平台(负责设备注册、分组逻辑、指令转发)。
应用层:你的二次开发服务器或App(负责调用API创建分组并发送控制指令)。
二次开发核心环节:
设备注册:确保所有开关设备已接入平台并获得唯一 Device ID。
分组创建:调用接口创建一个“客厅灯光组”,并将多个 Device ID 绑定进去。
指令下发:调用分组控制接口,只要传递 Group ID 和开/关命令,即可实现一键全开或全关。
2. 准备工作
在开始编码前,请请一定要完成以下步骤:
获取密钥:登录芯步工作台,在“开发设置”中获取
AppID和AppSecret。这是调用API的身份证。获取设备ID:确保所有需要纳入分组的1路86型触摸开关都已经配网成功,并在控制台设备列表中获取每个设备的
Device ID(例如:12139853)。确认指令格式:查阅1路开关的产品手册,确认控制命令为
{"power1":1}(开)或{"power1":0}(关)。
3. 关键步骤:实现分组控制功能
由于1路开关原生API仅支持单设备控制,二次开发的核心任务是封装一个虚拟分组层。
3.1 创建分组
需要先创建一个逻辑分组(例如“书房总控”)。
接口地址
http(s)://api.thingboot.com/{AppID}/group/create请求参数
group_name(分组名称)。返回结果
group_id(后续控制需要用到的唯一ID)。
3.2 将设备加入分组
将需要联动的多个1路开关的Device ID添加到刚才创建的分组中。
接口地址
http(s)://api.thingboot.com/{AppID}/group/add_device请求参数
3.3 核心:执行分组控制
这是实现“一个按键控制多个开关”的关键代码。通过 HTTP 请求向该分组发送指令,平台会自动向组内所有 1 路开关下发命令。
接口地址
http(s)://api.thingboot.com/{AppID}/group/control/签名计算:为保证安全,每次请求需携带
sign签名。公式:
sign = md5( md5(AppSecret) + ts )请求示例(全开)只要组里有三个开关,执行一次此请求,三个开关会同时打开。
请求URL示例
POST https://api.thingboot.com/YOUR_APP_ID/group/control/?sign=COMPUTED_SIGN&ts= current_timestampRequest Body (JSON) :
指令解析:
order中的内容会根据组内设备的类型自动匹配。由于都是1路开关,power1:1会被精准转发给组内所有设备。
4. 实战:用 Python 实现分组开关控制代码
以下是一个完整的 Python 脚本示例,展示如何在你的服务器上通过二次开发代码实现“一键全开/全关”。
5. 前端交互设计(触发方式)
既然硬件是“触摸开关”,你希望保留物理触摸能力的同时,增加逻辑分组能力。二次开发时,前端通常有两种实现策略:
策略 A:软件分组(推荐用于App/小程序)
场景:用户点击手机App上的“离家模式”按钮。
逻辑:App直接调用上述
/group/controlAPI。效果:客厅灯、卧室灯、阳台灯几乎同时关闭。
策略 B:硬件联动物理按键(进阶功能)
如果希望物理触摸开关按下时,联动另一个开关,目前的1路开关硬件本身不支持直接物理连线。
二次开发方案:利用平台的 “设备联动”(如果平台支持)或 “HTTP 回调”。
实现逻辑:在服务器端设置一个规则:“当监测到开关A的
power1变为1时,自动调用一次分组控制 API,开启包含开关B、C的分组”。作用:这样你触碰开关A,开关B和C也会跟着亮。
6. 总结
通过芯步的开放接口,你可以轻松将物理上独立的“1路86型触摸开关”聚合成逻辑上的“多路开关组”。
免去复杂硬件改造:不需要重新布线,也不需要刷写固件。
接口透明:利用公开的
group/controlAPI,只要掌握AppID和Group ID,即可在几行代码内实现全开全关。扩展性强:未来需要增加控制点数,只需购买新的1路开关加入分组,代码无需变动。