CATALOG

基于芯步智能包间控制器Mini的开放接口,以下方案详细说明如何通过HTTP API调用和定时任务引擎,实现门店包间电器的自动化定时控制。

1. 产品概述与核心能力

智能包间控制器Mini是芯步专为服务型门店(如棋牌室、茶室、剧本杀包间、舞蹈室等)设计的4路电器管理设备。该设备通过WiFi直连网络,无需额外网关,且开放完整的HTTP API接口,支持开发者或系统集成商将其无缝接入自有SaaS系统

在定时任务场景下,该解决方案的核心能力如下:

  • 四路独立控制:4路继电器分别对应照明、插座、门锁、空调等设备,可独立设置定时任务

  • 双向通信机制:既支持云端定时“下发”指令,也支持设备本地计时(断网后可执行部分预设任务,视固件版本而定)。

  • 实时状态反馈:通过API查询设备状态或接收设备上报消息,确保定时任务执行结果可知。

2. 接口鉴权机制

所有针对控制器的操作(包括控制、查询、定时设置)都需要通过HTTP请求携带签名,以保证API调用安全。

签名计算规则

在调用任何接口前,需要准备 AppIDAppSecret(在芯步控制台获取)。

  • Sign算法md5( md5(AppSecret) + ts )

  • 参数说明

    • AppSecret:开发者密码(先进行一次MD5加密)。

    • ts:当前Unix时间戳(秒,10位数字)

示例:计算Sign

假设 AppSecret 为 abc123,当前时间戳 ts1712736000

  1. 先计算 md5(abc123) -> 假设结果为 xxx

  2. 拼接字符串 xxx1712736000

  3. 再计算一次MD5得到最终的Sign。

3. 实现定时任务的架构方案

由于该设备为“被动控制”设备(即服务器下发指令它才动作),要实现“定时任务”,需要依靠云端服务器本地局域网服务器作为调度中心。

推荐架构:业务系统 + 芯步云API + 定时任务引擎在此架构下,您不需要修改设备固件,只需在您的后台系统中集成调度逻辑。

3.1 方案一:云端定时任务(适用于无人值守场景)

适用场景:棋牌室、共享茶室,需要在固定时间(如凌晨0点)关闭所有包间总电源,或在预约开始前10分钟自动打开空调。

实现逻辑

  1. 创建定时任务表:在您的业务数据库中存储任务规则(如:每天20:00开启包间1的灯)。

  2. 调度引擎:使用Linux Crontab、Quartz或Node.js的node-schedule轮询数据库。

  3. 触发动作:时间到达时,调用芯步的/device/control/接口下发命令。

3.2 方案二:设备联动/倒计时任务(适用于即时场景)

适用场景:顾客扫码开门后,系统自动设定“2小时后关闭麻将机电源”或“30分钟后关闭空调”。

实现逻辑

  • 使用指令中的 resetpoint 命令,或由业务系统设置延迟队列(例如RabbitMQ延迟任务)来实现倒计时断电。

4. 核心接口调用实战

基于上述方案,以下是针对MINI控制器4路输出的具体API调用示例。

4.1 单路定时控制:开启空调(第4路)

需求:每周一至周五上午9:00,自动开启包间空调(接在第4路)。请求地址https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}Method:POSTContent-Type:application/json

4.2 批量控制与场景模式

需求:顾客开始订单时,执行“开场模式”(开灯、开空调、关门解锁)。请求参数

注意:如果电磁锁是断电开门类型,power3:1 表示锁门,0 表示开门

4.3 倒计时/临时任务(先通后断)

需求:顾客点了一首15分钟的歌,需要控制“氛围灯”在15分钟后自动熄灭。实现逻辑:调用设备内置的 point 指令(先通电,延时后断电)。请求参数

执行该命令后,第1路会立即接通,15分钟后自动断开

4.4 跨包间定时:使用分组接口

需求:凌晨2:00,强制关闭A区所有包间的所有电器。方案:在芯步控制台将“A区所有MINI控制器”加入分组(Group)。后台定时任务调用分组控制接口,一次命令控制所有设备,避免逐个发送请求的延迟。请求地址https://api.thingboot.com/{AppID}/group/control/

5. 语音播报与定时结合(TTS版本)

如果您选用的是 TTS版 控制器,还可以结合定时任务实现语音提醒功能场景:顾客预约时间快到了,或者包间还剩余5分钟使用时间。指令示例

注:play:gbk:16 中的16通常指音量或语速,具体参数需参考产品手册

6. 稳定性保障与最佳实践

6.1 执行确认机制

接口返回 {"code":200} 仅代表指令下发成功,不代表设备实际执行。为了保证定时任务的可靠性,采取以下措施:

  1. 查询状态:在定时任务执行后的几秒,调用 device/status/ 接口(如有)回读设备状态。

  2. 消息推送:在控制台配置“消息推送”URL,设备执行指令后会主动推送结果到您的服务器,确保定时任务闭环

6.2 断网重连机制

MINI控制器支持设定5组WiFi网络。在部署时,请一定要将门店的备用WiFi(如手机热点)配置进去。当主网络故障时,设备会自动切换,保证定时任务在网络恢复后仍能接收指令(注:若断网期间云端触发的定时任务无法送达,需设备上线后业务系统做补发逻辑)。

6.3 频率限制

接口调用有频率限制(单设备限制1次/秒)。在设计定时任务时,如果有批量操作多个包间的需求,请一定要利用“分组控制”接口,而不是在极短时间内循环调用单设备接口,以免触发限流导致部分任务失败。

7. 方案总结

通过芯步4路控制器Mini的开放API,集成定时任务主要分为三步:

  1. 设备接入:设备通电配网,记录设备ID。

  2. 系统开发:在您的后台系统中集成签名算法,编写针对 power1power4 的控制逻辑。

  3. 调度部署:部署一个定时服务(如Cron Job),根据门店运营时间表,定时触发API指令,实现全自动化的包间无人值守管理。

此方案无需对硬件进行二次开发,利用现有的HTTP接口即可实现高精度的自动化控制。