CATALOG

针对共享麻将馆(也叫无人棋牌室)这种场景,实现“门禁联动照明”和“定时关灯”,核心逻辑其实就是一个字——“跟”。意思就是灯的开关状态要跟着订单的状态走

芯步的硬件强项就在于开放HTTP接口,这让咱们可以不依赖他们家那个公版App,直接把自己写的小程序后台、或者SCRM系统跟硬件打通

下面我给你拆解一下怎么做,比较口语化,咱们直接聊实现步骤:

一、 硬件选型:用啥设备?

在共享麻将馆里,咱们不需要搞得很复杂。你只需要这几种硬件:

  1. 智能包间控制器(核心大脑):这是芯步针对棋牌室出的神器。它相当于一个集成的强电箱,直接装在包间里。它一般自带好几路输出:

    • 门禁接口:直接接电子锁。

    • 多路强电接口:分别接照明、麻将机、空调、排风扇。这样你就能单独控制灯,不影响麻将机不断电

  2. 智能触摸墙壁开关(辅助):如果觉得控制器接线麻烦,或者想保留物理开关手感,可以用这个直接替换传统墙壁开关来控制灯

为什么不用普通智能灯泡? 因为那玩意儿一旦物理断电就离线了,不适合共享营业场景,得用这种能直接断强电的控制器或开关。

二、 核心逻辑:怎么实现“开门亮灯”?

其实不需要买那种几百块的人体传感器。在麻将馆场景,“门锁状态”就是最好的传感器

流程是这样的:

  1. 用户下单:客人在小程序买了2小时(比如今晚20:00-22:00)。

  2. 后台发指令:你的服务器收到支付成功的回调。

  3. 下发定时任务:你的服务器调用芯步的向设备下发指令接口...)

    • 开门指令:告诉门锁“打开”(gateway参数带上网关ID)。

    • 环境指令:其中带一个 延时/定时参数

    • 亮灯指令:告诉照明设备“打开”。

细节处理:开门瞬间,门锁反馈“已开锁”信号给服务器,服务器再触发灯光指令,或者直接在开门指令包里把灯带上,基本能实现秒开。

三、 怎么实现“定时关灯”?

这里指的是订单结束自动关灯,要防止客人走了还浪费电。

  1. 设置倒计时:当用户支付成功,订单生效的那一刻,你的后台程序里启动一个定时器

  2. 时间到,发指令:这个定时器时长就是用户购买的时长(2小时)。2小时后,定时器触发。

  3. 执行关断:服务器调用接口,向那个包间的控制设备发送关灯命令。

    • 技术实现:请求包大概长这样(JSON格式),非常直接

四、 特殊情况处理:提前离开现场时怎么立即关?

这是无人店容易出bug的地方。如果客人提前走了,谁关灯?

解决方案:小程序“一键断电”按钮

  1. 在你的用户小程序页面,加一个大大的“结束订单/关闭电源”按钮。

  2. 用户点击后,服务器直接下发关灯指令,同时停止计费或标记订单结束。

  3. 为了防止误触,你可以加个二次确认弹窗:“关灯后将无法自行开启,请确认是否离开现场时?”

五、 一个容易被忽略的点:物理开关的防呆处理

如果用了智能触摸墙壁开关,有个体验问题要注意:如果客人把墙上的开关物理按关了,你的远程系统就没法再开了,因为物理断电了设备就离线了。

方案

  • 如果用芯步的墙壁开关,设置成“回弹模式”“联动模式”。也就是物理按键触发的是一个软件信号,而不是直接切断强电。这样客人按一下“关”,灯灭了,但设备还在线;后台依然可以发指令让它“开”。

  • 或者,直接把灯的权限锁死,只让系统和商家控制,墙上开关的权限交给排风扇。

六、 总结下开发步骤(给程序员的参考)

如果你要写代码实现这个,步骤很简单:

  1. 注册芯步开发者账号:拿到AppIDAppKey,用来生成签名sign

  2. 设备配网:把买来的包间控制器或墙壁开关,通过配网工具连上店里的Wi-Fi(记得只支持2.4G)

  3. 获取设备ID:在芯步的后台控制台拿到那个长长的Device ID。

  4. 写接口调用

    • 用POST请求,带上设备ID和时间戳ts。

    • 关键是order参数,对于照明设备,去查一下它的产品定义,一般是{"switch":"on"}或者{"power":1}

  5. 联动测试:试着从你的服务器发一个power:0,看灯灭不灭。

口语化总结就是把“门禁”和“灯”绑到同一个“订单计时器”上。订单生效,门开了灯就亮;订单结束,服务器自动伸手把灯关了。不用整太复杂的传感器,逻辑越简单,系统越稳。