重构屏幕控制引擎 + 新增 Web 监控面板
- ScreenManager: 基于优先级(9/5/0)的统一屏幕控制引擎,替代 _tick 中的 散乱 if-else 逻辑 - 四个亮屏事件: scheduled(p9), sensor(p9), manual(p5), external(p0) - GPIO 回调: 电平变化立即触发亮屏(异步线程,不阻塞轮询) - _fast_check: 每秒轻量评估,提高息屏超时精度(±1s 替代 ±30s) - padsleep_web: 通过 IPC 读取守护进程状态的实时 Web 面板 (GPIO 电平/屏幕状态/ADB 连接,端口 31400) - padsleep-web.service: 关联 padsleep.service 的自启动服务 - install.sh: 修复 venv 初始化目录上下文,使用 requirements.txt - IpcClient: 修复 socket 复用导致交替失败的问题 - padsleep_tui: 适配 ScreenManager 状态显示 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
9940db451f
commit
e6fbe550bb
@@ -80,6 +80,24 @@ python padsleep_tui.py
|
||||
padsleep-config
|
||||
```
|
||||
|
||||
### 启动 Web 监控面板
|
||||
|
||||
```bash
|
||||
# 新终端窗口(需先启动守护进程)
|
||||
python padsleep_web.py
|
||||
|
||||
# 或使用安装后的命令行入口
|
||||
padsleep-web
|
||||
```
|
||||
|
||||
然后在浏览器打开 `http://树莓派IP:5000` 查看仪表盘。
|
||||
|
||||
Web 面板功能:
|
||||
- **GPIO 电平实时监控**:独立线程 50ms 轮询 GPIO 引脚,毫秒级变化展示
|
||||
- **守护进程状态**:屏幕状态、亮屏事件、ADB 连接、传感器触发等
|
||||
- **电平事件日志**:实时记录所有 GPIO 电平变化
|
||||
- **历史波形**:最近 40 次电平变化可视化
|
||||
|
||||
TUI 快捷键:
|
||||
|
||||
| 按键 | 功能 |
|
||||
@@ -212,6 +230,9 @@ GPIO 引脚号(BCM 编号)对照:
|
||||
padsleep_adb/
|
||||
├── padsleep.py # 守护程序主程序(含 GPIO 检测)
|
||||
├── padsleep_tui.py # TUI 管理工具
|
||||
├── padsleep_web.py # Web 监控面板(Flask + SocketIO)
|
||||
├── templates/
|
||||
│ └── index.html # Web 面板前端
|
||||
├── config.json # 配置文件
|
||||
├── requirements.txt # Python 依赖
|
||||
├── install.sh # 安装脚本
|
||||
|
||||
Reference in New Issue
Block a user