CATALOG

针对共享麻将馆场景,AC1-10A智能通断开关最适合用于单个插座或单路灯光的独立控制。以下方案详细说明如何通过HTTP接口将其集成到你的项目中。

一、 设备定位与场景分析

在共享麻将馆的解决方案中,“灯光插座管理”通常包含两个维度的需求:

  1. 单个电器控制:如控制麻将桌的插座通电、饮水机开关、或者头顶的吸烟灯。

  2. 多路协同:虽然AC1-10A只有一路控制,但它的成本较低(无需网关),适合在不需要多路控制的简易包间部署。如果你需要在一个包间内控制灯光、麻将机、空调和门锁,可能需要考虑智能包间控制器(如4路版本),但本方案聚焦于单路AC1-10A在项目中的接入

应用逻辑:

  • 用户端:用户在小程序下单后,系统通过接口发送 {"power":1},AC1-10A接通,麻将桌和灯光得电。

  • 管理员端:后台系统可随时通过接口切断电源。

  • 计费联动:订单结束前10分钟,系统发送门锁即将断电提醒;订单结束后,发送 {"power":0} 强制断电。

二、 准备工作与核心参数

在开始代码对接前,你需要在芯步云平台完成以下准备:

  1. 获取凭证

    • AppID:应用的唯一标识。

    • AppSecret:用于签名计算的密钥。

  2. 设备激活

    • 使用微信小程序“芯步配网”将AC1-10A设备配置到2.4G WiFi网络。

    • 记录下设备的 Device ID(设备ID),这是后续控制指令的目标地址。

  3. 接口地址

    • 控制接口:http(s)://api.thingboot.com/{AppID}/device/control/

三、 接口对接流程(解决方案核心)

由于AC1-10A设备直连WiFi,无需网关中转,你的后端程序可以直接调用云端API。

1. 签名算法(Sign)

为了防止接口被恶意调用,所有请求都需要携带签名。芯步的签名规则如下:

Sign = md5( md5(AppSecret) + ts )
  • md5():标准的32位小写MD5加密函数。

  • ts:当前的Unix时间戳(秒级)。

2. 下发控制指令(开关灯/插座)

这是你在项目中最核心的操作。以 Python 为例,演示如何实现远程开灯:

命令参数说明

  • {"power": 1}:闭合继电器,设备通电(灯亮/插座有电)。

  • {"power": 0}:断开继电器,设备断电(灯灭/插座没电)。

3. 设备状态同步(消息推送)

仅仅发送指令是不够的,你的系统需要知道设备当前是真的开了还是关了(例如用户不小心按了设备上的物理按键,或者网络波动)。

解决方案:配置“消息推送”。在芯步控制台中,设置你的服务器回调 URL(Webhook)。当设备状态发生变化时(无论是指令触发还是物理按键触发),平台会主动推送状态给你。

接收示例(JSON)你需要在自己的接口中接收如下格式的POST数据:

收到此回调后,更新你本地数据库中的“麻将馆X号包间”状态为“使用中/空闲”。

四、 项目落地:业务流程设计

为了让 AC1-10A 完美融入你的共享麻将馆系统,采用以下逻辑:

1. 预通电阶段

用户在小程序点击“开门/开灯”,系统不直接控制AC1-10A,而是先检查订单状态。只有支付成功信用免押校验通过的订单,才触发 {"power":1}

  • 注意:AC1-10A 额定电流10A,足以支撑麻将桌(通常300W)+ 灯光(LED 50W)+ 排风扇,但大功率空调请勿接入此设备,需选16A规格

2. 安全保护机制(防拆机)

作为共享项目,设备安全很重要。

  • 心跳检测:如果AC1-10A连续5分钟离线(WiFi断了或被拔线),你的系统应立即告警,并通知运维人员该包间设备可能被恶意断电。

3. 定时清理任务

为防止用户下单后一直不下发断电指令,你的系统应增加定时任务:

  • 正计时/倒计时:如果用户开启了“临时灯”但未下单,定时10分钟后自动发 {"power":0} 关电。

  • 订单结束:用户点击“退租/结账”后,调用 {"power":0},切段所有电源,等待下一位客人。

五、 总结

通过接入芯步 AC1-10A 智能通断开关,你的共享麻将馆项目可以实现极低成本的单路设备智能化。由于它支持标准的HTTP接口且不需要网关,集成起来非常方便。

实施

  1. 先在沙箱环境测试:使用HTTP请求工具(如Postman)配合签名算法,测试单次开关动作,确认设备ID正确。

  2. 封装SDK:在你的后端项目中,将签名生成、指令下发封装成一个通用函数,方便后期维护。

  3. 升级替代:如果未来你的生意变好,一个包间需要控制多个设备(如门锁+空调+总闸),升级为“4路控制器”或“包间Mini控制器”,控制代码逻辑依然通用(只需将 power 变为 power1, power2 等)