☕ La Marzocco 旋钮控制器

固件版本 v2.4.1  |  ESP32-S3  |  LVGL 8.4  |  360×360 圆形触屏

一、概述

La Marzocco 旋钮控制器是一款专为 La Marzocco 咖啡机(MICRA / MINI / GS3等型号)设计的智能圆形触屏旋钮控制面板。它通过 BLE 蓝牙云端 WebSocket 双通道与咖啡机通信,实现萃取参数设定、实时状态监控、萃取计时、预设管理等功能。

控制器内置 Wi-Fi 模块、Web 配置门户、触屏手势交互和旋钮编码器,无需手机 App 即可独立完成所有操作。

设计理念:云端权威数据(brewingStartTime、extractionSeconds)+ BLE 近场直连 + 旋钮直觉操作 = 专业咖啡师的最简工作流。

二、硬件规格

项目参数
主控芯片ESP32-S3
屏幕360×360 圆形 TFT(ST77916 驱动)
触控CST816S 电容触控(手势识别)
输入旋钮正交编码器 + 触觉反馈马达 + LED 光环
无线Wi-Fi 802.11 b/g/n(2.4GHz)+ BLE 5.0
存储16 MB Flash + 8 MB PSRAM
电源USB-C 供电,内置电池监控

三、UI 操作

3.1 屏幕布局

3.2 手势操作

屏幕手势操作
主屏幕左滑/右滑切换字段页面
主屏幕上滑打开 Web 设置门户
主屏幕下滑打开预设界面
预设界面上滑返回主屏幕
设置界面下滑返回主屏幕
设置界面长按进入隐藏恢复模式
计时器(STICKY)任意滑动退出计时器
计时器(CALCULATING)下滑强制退出计时器

3.3 旋钮操作

3.4 颜色体系

颜色用途
■ 琥珀金 #FFC685当前焦点标题、加热圆环、Wi-Fi/BLE 活跃、主按钮
■ 米白 #F4EFE7主数值文字
■ 暖灰 #B7A08B提示文字、不可用值、非活跃标题
■ 绿色 #73D073实时温度、萃取计时结果
■ 蓝色 #73C8FF缺水警报图标

四、字段详解

页面字段名显示范围步长通信
1冲煮锅炉92.0°C80.0–103.0°C0.1/0.5°CBLE + Cloud
2预浸泡开启1.0 s / OFF0.0–9.0 s0.1/0.5 sCloud
3预浸泡关闭2.0 s / OFF0.0–9.0 s0.1/0.5 sCloud
4蒸汽锅炉OFF / 1 / 2 / 34 档位BLE + Cloud
5机器状态开启 / 待机2 状态BLE + Cloud
6称重萃取剂量1/2/连续3 模式Cloud
7BBW 剂量 132.0 g5.0–100.0 g0.1 gCloud
8BBW 剂量 234.0 g5.0–100.0 g0.1 gCloud

* BBW 字段仅在云端报告机器支持称重萃取时显示

4.1 预浸泡 OFF 功能

当预浸泡开启和关闭均设为 0.0 s 时,逆时针旋到底即可触发 OFF 模式。UI 显示 "OFF",云端下发 Disabled 指令关闭预浸泡。顺时针旋转可从 OFF 恢复到步长值。

4.2 实时温度显示

在冲煮锅炉页面,设定值下方以绿色显示当前锅炉实际温度(如「实时温度 93.5°C」)。数据来源于 BLE 通信,BLE 离线时隐藏。

4.3 延迟发送机制

连续旋转调节温度、预浸泡时间、BBW 剂量时,系统不会每次旋转都发送指令,而是等待 800ms 无操作后一次性发送最终值。蒸汽档位和待机状态则立即发送。

五、预设系统

六、萃取计时器

萃取计时器默认关闭,需在 Web 门户中手动启用。

工作原理

七、加热显示

默认开启。当机器预热时:

可在 Web 门户中关闭此功能。

八、Wi-Fi 设置

九、云账户

十、Web 配置门户

分区功能
概览连接状态、局域网地址
控制器主机名、设备语言(中文/English/Deutsch)
网络Wi-Fi SSID/密码、扫描、连接
账户登录、机器列表、选择机器、BBW 配置
配方预设编辑、自定义名称
高级预设数量、温度步长、时间步长、加热显示、远程截图、萃取计时、管理员密码、系统操作
诊断只读连接状态和调试信息

