CATALOG

这篇方案将围绕芯步8路控制器的开放接口,阐述如何将多个分散的“关灯、关空调、开排风、设定门牌”等动作打包成一个“一键切换”的清洁模式。核心思路是定义标准化的场景模板,并利用HTTP接口完成设备状态的同步切换。

解决方案:基于芯步开放接口实现包间清洁模式一键切换

一、 背景与需求

在KTV、棋牌室、包间餐厅等场景中,清洁人员在打扫包间时,通常需要进行一系列繁琐的操作:关闭灯光效果、关闭空调、打开排风扇、将门口显示屏切换为“打扫中”/“已清洁”状态

传统的操作方式需要逐个点击或遥控,效率低下且容易遗漏。芯步的“8路智能包间控制器”(UNI-KZQ-BJ)提供了通用的IO接口,通过对其开放接口的二次开发,可以将上述复杂流程整合为一个逻辑开关,实现物理按键一键切换或手机端一键打扫。

二、 技术原理与架构

本次二次开发的核心在于利用芯步开放的 HTTP API 接口,将业务逻辑(清洁模式)映射为设备指令(通断信号)。

  • 硬件层:8路智能包间控制器。每个继电器相当于一个“虚拟手指”,负责接通或断开对应设备的电源,或者向门显发送短路信号。

  • 接口层:芯步开放平台。提供 向设备下发指令 接口,接收第三方软件的指令

  • 业务层:自有的PMS(包间管理系统)或小程序后台。负责逻辑判断——当前点击是“营业模式”还是“清洁模式”。

工作流程

  1. 触发:保洁员点击手机APP上的“打扫完成”按钮,或按下包间内的物理清洁开关。

  2. 调用:后台服务器调用芯步API,向指定的8路控制器发送特定的 order 指令。

  3. 执行:控制器接收到指令,通过继电器的不同通断组合(例如:第1路断、第2路断、第3路通...),完成灯光、空调、排风、门显的切换。

三、 二次开发核心步骤

1. 硬件接线与规划(定义8路逻辑)

首先,需要对8路控制器的每一路进行物理定义,这是软件编程的逻辑基础。规划如下:

线路编号连接设备清洁模式目标状态营业模式目标状态
第1路主照明(射灯/水晶灯)断开(关)闭合(开)
第2路氛围灯带断开(关)闭合(开,若是常亮)
第3路排气扇闭合(开)断开(关)
第4路空调内机电源断开(强制关)闭合(允许开启)
第5路门头显示屏电源闭合(通电)断开
第6路服务灯(清理/呼叫)闭合(请即清理)断开
第7路备用/香薰机闭合断开
第8路备用/新风机闭合断开

注:对于门头显示屏,若需要通过协议显示不同文字,需对接串口服务器;若仅需清空或点亮屏幕,直接控制电源即可。

2. 接口对接与环境配置

芯步接口支持HTTP请求,兼容任何主流后端语言(Java, Python, PHP, Node.js等)

  • 接口地址https://api.thingboot.com/{AppID}/device/control/

  • 认证方式:签名机制(Sign),用于确保请求安全,防止非法控制。

    • 需要从控制台获取 AppIDAppSecret

    • 签名算法Sign = md5(md5(AppSecret) + ts)(具体请参照官方最新的签名文档)

3. 编写清洁模式切换逻辑

在实际代码中,我们不需要每次都去写“关灯、关空调、开排风”这一长串指令,而是通过调用API一次性下发order对象即可。

由于芯步支持在一次请求中直接面向单个设备下发多个参数(即多路控制),这是实现“一键切换”的关键 。我们只需要定义两个核心函数:

  • 函数 A:进入清洁模式

    • 目的:设备状态复位,准备打扫。

    • 指令集

      • power1=0 (关主灯)

      • power2=0 (关氛围灯)

      • power4=0 (关空调)

      • power3=1 (开排风)

      • power5=1 (开门显电源,显示“清洁中”或“空房”)

    • API 请求示例 (JSON)

  • 函数 B:退出清洁模式 / 进入迎宾模式

    • 目的:客人入座,恢复供电。

    • 指令集

      • power1=1 (开主灯)

      • power2=1 (开氛围灯)

      • power3=0 (关排风,减少噪音)

      • power4=1 (空调通电,允许遥控开启)

      • power5=0 (关屏幕电源或切换画面)

    • API 请求示例 (JSON)

4. 前端集成(UI界面设计)

在包间管理系统或服务员手持PDA上,增加一个显眼的滑动开关按钮组

  • 状态 A(红色/灰色)清洁模式 / 打扫中

    • 说明:点击后设备进入打扫状态,灯光全灭,排风开启,门头显示“打扫”。

  • 状态 B(绿色/高亮)营业模式 / 使用中

    • 说明:点击后设备恢复供电,灯光全亮或待机,关闭排风,门头显示“欢迎光临”。

高级脚本示例对于需要延时操作的场景(例如点按一下控制器,让排风扇运行30分钟后自动关闭),可以不在控制器端实现(硬件不一定支持定时),而是在云端API调用逻辑中实现:调用清洁模式后,服务器记录时间,30分钟后自动调用一次API,将 power3 设为 0。

四、 典型场景流程图

  1. 客人离店

    • 前台在系统点击“清台/打扫”。

    • 系统自动执行:调用API → 8路控制器执行关闭空调、关闭所有灯光。

    • 保洁员进入:此时包间只有微弱的地脚灯或排风声音(安全且节能)。

  2. 打扫完成

    • 保洁员使用手机或包间内的物理按键(第6路外接)触发“清洁完成”。

    • 系统自动执行:门头灯显示“已清洁,空闲”。

  3. 新客人入座

    • 前台开台,点击“开台/迎宾”。

    • 系统自动执行:调用API → 8路控制器执行打开空调、打开装饰灯、门头显示切换为“正在欢唱/用餐”。

五、 注意事项与最佳实践

  1. 区分“物联卡”与“直连”芯步的控制器通常走 WiFi 2.4G 直连网络。请一定要确保包间内的WiFi信号覆盖良好,否则会出现指令下发成功但设备未响应的异步错误。为每个控制器静态分配IP或在路由器中固定IP。

  2. 状态同步机制API接口返回 code: 200 仅代表指令下达成功,不代表继电器实际吸合

    • 解决方案:如果需要严格的状态反馈,在控制器旁边并联一个传感器,或者使用芯步的消息推送功能(订阅设备上下线或属性上报),以确认设备确实执行了切换。

  3. 接口调用机制在编写切换逻辑时,采用“直接赋值”的方式(如 power1=0)而不是“切换翻转”的方式(如 toggle)。因为如果网络抖动导致重复请求,直接赋值 0 依然是 0,不会错误地打开灯光。

  4. 安全隔离8路控制器控制的是强电(220V),二次开发调试时,请请一定要注意用电安全,严禁在潮湿环境下带电操作。将控制器安装在弱电井或独立配电箱中,包间内仅留弱电控制面板。

通过以上方案,利用芯步标准的HTTP接口进行简单的逻辑封装,即可快速完成“包间清洁模式”的一键切换改造,显著提升翻台效率和能源管理效率。