CATALOG

芯步这款复合开关很有意思——一个设备同时管照明和门禁,很适合工作室、民宿或者小型办公区。下面从二次开发的角度,把硬件接线、接口调用、代码示例到业务落地串起来讲一遍。

一、 为什么选这个“复合开关”来解决两件事?

普通的智能开关通常只能控制灯,但芯步这款 “智能墙壁复合开关|2路” 最大的亮点在于它的命名——“左门右灯”或“左灯右门”

这就意味着它在一个86型标准底盒里,集成了两路具有不同逻辑的继电器:

  1. 照明路: 控制照明设备,逻辑就是简单的“开/关”。

  2. 门控路: 控制门锁(电插锁或电磁锁),逻辑通常是“通电开锁”或“断电开锁”,甚至需要短暂的“点动”信号(先通电X秒再断电)。

利用它的 HTTP 开放接口 进行二次开发,我们不仅能远程点击“开门”,还能把业务流程串起来,比如:用户下单自动授权开门、员工刷卡联动开灯。

二、 二次开发前的准备工作(硬件与配置)

在写代码之前,硬件的接线和配网是基础,简单提几个关键点:

  1. 接线注意

    • L、N:接220V火零线供电。

    • L1(或对应灯标识):接照明灯的火线。

    • L2(或对应门标识):接门禁电源或直接接电锁。注意,如果是控制门锁,一般配合12V电源使用,开关本身输出的是220V通断信号,用来控制门禁电源的通断

  2. 联网

    • 设备仅支持 2.4G WiFi,不支持5G

    • 使用官方“芯步”小程序或者PC控制台进行配网,获取设备的 Device ID(设备唯一ID),这是你后面控制它的“手机号”。

三、 接口调用核心:签名算法与命令结构

芯步的开放接口是基于 HTTP POST 请求的。二次开发时,最头疼的往往是鉴权,这里帮你简化一下。

请求地址https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

核心难点:Sign(签名)计算官方文档给的逻辑是:md5( md5(AppSecret) + ts )

  • AppSecret:你账户下的开发者密码。

  • ts:当前时间的秒数戳。

为了方便理解,写个伪代码逻辑:

四、 针对“照明”与“门禁”的指令下发

设备联网后,我们就可以通过编程发指令了。这里需要重点关注 order 参数的结构,因为照明和门禁的指令形态完全不同。

为了方便展示,用 Node.js 写一个例子,这样在后端服务器跑起来比较方便

场景 1:远程控制照明(标准的开关)

假设这盏灯接在线路1(Power1),想实现“天黑开灯”,直接调用上面的函数,传入JSON参数即可:

这个很简单,1代表通,0代表断

场景 2:远程控制门禁(点动模式)

这是控制门的核心。除非你是控制卷帘门需要保持通电,否则普通的大门(如电插锁)通常需要脉冲信号:给电1-3秒,门锁弹开,然后立刻断电,防止烧坏线圈。

这款开关支持 “先通后断” 指令 ,恰好适合开锁场景

场景 3:进阶玩法 —— 状态保持(开会模式/勿扰模式)

有时候,我需要强制保持某个状态不被物理按键破坏。比如晚上打扫卫生,我不希望保洁人员误关灯,或者不希望误碰开锁键。

citation: [2]

五、 业务集成:怎么把它串起来?

单纯做遥控器没太大意义,二次开发的价值在于业务联动

场景:共享棋牌室/办公室

  1. 用户下单:用户在小程序支付了“包间2小时”。

  2. 自动授权:你的后端服务器收到支付回调。

  3. 下发指令

    • 如果用户刚进门:调用 controlSwitch({ "point2": "3000" })(线路2:点动3秒开锁,让用户进来)。

    • 如果用户开始使用:调用 controlSwitch({ "power1": "1" })(线路1:开灯)。

  4. 到期断网:2小时后,服务器自动调用 controlSwitch({ "power1": "0" })(关灯) 和 controlSwitch({ "power2": "0" })(如果是磁力锁,则断电锁门)。

六、 避坑与

在二次开发过程中,有几点经验可以帮你少走弯路:

  1. 局域网还是云控?:芯步的接口默认走云端,只要设备联网,你在国外也能控制。但注意,它支持私有化部署和局域网直接控制。如果你是在内网环境(比如公司内部系统),直接调用设备内网IP的接口,速度更快、更稳定

  2. 门禁电源匹配:不要用这个开关直接驱动大功率电锁!用它控制门禁专用电源的“PUSH(开门触发)”端子,这样更安全

  3. 查询设备状态:除了控制,别忘记调用状态查询接口。在你的管理后台,需要实时显示当前门是开着还是关着,灯是亮着还是灭着,以便管理人员核对。

总结

芯步这个复合开关其实就是一个“联网的继电器”。二次开发时,你只需要关注两点:

  • 照明:发 power1 = 1/0

  • 门禁:发 point2 = 2000(瞬间开锁)。

只要搞定了前面提到的签名(Sign)计算,剩下就是用你熟悉的语言(Java, PHP, Python, Go)发起HTTP请求的事了。把这些指令嵌入你的业务逻辑里,远程控制照明和门禁的功能就落地了。