芯步的智能包间控制器系列(Max/Mini)均开放了 HTTP API 接口,支持远程控制继电器(开关电源)和 TTS 语音播报。基于这套接口,你可以通过“一键切换”实现:关闭所有服务电器(麻将机、空调)、开启清洁专用设备(排气扇、消毒灯)、播报状态语音。
解决方案:基于芯步API的包间清洁模式一键切换系统
1. 系统架构与核心逻辑
本方案利用芯步开放接口,通过二次开发搭建一个轻量级的中控服务,将包间内的物理按钮触发电信号转化为预设的场景指令。
触发层:利用控制器自带的IO口接入物理复位开关(或通过屏幕UI按钮)。
逻辑层:本地服务器或云函数接收触发信号,执行预设的清洁模式指令集。
设备层:智能包间控制器(Max/Mini)执行继电器通断,并驱动TTS语音播报。
2. 设备选型与接口定义
根据需求,推荐选用 芯步 智能包间控制器 Max (TTS版)。
关键接口能力分析
多路继电器控制:拥有8路独立输出,可分别控制麻将机、空调、照明、排风扇、消毒灯等。
命令示例
{"power3":0}(关闭第3路设备)
语音播报 (TTS):支持HTTP接口直接推送文本进行播报。
命令示例
{"play:gbk:16":"开始清洁模式,已为您关闭麻将机电源"}[citation:1][citation:5]
事件监听 (上行):控制器IO口接入物理按钮按下时,设备会向平台上报事件,这是“一键切换”的触发源。
3. 二次开发步骤详解
第一步:物理接线与触发配置(“一键”的来源)
将包间原有的“呼叫/清洁”物理复位开关,接入控制器的 IO口(如IN1)。
逻辑:当保洁人员按下物理按钮,控制器会向平台发送一条IO口电平变化的消息。
二次开发对接:你需要在芯步控制台设置 “消息推送URL” 。当按钮按下,平台会立即将事件转发给你的服务器。
服务器接收到的上行报文示例
第二步:核心场景代码实现(清洁模式逻辑)
在接收到IO触发信号后,你的服务器需要执行两个核心动作:执行继电器动作 和 触发语音播报。
以下为核心逻辑伪代码实现(以Python/Node.js为例):
第三步:关键API接口调试细节
为了实现“迷你”和“稳定”的切换,请注意以下技术细节:
| 关键点 | 技术规范与 | 说明 |
|---|---|---|
| 字符编码 | 中文需转GBK/Hex | 语音播报命令{"play:gbk:16":"你好"}在局域网私有化模式下,需将“你好”转为16进制c4e3bac3。 |
| 签名机制 | 双重MD5加密 | 顺序:MD5(AppSecret) → 拼接时间戳 → 再次MD5。这是防止接口被恶意攻击的基础。 |
| 私有化部署 | 局域网直连 | 若包间内网稳定,可采用局域网IP直连(http://设备IP/control),响应更快且断网可用。 |
4. 场景流程演示
sequenceDiagram
participant User as 保洁员
participant Button as 物理复位开关
participant Device as 包间控制器(Max)
participant Cloud as 芯步云/本地服务器
participant App as 管理后台
User->>Button: 1. 清洁完毕,按下按钮
Button->>Device: 2. IO口触发
Device->>Cloud: 3. 上报设备事件 (in1=1)
Cloud->>App: 4. Webhook/回调 推送事件
App->>App: 5. 逻辑处理:识别为"清洁模式"
App->>Cloud: 6. API调用:下发指令集
Note over App,Cloud: 指令包含:关空调/麻将机,开排风,语音播报
Cloud->>Device: 7. 指令下发
Device->>Device: 8. 执行继电器动作 & 播放TTS
Device-->>User: 9. 语音提示:"已切换至清洁模式"5. 优化
防抖动与状态锁:在代码中增加Redis缓存锁,防止保洁员连续误触按钮导致短时间内重复执行命令,也可以避免电器频繁启动损坏。
远程可视化:二次开发不仅限于按钮触发,还可以开发一个简单的管理后台,通过调用
/device/control/接口,让前台电脑也能远程一键切换模式。定时自动复位:在清洁模式开启后,可以结合接口设置一个定时任务(例如30分钟后自动关闭消毒灯并切回待机模式),避免资源浪费。
通过上述开发,你可以将标准的工业控制器转化为一套专门针对包间清洁流程的专用智能设备。