芯步的智能包间控制器用的是标准HTTP接口,任何语言都能调,核心就是往设备发指令。下面直接说怎么对接、代码怎么写、以及电竞酒店最常见的联动场景怎么做。
一、 核心思路:把硬件当成“网站”来调
芯步的开放接口非常标准,就是简单的 HTTP/HTTPS 请求。这意味着不管你后端用的是 Java、Python、PHP,还是前端写微信小程序、Vue,甚至是那种老旧的桌面 C# 软件,只要它能发网络请求,就能控制硬件。
说白了,不需要你懂嵌入式开发,把它当成调用“高德地图API”或者“微信支付API”就完事了。
这里有两个关键点需要注意:
设备联网:这个8路控制器是走 WiFi 2.4G 的,不需要买网关,插上电配好网就行。
私有化部署:如果你店里网络环境比较封闭,不想走外网,它也支持本地局域网控制,延迟更低更安全。
二、 动手干活:怎么把指令发到设备上?
我们以一个最常用的动作为例:“客人下机,远程关闭包间内所有电器(灯、空调、电脑电源)”。
第一步:准备工作
在芯步的后台,你需要拿到三样东西:
AppID: 你的应用ID。
AppSecret: 你的应用密钥(相当于密码,千万别放前端)。
Device ID: 贴在硬件上的那一串数字,就是你要控制的那个包间的“8路控制器”的身份证。
第二步:算签名
为了安全,发指令前需要算一个 sign(签名)。芯步的规则其实不复杂:
签名 = MD5( MD5(AppSecret) + 当前时间戳 )
简单来说,就是把你的密钥 MD5加密一次,然后拼上当前的时间戳,再整体 MD5加密一次。
第三步:发指令
请求地址:https://api.thingboot.com/{你的AppID}/device/control/?sign={你的签名}&ts={当前时间戳}
请求体 (Body):我们要关掉所有设备,可以发送这样一个 JSON 数据(这里用批量关机的例子):
三、 代码实现(直接拿去改)
以最通用的 Java 为例(用 OkHttp 库),你只需要修改注释里的几个参数即可
关于“通断器”指令的补充说明:如果你买的是 智能包间控制器|Max,它里面有8路继电器。
你只需要把灯、电脑、空调的火线分别接在线路1、2、3上。
控制代码里,
power1就是控制线路1的通断,power2控制线路2,非常简单。
四、 实战联动:电竞酒店包间的“一键场景”
把代码逻辑搞通之后,我们来看看怎么和业务软件结合。
第一种场景:客人小程序下单,“自动通电”
需求:客人在小程序上订了“5人开黑包间3小时”,付完钱,包间自动通电开空调。逻辑
支付回调:软件后台收到微信/支付宝支付成功的回调。
查库:查出这个订单是“包间A”。
调接口:调用上面的代码,发送
{"batch":{"power":1}}(全开指令)。顺便开空调:如果空调接在第8路(30A大功率接口),你也可以发
{"power8":"1"},或者直接全开。
第二种场景:客人点击“我要续钟”,加时不用跑前台
需求:电脑屏幕上弹窗,点一下续费1小时,房间不断电。逻辑
电脑上的网吧计费软件触发续费事件。
你可以在后台逻辑里不做任何硬件操作(因为电一直通着),或者刷新一下定时任务的时间。
第三种场景:时间到自动断电,防蹭玩
需求:上机时间到了,电脑直接黑屏关机,灯灭了。逻辑
计费系统时间归零。
后台自动调用
{"batch":{"power":0}}(全关指令)。关键点:这个控制器是物理断开的,相当于直接拔插头。无论是重启、改Bios,都无法绕过,必须扫码续费才能来电。
场景四:保洁模式 / 待机模式
需求:客人退了,保洁阿姨进去打扫,得有灯,但电脑不能开机。逻辑
一键分离:软件上做一个“保洁模式”按钮。
调用指令
开照明(例如
power1= 1)关电脑插座(例如
power2= 0)关空调(
power8= 0)
保洁完,点击“空闲”,直接全关。
五、 踩坑与避坑指南
关于空调一般的8路控制器只有最后一路(第8路)能接大功率空调(30A),前面几路通常是10A或16A。千万不要把空调插在普通插座口上,不然继电器可能会粘连,导致关不掉或者起火风险。
反馈机制(重要!)上面的代码请求返回
code:200,只代表“平台收到指令了”,不代表“灯真的亮了”。如果设备断网了,你发指令,接口也会返回200(因为平台收到了),但设备执行不了。:如果你的软件对可靠性要求比较高,需要监听设备的“上行消息”,也就是设备执行后会回复一条“我亮了”的消息。TTS语音播报如果买了带TTS版的控制器,可以在客人开机时播报一段语音,比如“欢迎来到XX电竞酒店,祝您超神”,体验感拉满。
总结
这套方案的核心就是把硬件对接简化成了一次 HTTP POST 请求。
后端要做的:封装一个工具类,专门负责往
api.thingboot.com发指令。前端要做的:点按钮 -> 调后端接口 -> 后端发指令 -> 房间反应。