芯步的2路智能门禁照明开关开放了完整的HTTP接口,你可以通过二次开发把设备“拉”进自己的系统里。下面这份方案会讲清楚单设备控制、分组管理、批量控制三个层次,你可以根据实际需求选择实现到哪一步。
一、搞清楚你的硬件:2路开关能做什么?
首先,我们要了解控制的对象。芯步的这款 “智能墙壁开关|2路” 产品,本质上就是两个独立的继电器。
简单说,就是可以分别控制两盏灯或两个门禁锁(注意核对电压电流)。
它支持的 API 核心指令如下(这个一会儿写代码要用到):
控制第一路:参数
power1,值为1(开/通电)或0(关/断电)。控制第二路:参数
power2,值为1或0。特殊功能:还支持
power1/power2的状态保持、点动(先通后断)等功能。
核心理念:所谓“分组控制”,无非就是一次发一条指令,但这条指令的“目标”不是1个设备ID,而是N个设备ID,或者干脆是一个“分组ID”。
二、准备工作:拿到“遥控器”的钥匙
在写代码之前,你需要先去芯步的开放平台拿到必须的密钥。
注册/登录。
获取凭证:在“控制台” -> “开发设置”里找到:
AppID:你的应用唯一ID。
AppSecret:你的密钥(千万别泄露到前端网页里)。
获得设备ID:把买来的开关配网后,在控制台的“设备列表”里能看到一串数字,那就是 Device ID。
所有的二次开发,本质上都是向 https://api.thingboot.com/{你的AppID}/...... 这个地址发送HTTP请求。
三、第一步:单设备控制(打好地基)
我们先搞定怎么控制一台设备的一路开关。这是最原子的操作。
芯步的API调用需要在URL中携带签名(sign) ,目的是防止有人伪造请求控制你的设备。
1. 签名生成规则(核心难点)别被吓到,其实就是简单的字符串拼接+MD5加密
Step 1:把
AppSecret做一次MD5加密,得到secret_md5。Step 2:拿
secret_md5拼接上当前的时间戳ts,得到字符串string_to_sign。Step 3:把
string_to_sign再做一次MD5加密,这就是最终的sign。
2. 代码实战(极简Python示例)假设我们要把 设备ID为 10086 的 第一路灯打开。
(参考官方文档中的签名算法与接口结构)
四、第二步:创建分组(给设备“建群”)
你肯定不想每次控制“大厅”的灯都去翻找所有设备ID。我们需要建一个叫“大厅”的分组。
调用 维护设备分组 接口即可。
假设我创建一个ID为 2001 的分组,想把设备 10086 和 10087 加进去:
五、第三步:实现分组控制(核心解决方案)
设备分好组之后,就不需要对每个设备ID发命令了,直接对着群组发命令就行了。
这就是你想要的“2路智能门禁照明开关的设备分组控制”。
使用 分组 - 执行命令或动作 接口。
场景:现在是晚上7点,你要把 整个分组2001(包含客厅所有灯)的 第二路 灯光打开(例如是走廊灯)。
执行完这一小段代码,群组里所有的开关会同时动作。HTTP请求发出后,云平台就会向这些设备推送指令,达到“一键控制”的效果。
进阶小贴士:关于“2路”的特殊玩法
在实际项目里,门禁和照明的逻辑往往是反的:
照明:通常需要保持常亮(发
power1=1)。门禁:往往需要点动(按一下通电1秒自动断开,防止烧锁)。
芯步的2路开关对每一路都支持单独的模式。
你可以利用API实现精细化控制:
单路独立
第一路接照明,用
power1控制。第二路接门锁,用
point2(先通后断/点动)指令控制。
跨设备组合
把A设备的第1路(灯)和B设备的第1路(门铃)放在一个叫“前厅”的分组里。
通过API调用分组控制:
control_group("front_hall", {"power1": 0}),一键关门关灯。
总结你的开发步骤
环境准备:拿稳 AppID、AppSecret、Device ID。
写工具函数:封装好签名(sign)生成逻辑(这是最容易踩坑的地方,注意时间戳要是秒级,且服务器时间不能偏差太大)。
设备入群:调用
/device/group接口,把一堆设备ID扔进一个数字ID代表的群组里。执行控制:调用
/group/control接口,直接传group=123&power1=0,收工。
最后多说一句,既然是“二次开发”,你可以把这个逻辑写死在单片机里(通过代码逻辑物理联动),也可以写个简单的Python脚本跑在树莓派或者Windows任务计划程序里,实现每天定时“布防”或“关灯”。