十一、高级设置

设置项默认值说明
预设数量42–6 个,减少时需确认删除
温度步长0.1°C旋钮每格调节精度
时间步长0.1 s预浸泡时间调节精度
加热显示开启控制预热图标/圆环/ETA
远程截图关闭开启后可通过 /debug/screenshot.bmp 获取屏幕截图
萃取计时关闭开启萃取计时器功能
管理员密码设置局域网访问密码

十二、隐藏恢复模式

进入方式:主屏幕 → 上滑进入设置 → 长按设置卡片

十三、BLE 蓝牙连接

十四、多语言支持

十五、设计架构思维导图

La Marzocco 旋钮控制器 v2.4.1
├── 输入层
│   ├── 旋钮编码器(正交相位 + 触觉反馈 + LED 光环)
│   └── 触屏手势(滑动切换 / 长按恢复)
├── UI 层(LVGL 8.4)
│   ├── 主屏幕 × 8 页(温度 / 预浸泡×2 / 蒸汽 / 待机 / BBW×3)
│   ├── 预设浏览器(加载 / 保存)
│   ├── 设置界面(QR 码 / 恢复入口)
│   ├── 萃取计时器(CALCULATING → STICKY → HIDDEN)
│   ├── 加热显示(图标 + 环形进度条 + ETA 倒计时)
│   ├── 实时温度(绿色)
│   └── 连接状态图标栏(Wi-Fi / BLE / 加热 / 缺水 / USB / 电池)
├── 通信层
│   ├── BLE 直连(NimBLE 协议栈)
│   │   ├── 读:machineMode / boilers / tankStatus / smartStandBy
│   │   └── 写:温度 / 蒸汽 / 待机
│   ├── 云端 REST API
│   │   ├── 认证 / 机器列表 / Dashboard 快照
│   │   └── 预浸泡 / BBW 指令下发
│   └── 云端 WebSocket(STOMP 协议)
│       ├── Dashboard 实时推送
│       ├── 萃取事件(brewingStartTime / extractionSeconds)
│       └── 加热 ETA 更新
├── 业务逻辑层
│   ├── 本地值保护(旋转后 20s 内覆盖云端旧值)
│   ├── 延迟发送(连续旋转 800ms 停歇后一次性提交)
│   ├── 字段可编辑性判断(BLE 认证 / Cloud 在线)
│   └── 预浸泡 OFF 状态机(0.0+0.0 → OFF → CW 恢复)
├── 持久层(NVS)
│   ├── Wi-Fi 凭据 / 云账户 / 机器绑定
│   ├── 预设 × 6 槽位(名称 + 全部配方值)
│   └── 高级设置 / 自定义 Logo / 功能开关
└── Web 配置门户
    ├── 强制门户(Captive Portal 自动跳转)
    ├── 11 个功能分区(Wi-Fi / 云 / 配方 / 高级 / 诊断)
    └── 20+ 个 POST 路由处理器

十六、常见问题

Q: 屏幕中文显示不全或有方框?

当前固件使用原厂字体,部分生僻字回退至 16px 渲染。不影响常用文字显示。

Q: 萃取计时器不出现?

默认关闭。在 Web 门户 → 高级 → 萃取计时 中启用。需要 Wi-Fi 连接且已选择云端机器。

Q: 计时器显示 0s?

云端需收到萃取结束消息(lastFlush/lastCoffee)后才能显示结果。如果萃取过程中 WebSocket 断连,计时器会停留在「正在萃取...」直到连接恢复。

Q: 如何关闭预浸泡功能?

将预浸泡开启和关闭界面逆时针旋至 0.0 s,再逆时针一步即进入OFF/关闭状态。

Q: 如何恢复出厂设置?

Web 门户 → 高级 → 恢复出厂设置。或在设置界面长按进入隐藏恢复模式 → 重置网络。

Q: 如何获取控制器 Logo SVG 文件?

在线下载地址:https://mrvautin.com/content/images/2021/01/La-Marzocco-red-logo.svg

下载后通过 Web 门户上传至控制器即可替换屏幕顶部文字标志。