芯步智能包间控制器提供开放的HTTP API,支持独立控制8路电器、批量操作及延时联动。以下是二次开发实现自定义联动操作的完整方案,包含设计、接口调用、场景示例和代码实现。
一、 核心思路与架构
要实现“自定义联动操作”,核心逻辑是解耦与事件驱动。你无法(也不)在硬件设备内部编写复杂的业务逻辑,而是应该利用芯步开放的API,构建一个独立的业务后端或自动化引擎。
系统架构拓扑:
设备层:8路智能包间控制器(执行端) + 各类传感器(触发端,如人体传感器、门磁)。
接口层:芯步开放的 HTTP API(
https://api.thingboot.com)。逻辑层:你的自建服务器(或云函数/SaaS)。这是二次开发的核心,负责接收事件、判断逻辑、下发指令。
工作流程:
触发:用户扫码支付/前台点击开单 -> 你的系统发起请求。
执行:你的后端调用控制器API -> 第X路通电(麻将机升起/灯光亮起)。
反馈:传感器检测到无人 -> 回调你的服务器 -> 你的服务器判断延时 -> 调用API关闭总电源。
二、 二次开发前置准备
在开始编码前,需要在芯步开放平台完成以下准备:
获取凭证
AppID:应用的唯一标识。
AppSecret:用于签名计算的密钥。
Device ID:包间内对应的8路控制器设备ID。
签名计算机制芯步的API通常使用动态签名验证,防止接口被恶意篡改。
公式
sign = md5( md5(AppSecret) + ts )其中
ts为当前Unix时间戳。这对二次开发很友好,意味着你可以轻松地在代码中封装这个逻辑。
三、 关键接口与命令详解
芯步的设备接口文档显示,该控制器支持多种命令模式。二次开发时,主要利用以下三种接口实现“自定义联动”:
1. 单路独立控制
这是最基础的联动,用于根据业务状态单独开关某一设备。
场景:用户点击“开灯”,只开第1路。
命令示例
对应电器:power1开灯,power4开饮水机,power8开空调。
2. 批量控制此命令是实现“场景模式”的关键,一次性定义多路电器的状态。
场景:“营业模式”一键开启:关掉电磁锁(power7断电锁门?注意逻辑:通常是通电开锁还是断电开锁),打开空调、灯光、排风。
命令示例
3. 时序控制
这是实现“自定义联动操作”的高级功能,用于保护设备或实现自动化流程。
先通后断:适合麻将机。用户下单,先通电(麻将机升起);用户离开现场时断电前,先断电再上电(复位)?
先断后通:适合复位某些带保护电路的电器。
延时操作:这是联动核心。例如:检测到人离开10分钟后,自动关闭空调。
四、 自定义联动场景实战案例
假设场景:共享棋牌室 —— “一键上钟”与“无人自动断电”
第一种场景:用户下单成功,自动开启包间(“一键上钟”联动)
联动逻辑:支付成功 -> 解开门禁(Power7)-> 打开总照明(Power1)-> 打开麻将机(Power4)-> 顶灯亮起(Power2)。二次开发实现在你的支付回调接口中,加入调用芯步API的代码。
第二种场景:传感器联动(人走灯灭/断电)
联动逻辑:人体传感器检测到“无人”状态持续5分钟 -> 发送指令给控制器 -> 关闭除了冰箱/路由器外的所有电路。二次开发实现你需要搭建一个消息接收服务器(Webhook)来接收传感器的状态变化。
五、 代码实现示例(核心逻辑)
以下展示如何用后端语言实现对8路控制器的批量控制,这是二次开发中最常用的封装模式。
参考签名与请求格式,来源:芯步开放平台文档。
六、 进阶联动:TTS语音播报
如果你的控制器是 TTS版本,二次开发时还可以增加语音联动功能,提升客户体验。
场景:当管理员远程操作“警告”或“提醒”时,包间内自动播报。
命令
{“play”: “gbk:16”, “content”: “你好,您的时长即将结束,如需续费请扫码”}价值:将业务系统与硬件播报打通,无需服务员敲门提醒。
七、 总结与
通过对芯步8路包间控制器的二次开发,你可以实现:
去中心化管理:所有的自定义逻辑(如“如果A开则B关”、“延时10分钟断电”)都运行在你自己可控的服务器上,不再受限于简单的定时任务。
复杂的场景联动:结合传感器数据(温湿度、人体雷达),通过你编写的代码实现真正的“智能化”,如“温度高于30度且有人时,自动开启空调(第8路)”。
开发
在开发初期,可以在芯步控制台开启“调试模式”,该模式下会忽略签名校验,方便你快速验证业务逻辑。
封装一个统一的设备服务层,将8路电器的物理控制(开关)与你的业务动作(如:办理入住、清理房间、紧急呼叫)解耦,这样即使未来更换硬件,也只需修改底层API调用。