CATALOG

共享棋牌室的无人化管理核心在于设备电源的远程集中控制。芯步的开放接口采用标准的HTTP协议,签名机制规范,接入门槛较低。以下方案从硬件选型、接口对接、业务逻辑到部署细节,梳理完整的集成路径。

1. 硬件选型:16路智能通用控制器

要实现16路设备的独立控制,你需要选用芯步产品线中专为多路控制设计的 “智能通用控制器|16路” (型号:UNI-KZQ-TY-16)。

为什么选择这款设备?

  • 物理通道:该设备提供了16路继电器输出,刚好匹配你对“16路”的需求。

  • 负载能力:单路最大支持2200W(阻性负载),完全可以覆盖麻将机(通常300-500W)、照明(几十瓦)、空调(约2000W)等常见设备的接入

  • 通信方式:支持 WiFi 2.4G 直连,无需额外购买网关,降低了硬件成本

  • 接口协议:开放标准HTTP接口,这意味着无论你的后端是Java、Python还是PHP,或是前端小程序,都能通过API调用轻松控制

场景适配在棋牌室场景中,这16路可以进行如下分配:

  • 路1-4:4个包间的主照明或氛围灯。

  • 路5-8:4个包间的麻将机电源。

  • 路9-12:4个包间的空调电源(配合空调遥控伴侣或红外转发器,若直接用此模块则控制空调插座通断电)。

  • 路13-16:排风扇、路由器电源、门禁锁电源、灯箱招牌等。

2. 技术对接准备:接口签名与鉴权

在开始写代码前,你需要在芯步开放平台完成准备工作。集成16路控制器和集成1路控制器的流程完全一样,只是order参数中的key不同

第一步:获取密钥在芯步控制台(ThingBoot Open)创建应用,获取三个核心凭证:

  • AppId:应用唯一标识。

  • AppSecret:应用密钥(用于加密签名,严禁放在前端)。

  • Device ID:你的16路控制器的设备编号(可在控制台扫码绑定获得)

第二步:签名机制芯步的API通过 signts(时间戳)进行防盗用验证。签名的生成逻辑如下

  • 步骤 1:将你的 AppSecret 进行 md5 加密,得到字符串 S1

  • 步骤 2:获取当前的Unix时间戳(秒级)ts

  • 步骤 3:将 S1ts 拼接成新字符串 S1{ts},再进行一次 md5 加密,得到最终的 sign

验证流程服务器收到请求后会用同样的逻辑计算一遍签名,并校验时间戳是否在有效期内(通常允许5分钟误差),以此防止请求被篡改或重放攻击。

3. 集成实施:如何通过API控制16路设备

完成硬件接线和设备配网后,你就可以通过向设备下发HTTP请求来实现控制了。

API 请求结构

  • 请求地址https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式POST

  • 请求头Content-Type: application/json

1. 控制单一路(例如:关闭第8路连接的麻将机)order 参数是一个JSON对象,针对16路控制器,你的命令键名为 power1power16

当用户在小程序点击“下机”时,后端组装上述JSON并发送POST请求,第8路插座瞬间断电,麻将机停止计费

2. 批量控制(例如:打扫模式/清场模式)打扫卫生时,需要同时打开排风扇(路13)和照明(路1-4),关闭麻将机(路5-8)。你可以依次发送16条请求,但这会占用大量网络开销。更好的方法是使用批量接口:

这表示同时打开第1、2、3、4、13路,非常适合“一键清场”或“一键布防”场景

3. 状态查询与事件上报共享棋牌室需要检测设备是否真实执行了命令。

  • 主动查询:接口提供了查询设备状态的功能,你可以定时轮询,获取16路当前的开关状态(是通还是断)。

  • 被动接收:设备状态发生变化时,会向你的服务器推送消息。你需要在自己的后台配置一个接收URL(Webhook),用于实时接收设备上报的“已开启”或“已关闭”事件

4. 业务逻辑实现

将接口能力转化为棋牌室的具体业务逻辑,你需要编写后端代码来处理以下关键场景:

第一种场景:用户下单成功

  1. 触发:用户在小程序支付并选择时段(例如:2小时)。

  2. 逻辑:服务器生成订单 -> 调用API -> 发送 {"power1":1} (开灯)、{"power5":1} (开麻将机)、{"power9":1} (开空调)。

  3. 附加:如果是TTS语音版本,还可以发送 {"play:gbk:16":"欢迎光临XX包间,祝您娱乐愉快"}

第二种场景:临期提醒

  1. 触发:距离订单结束还剩5分钟。

  2. 逻辑:若设备支持语音,调用语音播报接口提醒用户续费。也可以进入“预关闭”流程——先关闭麻将机电源,等待1分钟后再恢复,以此提醒用户时间到了。

第三种场景:超时自动断电

  1. 触发:订单剩余时间为0,用户未续费。

  2. 逻辑:调用批量控制接口 {"batch": {"relay": [1,5,9,13], "power": 0}},关闭包间内所有电源,防止逃单

场景四:报警联动

  1. 触发:智能烟雾传感器检测到烟雾。

  2. 逻辑:服务器接收到报警 -> 强制将所有继电器置为0 -> 发送开门指令 -> 确保客户安全离开。

5. 网络与部署架构

针对共享棋牌室的实际物理环境,采用 “局域网+外网双链路” 或纯外网架构。

  • 纯外网SaaS模式

    • 适用于大多数小型个体经营者。

    • 16路控制器通过WiFi连接店铺路由器,通过互联网访问芯步的API服务器。你的小程序后端也通过互联网调用API。

    • 优点:即插即用,无需公网IP,无需维护服务器。

    • 缺点:依赖店铺宽带的稳定性。

  • 私有化部署模式(局域网)

    • 芯步的硬件支持“自建消息服务器”。如果你的棋牌室连锁店对隐私和稳定性要求比较高,可以在店内服务器上部署你的后端服务。

    • 操作:在设备配网时,将消息推送地址设置为你的内网IP(例如 http://192.168.1.100:8080/api/receive)。此时,所有控制指令完全不经过外网,延迟更低(<20ms)且断外网也能运行

6. 注意事项与优化

  1. 负载与安全

    • 16路控制器的总负载有限制(通常4400W)。如果你在同一个包间接了2台大3匹空调(每台制热约3000W),不能将两台空调同时接在这个16路模块上,否则会烧毁板子。16路控制器只接照明、排风扇和麻将机,大功率空调使用配套的大功率继电器模块或专用的空调控制器(第4路通常支持30A大电流可用来接空调)

  2. 配网体验

    • 尽量避免让商家使用复杂的“SmartConfig”模式。利用芯步支持的Web配网AP配网,通过微信小程序引导商家输入WiFi密码,成功率更高。

  3. 状态同步

    • 由于网络延迟,不要假设“发送命令=立即生效”。在你的订单倒计时逻辑中加入“心跳检测”或“状态回执校验”,如果下发命令失败,尝试重试3次并报警通知管理员。

通过上述步骤,你不仅将16路物理设备接入了系统,更构建了一套完整的“智能无人棋牌室”工单处理流。