这是一个偏实战的解决方案,我会结合芯步8路控制器的硬件特性(可独立控制8个回路)和HTTP开放式接口,重点讲清楚“消费开始通电、时间结束断电”的逻辑。
一、 为什么要搞“电源联动”?
开共享棋牌室、茶室或影音房的朋友应该深有体会:最大的成本浪费就是人走电没断。
客户提前走了,空调开到16度冻得人发抖,麻将机还在底下发热;或者时间到了客户赖着不走,还需要服务员敲门催。这不仅费电,体验还差。
我们要达到的效果很简单:客户在小程序下单 -> 自动通电(灯、麻将机、空调) -> 时间耗尽 -> 自动断电(顺便把门锁释放,让新客户进来)。
正好,芯步的这款8路智能控制器(应该是Max版本)就是为了这个场景设计的。
二、 硬件选型与接线
既然是要控制整个包间,首先得把“电”分好类。这款8路控制器支持独立控制8个回路,我们可以把包间里的东西分分类:
1-3路(10A开关): 接照明灯、换气扇、排气扇这些小功率设备。4-6路(16A插座): 接麻将机、饮水机、烧水壶、电视。第7路(10A门禁): 接门锁(电磁锁/电插锁)。这里很重要,电锁要接常闭模式,通电就锁门,断电就能拉开。第8路(30A大功率): 专门接2匹的空调,大功率电器必须走这路,安全第一。
接线小提示:控制器需要接5V2A供电(配的有电源),WiFi天线要拧紧。把控制器的输出端串联进对应电器的火线就行。找电工师傅半小时就能搞定一个房间。
三、 核心思路:怎么判断“消费时长”?
我们的软件(小程序/后台)需要做一件事:计时。硬件只负责执行命令。这套逻辑其实很简单:
客户下单(支付成功)记下当前时间,算好结束时间(比如 14:00 - 16:00)。——> 触发指令:发一个HTTP请求告诉设备“把1-6路和8路都给我打开”。——> 门禁处理:为了保证安全,门锁(第7路)要保持通电锁门状态,只要不超时,不让外人进。
时间消耗中什么都不用干,硬件自己在那运行。
时间到(还剩1分钟)——> 触发指令:发请求控制第8路(空调)关闭。先关空调能帮老板省不少电费,客人还没那么反感。——> 触发指令:语音播报提醒“您的消费时间已到”。
时间彻底归零——> 触发指令:发请求把1-6路(麻将机、灯)全关了。——> 门禁处理:发请求把第7路断开。门锁一断电,门就自动弹开了,方便保洁进去打扫。
四、 动手搞技术:怎么用HTTP接口调通?
芯步的接口比较开放,不需要复杂的SDK,直接发HTTP请求就行。
你需要先拿到三个东西(登录芯步后台就能找到):
AppID:你的应用ID
AppSecret:你的密钥(要藏好)
Device ID:贴在设备上的那一串数字
第一步:算签名
它家接口安全要求高一点,每次发指令都要算签名。规则是:sign = md5( md5(AppSecret) + ts )。
简单写个代码逻辑(伪代码):
第二步:下发命令
我们需要往Body里塞JSON数据。
场景A:客户下单,新订单开始我们要把除了门锁(第7路)以外的都打开:device 填你的设备ID。order 我们要下发“全开”指令,但小心别把门锁也重置了。其实可以用批量控制,或者直接发:
或者用偷懒写法(全开):{“batch”:{“power”:1}}但千万小心第7路门锁如果设置成了常闭,全开是断电开锁,那就锁不上了,要根据接线方式来。 通常把所有线路都控制一遍。
场景B:时间结束,离开现场时断电我们要把除了门锁(第7路)以外的全关了:
第三步:异常处理(比如客户续费了)
客户在手机上点“续费1小时”。你的系统后台收到支付回调。操作: 延长服务器里的结束时间变量。动作:不用发任何指令。因为电本来就是通着的。唯一要做的是,如果刚才空调因为快到点被关了,客户续费了,需要再发一条 {“power8”: 1} 把空调重新打开。
五、 一个进阶小技巧
芯步的设备支持 “先通后断”和 “先断后通” 的模式。
先断后通 (reset):这个功能可以用来“重启路由器”或者“重启麻将机”。如果客人说麻将机死机了,你可以后台点一下按钮,给对应插座发送一个指令:先断开2秒,再自动接通。不用师傅跑腿,客人体验还好。
六、 总结一下这个方案
硬件层面:一个包间塞一个8路控制器,把灯、麻将机、空调、门锁分别接在不同回路上。
网络层面:设备连WiFi(仅支持2.4G,别连5G信号)。
软件层面
调用
api.thingboot.com的接口。注意签名算法
md5(md5(secret)+ts)。用
power1到power8作为参数名去控制。
联动逻辑:订单计时器归零 -> 发送断电指令 -> 发送门锁指令。
如果你是做共享棋牌室SaaS的,这套流程可以直接封装成函数。芯步的接口文档写得还算清楚,直接对着调就行。如果调试不通,记得先检查签名(很多报错5006都是签名算错了)或者检查设备ID是不是复制多了空格。