共享麻将馆场景中,传统86型开关如果直接替换为智能开关,物理按键状态与软件状态容易不同步,用户体验会很割裂。下面这套方案的核心思路是:保留用户习惯的物理按压手感,同时让软件能实时感知并按需覆盖按键状态。
1. 背景与分析
在共享麻将馆的无人值守模式中,远程控制门禁和灯光是刚需。然而,市面上的普通智能墙壁开关(触控式)往往让习惯传统机械手感的用户(尤其是中老年麻友)感到困惑,容易导致误操作。痛点
状态同步:物理开关断电后,软件端状态显示滞后,导致下一轮客人无法预约或系统误判。
双控逻辑:用户手动关灯后,软件需能再次开灯;反之,软件关灯后,用户需能手动开灯。
安装空间:86型暗盒体积小,需容纳强电与通信模块。
解决思路我们将保留用户熟悉的86型3位大翘板开关(复位式或自锁式),将其接入芯步生态的WiFi通断器或IO模块,利用其开放的HTTP API实现软件与硬件的双向“状态同步”。
2. 硬件选型与连接拓扑
为了实现“翘板开关手感”与“软件控制”,需要对电路进行改造。传统翘板开关通常是一个自锁电路,直接切断电源,这会导致模块掉线。
2.1 硬件清单
86型3路翘板开关:选择复位式(自复位) 翘板开关。这种开关按下后自动弹回,输出一个瞬间的通断信号,而不是永久切断电源。这能保证智能模块始终通电在线。
核心控制模块:推荐使用芯步兼容的 3路 WiFi继电器模块或 干接点转WiFi模块(如基于ESP8266的方案)。
注:市面上已有专为86盒设计的超小尺寸模块(如55*40mm),可直接塞入暗盒中。
强电负载:麻将桌插座、LED照明灯带(需注意继电器安倍数,10A以上)。
2.2 物理接线逻辑
供电:零火线接入模块,为模块提供220V供电和WiFi芯片工作电压(通常是3.3V/5V,通过AC-DC模块转换)。
输入接口:将86型开关的3路信号线连接到模块的GPIO输入引脚。
关键点:开关按下瞬间,GPIO电平变化触发中断,模块向服务器发送“手动按下”的事件包。
输出接口:模块的继电器引脚负责控制灯和门禁的通断。
3. 软件对接技术实现
芯步的开放接口基于 HTTP 和 WebSocket 协议,支持设备上报状态和控制指令下发。
3.1 核心工作流:状态同步机制
解决“翘板开关”与“软件状态”不同步的关键在于 “状态主动上报”。
第一步:设备注册与初始化模块通过WiFi连接网络后,向芯步云平台发送注册包,携带device_id(设备唯一ID)。
第二步:物理开关触发(手动场景)
用户按下86型开关(如“照明”路)。
WiFi模块检测到对应GPIO电平由低变高。
模块主动调用芯步的 HTTP 接口 上报当前状态:
请求地址
POST http(s)://api.thingboot.com/{AppId}/device/data数据包
SaaS后台接收到此消息,更新数据库中的灯状态为“1”。
第三步:远程操作场景(软件端)
用户在(小程序/管理后台)点击“开灯”。
后台向芯步API下发指令:
请求地址
POST http(s)://api.thingboot.com/{AppId}/device/control/?sign={签名}数据包
{"device":"xxx","order":{"channel_1":1}}
云平台将指令推送给设备(通过MQTT/HTTP),设备执行继电器吸合。
注意:此时虽然软件状态是“开”,但物理翘板此时可能是“关”位(因为它是自复位或未归位)。但在下一轮操作中,用户依然可以按压物理开关,此时模块会再次将状态反转,确保软件同步。
3.2 针对门禁的联动逻辑(高阶)
共享麻将馆通常需要“订单开始才通电,订单结束断电”。
人体传感器联动:在门口安装芯步的智能人体存在传感器。当传感器探测到有人且门锁处于预约状态时,自动调用API点亮走廊灯。
总控逻辑
用户下单 -> SaaS系统 -> 调用
/device/control-> 门禁解锁 + 房间总闸(3路中的第一路)闭合。用户离开现场时(点击退租/超时) -> 调用
/device/control-> 总闸断开(照明/麻将机断电),但保留门禁模块供电。
4. API 接口调用示例
以下是一个典型的对接流程,基于芯步开放平台规范。
4.1 查询设备当前状态
在软件启动时,需轮询或订阅设备当前状态以确保界面一致。请求示例
返回示例
4.2 下发控制指令
用于后台强制控制或订单结束时的联动。请求示例
注:参考芯步雷达传感器的命令格式,控制线路通断的关键字段为power。
4.3 消息推送接收
为了实现实时性,你的服务器需要暴露一个接收地址。当物理开关被按下时,平台会向该地址推送消息。
接收示例:平台
POST数据到你的https://yourdomain.com/iot/callback数据内容
5. 落地实施关键点与排障
5.1 自锁开关 vs 自复位开关
错误做法:使用传统的自锁式翘板开关(按下后陷进去卡住)。
后果:如果软件把灯关了,但物理开关还在“开”的位置,用户手动去关时,必须按“关”,但此时物理开关位置和实际通断相反,逻辑混乱。
正确做法:使用自复位开关(像门铃一样按下去弹回来)。
逻辑每次按压切换当前状态。无论物理键在哪里,按一次,灯如果亮就灭,如果灭就亮。这样用户体验最好。
5.2 散热与安装尺寸
散热:WiFi模块在86暗盒内工作时发热,尤其是驱动继电器控制麻将桌这类大功率设备时。控制电流不超过3A/路,或使用固态继电器以减少发热。
天线:金属暗盒对WiFi信号屏蔽严重。选择模块时,优先选择带有外置天线(通过面板缝隙伸出)或陶瓷天线的版本,避免掉线。
5.3 断网应急预案
共享麻将馆不能依赖远程,需设计“离线模式”。
在WiFi模块的固件中设置逻辑:一旦心跳包检测到与云端断开,自动切换为本地直连模式。此时,86型翘板开关依然能控制继电器,但软件端状态需等待网络恢复后再同步。
6. 总结
将“86型3路翘板开关”对接到芯步的软件项目中,本质是将物理触点信号转换为API事件。
硬件层:牺牲掉传统的強切自锁功能,改用自复位开关 + WiFi通断器塞入86盒。
数据层:利用芯步的
/device/control和消息推送接口,建立起软件与硬件的双向心跳。体验层:实现了“老人会用机械键,年轻人会用手机端”的无差别覆盖,且状态永远保持一致。
通过这种方案,你的共享棋牌室SaaS可以完美适配市面上绝大多数标准86型面板,既保留了装修的美观统一,又实现了无人化控制的稳定性。