针对“共享茶室包间预约联动”,这里有一份将芯步智能8路控制器对接到你现有软件项目的实战方案。
核心思路:把“物理开关”抽象成“API接口”
把那个 8 路控制器想象成一个联网的“电闸”。你的软件项目(小程序/后台)要做的事,就是通过 HTTP 请求告诉这个“电闸”:第 1 路通电,第 7 路断电。
芯步的硬件接口非常标准,只要是支持 HTTP 请求的编程语言(Java, PHP, Python, Go, Node.js 等)都能轻松对接 。整套流程其实就是 “用户操作 -> 软件逻辑 -> 设备指令” 的转换。
第一部分:准备工作
硬件确认:确保你采购的是 智能 8 路包间控制器(型号通常是 UNI-KZQ-BJ-MAX)。
接线定路:你需要约定好每一路控制什么。例如:
第 1 路:总照明
第 4 路:麻将机/茶几电源
第 7 路门禁电磁锁(这个最关键,控制开门)
第 8 路:空调
语音提醒:如果买的带 TTS 版本,还能播报“欢迎光临”或“时间快到了”的语音 。
拿到钥匙:登录芯步后台,拿到三样东西:
AppID:你的应用身份标识。
AppSecret:你的应用密码,用来加密请求的,千万别泄露在前端代码里。
Device ID:每个包间里那个控制器的唯一编号,贴在外壳上或者后台能查到 。
第二部分:关键对接动作(代码逻辑篇)
这里我们不贴大段的完整代码,我就跟你讲讲 “怎么调”,你让开发人员看这一段就懂了。
1. 签名机制(防别人乱控制你的设备)
为了防止有人伪造请求乱拉你茶室的电闸,芯步用的是 Sign(签名) 机制。公式很简单
Step 1:先把
AppSecret做一次 MD5 加密,得到字符串S1。Step 2:获取当前的 Unix 时间戳(比如 1712134567)
Ts。Step 3:把
S1和Ts拼起来,再做一次 MD5,这就是你的签名Sign。
发给开发人员的话:注意,时间戳一定要动态生成,过期时间很短,这是为了安全。
2. 核心动作一:开门(控制门锁)
场景:用户在小程序点了“开门”,包间还没开始计费,或者用户续费成功了。你要做的事:发送指令让 第 7 路(假设接了门磁)通电 5 秒,然后断开。
请求地址
https://api.thingboot.com/{你的AppID}/device/control/?sign={动态签名}&ts={时间戳}请求方式:POST
请求体 (Body)
解释:如果是电插锁,通电(开锁)5秒后自动断电,电磁锁会自动吸回,这时候门就能推开了,而且锁不会一直通电发热 。
3. 核心动作二:开始计费(通电)
场景:用户支付成功,订单状态变为“使用中”。你要做的事:开启除了门禁以外的所有电器。
请求体 (Body)
补充:如果想直接全开除了门禁以外的所有路,可以用
{"power":1},但为了灵活,指定路数 。
4. 核心动作三:结束计费(断电 & 保洁)
场景:用户点击“退场”或者系统检测到时间到了自动退场。逻辑链路断电 -> 房间变暗/没电 -> 自动上锁 -> 推送保洁。
第一步(断电)
注意:这里不要关第 7 路(门锁),如果全关把门锁的电也断了,门就常开了或者打不开了。第 7 路单独线路,或者全关时排除第 7 路(使用 batch 指定 1,4,5,8 关就行)。
第二步(保洁状态):硬件关电了,你的软件系统里要把这个包间的状态标记为“待打扫”。这时候虽然屋里没电,但软件逻辑要锁定房间,不允许新用户马上预约,直到保洁员确认打扫完成。
第三部分:一次完整的“实战流程剧本”
假设现在有个客人小张想预订 “听雨轩” 包间下午 2-4 点。
小程序下单:小张付了 2 小时的钱。
软件系统处理:你的后端收到支付回调,状态机流转。
到点开门
2 点到了。你的后端自动调用上面的 “开门动作”。
第