芯步的Mini控制器支持通过HTTP接口直接操作四路电器,但“重置包间状态”需要你自己做逻辑编排——说白了就是把所有线路都断开,顺便把门禁锁复位。下面说说具体怎么实现。
一、 我们先来捋一下“远程重置”到底要做什么?
在包间场景下(比如棋牌室、剧本杀包间、KTV),所谓的“重置设备状态”,通常意味着清除上一个顾客留下的所有痕迹,把房间恢复到待客状态。这包括:
关闭所有电器:关灯、关空调、关麻将机、关电视。
复位门禁:如果门是电磁锁控制的,通常重置意味着“断电开门”,方便保洁人员进入;或者根据你的逻辑设定为“保持锁闭但复位信号”。
清空临时状态:如果接了语音播报,可能还需要清除排队播放的语音。
核心思路:既然是“重置”,大部分情况下就是让第1、2、3、4路全部断电(或按需部分断电)。
二、 核心接口技术解析
芯步的这款Mini控制器开放的是标准的 HTTP API 接口。你的服务器(云端)或局域网内的本地服务器,通过发送HTTPS POST请求给物联网平台,平台再把指令下发给包间里的硬件。
1. 准备工作在芯步开发者后台拿到三样东西:
AppID:你的应用身份标识。
AppSecret:接口密钥,用来加密签名。
Device ID:贴在硬件上的那一串数字,或者是你在后台查到的设备编号。
2. 鉴权机制(搞懂签名)为了安全,发指令前需要加个“签名锁”,别怕麻烦,其实就是两步MD5运算:
公式
Sign = md5( md5(AppSecret) + ts )解释:先把你的密钥(AppSecret)进行MD5加密,得到一串字符串,然后把这串字符和当前的时间戳(ts)拼在一起,再整体做一次MD5。
注意:时间戳(ts)必须是秒数,且和你的服务器时间误差不能太大,否则接口会报错。
3. 核心请求示例假设你的设备ID是 123456789,你现在想把它全部关掉(重置),也就是让四个线路的power都等于0。
请求地址:https://api.thingboot.com/{你的AppID}/device/control/?sign={计算出的签名}&ts={当前时间戳}
请求方式:POST请求体 (Body) 格式:JSON
这段命令的意思是:把设备 123456789 的第1到第4路全部断开。这其实就是最简单的“重置”了 。
三、 怎么实现“一键重置”?
为了稍微友好一点,你可以在你的后台管理系统(比如商家端小程序或PC后台)封装一个重置按钮,我们来做一点简单的逻辑编排。
方案 A:最简单的全部断电(冷启动)这是最常用的方法,就像拉总闸一样。
逻辑:点击按钮 -> 调用上述API,所有线路
powerX设为0。应用场景:顾客超时离开现场时后,系统自动把所有设备关掉。
方案 B:“优雅”的重置(针对门禁)你提到的这个Mini模块第四路通常是接空调,第三路是门禁。如果是“重置包间状态”准备迎接新客,通常不需要把空调彻底断死(压缩机频繁启停容易坏),只需要关灯、关麻将机、复位门禁即可。
命令示例
关于门禁(第三路)在重置包间时,通常需要配合电磁锁开门,方便保洁进去打扫。这时需要用到 “先断后通” 功能。单纯的
"power3":0只是把门锁断电,门开了,但系统里这个开关依然是“关”的状态。如果你需要门锁在打开几秒后自动恢复“待上锁”状态,可以用reset或point命令。实际上,Mini模块支持更灵活的继电器控制。如果你希望按下重置按钮后,门锁断开5秒让人进去,然后自动恢复上电等待关门,可以用这种方式 。
四、 什么时候做“重置”?
纯粹的API调用是“手动挡”,要实现自动化“远程重置”,你需要把它嵌入到你的业务流里。芯步的API支持在命令里附带 extra 字段,你可以把订单号传进去,方便对账 。
业务逻辑联动:
订单结束触发在你的小程序系统里,设置一个定时任务。当用户的包间使用时间倒计时归零时(或者用户点击“退房”),系统自动调用上述接口,向对应的Mini控制器发送“全关”指令。
保洁完成确认这是一个进阶玩法。第一次重置只是关了电器。当保洁阿姨打扫完并在你的小程序点击“打扫完成”时,系统再次发送指令,这次发的是
{"power1":1}(打开排风扇或灯光),把房间状态设为“空闲可用”。
五、 几个避坑小贴士(口语化提醒)
关于局域网:如果你是做纯内网环境(比如没有外网的光纤),芯步这套也支持私有化部署。这种情况下,API请求地址就不是
api.thingboot.com了,而是你内网服务器的地址,延迟会更低,控制在几十毫秒 。关于异步消息:你发指令过去,接口返回200只代表“平台收到了”,不代表“设备已经执行了”。如果设备刚好掉线了(WiFi不稳定),你发重置指令它没收到怎么办?配置消息推送功能,让平台把执行结果回调给你的服务器,这样你才知道“哦,3号包间的空调确实没关掉”,然后在界面上提示管理员处理 。
批量操作:如果你开的是连锁店,半夜要统一打烊重置所有包间,
device参数是可以传多个ID的,用逗号隔开就行,不用循环发几百次请求 。
总结一下代码逻辑(伪代码视角)
如果你要写这个“重置包间”的函数,代码逻辑大概长这样:
通过这套组合拳,你就能利用芯步Mini控制器的开放能力,完美实现包间状态的远程重置了。