CATALOG

共享自习室的痛点是“无人化”——用户预约后,如何让他顺利进门、开灯学习,同时又能避免长明灯浪费电?芯步这款支持HTTP接口的单路智能开关,正好能用一个设备同时解决门禁和照明控制。下面说说具体怎么对接。

背景:为什么要用一个开关搞定“门”和“灯”?

共享自习室的痛点就是无人化管理。用户在线预约后,我们需要让他顺利进门开灯,离开后自动断电。

通常的做法是需要一个门禁控制器(控制电磁锁)加一个智能开关(控制照明),但在实际施工中,走线复杂,而且浪费资源。

芯步的 “智能墙壁复合开关” 提供了一个很有意思的解法。它不仅是一路灯具开关,还特别设计了 “门禁控制” 功能。这样,一个设备、一个86底盒、一路WiFi,就能同时搞定“开门”和“开灯”这两个核心动作。

下面我会从硬件选型、接口对接逻辑、以及业务流程三个方面来详细拆解。

第一步:硬件的选型与安装

我们要用的是 智能墙壁复合开关[左门右灯] ,这玩意儿的型号通常是 UNI-KG-CK 系列

1. 为什么选它?在传统的共享自习室方案中,如果你要控制卡座,需要买一个WiFi插座(插座位);如果你要控制大门,需要买一个继电器模块。维护两套系统很麻烦。

这款设备其实相当于把两件事合并了:

  • 左边(门): 对应“门禁”或“出门开关”。在物理接线上,这里接的是电磁锁

  • 右边(灯): 对应“照明”。这里接的是卡座灯房间顶灯

2. 现场施工要点

  • 零火线: 这类智能开关通常需要零火线供电,在装修预留底盒时,记得让电工拉零线。

  • 负载注意: 如果接的是门禁锁,通常是12V供电,可能需要配合继电器或者直接看开关输出的是干触点还是强电(大部分这种复合开关设计为强电220V输出,接灯没问题,但接门禁锁通常需要配合电源适配器或转换,这点在实施前要和厂家确认好电压匹配)。

  • WiFi覆盖: 它只支持2.4G WiFi。自习室格子间多、信号屏蔽强,在每个房间或每隔几个座位部署一个AP,保证设备不掉线。

第二步:核心对接逻辑(HTTP接口怎么玩?)

芯步的设备最大的好处就是接口友好。不用搞复杂的SDK,也不用搞什么MQTT长连接,只要你的服务器能发HTTPS请求,就能控制它

1. 准备工作:获取钥匙在芯步的开发者后台,你会拿到两个关键字符串:

  • AppId:你的应用ID。

  • AppSecret:你的密钥(注意保密)。

  • Device ID:贴在设备外壳上的那一串数字,也就是你要控制的那个开关的身份证。

2. 签名计算(这是唯一烧脑的地方)所有接口都要带签名,防止别人随意调用你的设备。规则很简单,就是嵌套MD5加密

Sign = md5( md5(AppSecret) + ts )

注:ts是当前的时间戳。

3. 下发命令(控制门和灯)这是最关键的一步。我们要通过后端向 https://api.thingboot.com/{AppId}/device/control/ 这个地址POST数据。

假设我们有一个设备ID是 100458,现在用户下单了,我们要给他开门并开灯,请求的Body应该长这样:

小技巧: 如果你是做Node.js或者Java,直接构造这个JSON发送即可。如果是做小程序前端直接控制(为了省服务器),要注意把AppSecret藏好,还是由后端代理这个请求,避免密钥泄露

第三步:共享自习室里的“自动化”场景设计

有了接口,我们要把它变成具体的商业逻辑。

第一种场景:用户预约成功,自动分配权限

  1. 用户在小程序上下单,选了 “03号座位”

  2. 系统后台创建订单,标记该座位对应的Device IDpower通道。

  3. 门禁控制: 用户到店,在小程序点击“开门”。后端调用接口:power1 = 1(门锁打开),维持3秒后,系统自动再发一条指令power1 = 0(关门锁),防止尾随。

  4. 照明控制: 如果座位在独立小房间,开门的同时,可以顺便把power2 = 1,灯光亮起迎接用户(或者让用户自己按开关)。

第二种场景:利用“定时”功能省电自习室最怕什么?怕人走了灯没关。芯步的开关支持“先通后断”“先断后通”的定时指令

  • 方案A(主动查询): 用户的订单结束前10分钟,小程序弹窗提醒“是否续费”?如果用户不续费且离开现场时,订单结束后,后端发送power2=0关灯。

  • 方案B(延时指令-更稳妥): 如果担心网络延迟,可以在用户开门时下发一个“限时”指令。

    • 比如用户买了2小时,系统在下发开灯指令时,直接附带一个定时任务参数(具体看API是否支持,通用做法是记录状态,由服务器定时发关灯指令)。

第三种场景:物理按键的配合既然是共享自习室,如果新来的同学不会用小程序,按了墙上的物理按钮怎么办?

  • 状态同步: 芯步的设备支持状态上报。如果用户物理按压开关关灯,设备会发一条消息到你的服务器(Webhook)。你需要写一个接口来接收这个状态,更新小程序里“灯”的图标状态,并记录下来。防止出现“App显示灯亮,实际灯灭”的体验bug

避坑指南与优化

1. 响应速度接口调用到设备执行,通常在 80ms - 150ms 左右。这个速度对于开门来说完全够用。如果感觉慢,排查一下你的服务器地域(尽量选和芯步服务器同地域的云厂商)。

2. 断网情况开关如果WiFi断了,物理按键依然可以控制灯和门,但远程控制会失效。所以WiFi稳定性是重中之重。使用企业级路由器,不要用几十块的家用路由器带几十个设备。

3. 私有化部署(进阶)如果你对数据安全有要求,或者自习室在地下室没外网,芯步支持私有化部署。就是把他们的服务端程序部署在你的局域网服务器上,这样所有控制指令只在局域网内传输,速度更快(50ms以内),且彻底断网也能用。

总结一下这套方案的落地流程

  1. 采购设备:买“智能墙壁复合开关”,注意分清单火/零火。

  2. 布线安装:零火线进盒,左边输出接门禁电源/锁,右边输出接灯。

  3. 配置网络:使用芯步的小程序给设备配网,拿到设备ID。

  4. 写代码

    • 写一个工具类,生成MD5签名。

    • 写一个HTTP请求函数,POST JSON数据。

    • 在你的订单业务流程里,调用这个函数。

  5. 联调测试:点一下小程序按钮,看锁弹开,灯亮起。

用这种方式,你甚至不需要去买几百块的门禁控制器,只需要几十块钱的开关就把两个核心硬需求都解决了。