4路共享空间智能控制器MINI这款产品,说白了就是给棋牌室、茶室、剧本杀店这种按小时收费的包间量身定做的“用电管家”。要想实现“时间一到自动断电”,核心就是利用它的HTTP接口和定时任务功能。
下面我把这件事掰开揉碎了讲,包含思路、接线、接口调用逻辑,还有一些坑给你填平。
一、 先搞懂这“4路”分别该接什么(硬件接线)
这块控制器就像包间的总电闸,但它把电闸分成了4个小开关,你可以远程指挥每个开关断开或闭合。根据官方参数,标准的接法是这样的,你可以直接拿去用:
第1路(16A):接照明和排气扇。
把这一路设为“常开”或者跟随总闸关闭。客人一进门灯就亮,时间一到灯先灭,提醒他们续费。
第2路(16A):接麻将机、饮水机、按摩椅。
这是核心断电对象。时间一到,麻将机必须停,这是逼单的关键。
第3路(10A):接门禁锁(电磁锁)。
注意: 这一路一般不要直接参与时间断电。如果你把门锁死了,客人还在里面会有安全隐患。逻辑是:时间到 -> 关闭第2路(麻将机) -> 延迟1分钟 -> 语音提醒 -> 如果客人未续费,再由管理员手动触发关电开锁。
第4路(30A):接空调。
空调不一到时间就粗暴断电,频繁强关空调容易损坏压缩机。也是先不接自动断电,或者只作为远程开关用。
二、 核心思路:定时任务怎么玩?
要实现“23:00准时断电”,有两种主流方案,推荐方案一
方案一:云端定时“砍单”不需要你自己写代码维护服务器,直接在芯步的后台或者你对接的小程序后台设置一个定时任务。
适用场景: 每天固定的休息时间(如凌晨2点全店打烊)。
操作逻辑: 在后台设置一个 Cron 表达式或者直接选时间。到了晚上23:59,系统自动调用接口,给这个包间的设备下发
{"power2":0}指令。
方案二:订单结束时触发这是最常用的共享空间模式。用户在小程序点“结束订单”,或者系统检测到余额不足/时间归零,你的业务服务器瞬间调用接口断电。
三、 关键代码逻辑:怎么跟设备“说话”?
芯步的接口是 HTTP 的,非常简单,只要能发网络请求就能控制。这里要注意签名算法,很多新手在这一步会踩坑。
1. 准备工作(拿钥匙)你需要从芯步工作台拿到三个东西:
AppID:你的“账号ID”。AppSecret:你的“密码”,不要写在代码里给前端看。Device ID:这个MINI盒子底部的ID,或者是配网后生成的ID。
2. 核心难点:签名(Sign)计算每次发命令,都要带一个动态的 sign,防止别人伪造指令。公式是:YourSign = md5( md5(AppSecret) + ts )
简单来说:先把你的密码进行一次MD5加密,然后拼接上当前的时间戳,再把拼接后的字符串整体做一次MD5。
3. 请求实操(定时关闭电源)
假设现在是晚上11点,客人没续费,你要关闭第2路(麻将机)和第1路(照明),只留空调和门锁。
请求地址:https://api.thingboot.com/{你的AppID}/device/control/
请求方式: POST
请求体 (JSON):
4. 进阶玩法:优雅的“关灯”提示如果你的设备是带 TTS(语音播报) 功能的版本,关电前吓客人一跳体验不好,你可以先发一条语音:
四、 避坑指南
根据实际工程经验,这里有三个常见的坑,提前帮你规避:
门禁锁(第3路)千万别设自动断电!
后果: 电磁锁一断电,门就开了。如果客人正在换衣服或者贵重物品还在里面,门突然开了会引发严重的投诉和安全问题。
门锁只做“远程开门”和“强制清场开门”。定时断电脚本里,删除掉
power3的指令。
空调(第4路)要不要断电?
不要立刻断电。如果包间是中央空调,通过API查询该房间的风机盘管状态,或者干脆不管空调。因为麻将停了,客人自然就走了,空调多转几分钟电费成本不高,但能给客人留个好印象。如果必须断,先发红外码关空调,再断继电器。
网络波动导致“没断掉”怎么办?
芯步接口返回
code 200只代表指令发出,不代表设备执行。如果当时WiFi不好,可能没断掉。优化方案: 你的业务系统不要只发一次指令。可以写一个 “状态巡检” 。比如客人超时5分钟后,每隔1分钟发一次
{"power2":0}指令,连发三次,确保万无一失。
五、 总结
接入这套系统,你实际上是在做三件事:
接线:麻将机插第2路,照明插第1路,门锁插第3路。
关联:在数据库里把“包间A”和“设备ID:123456”绑定。
触发:在订单结束的回调函数里,调用上面的HTTP接口,把对应路数的参数设为0。
搞定这三点,你的共享空间就能实现全自动的“到点断电”了。