Commit Graph
7 Commits
Author SHA1 Message Date
kushidouandClaude Fable 5 9940db451f feat: 添加 GPIO 电平检测触发亮屏/息屏
新增 GPIOEventDetector 后台线程,以 50ms 间隔轮询 GPIO 引脚。
检测到电平变化时唤醒屏幕并启动 60 秒倒计时,到期无新变化则息屏。

- 添加 GPIOEventDetector 类,支持 RPi.GPIO 硬读取和 Mock 回退
- 集成到 PadSleepApp 主循环,GPIO 触发优先级高于定时亮屏时段
- TUI 状态面板新增 GPIO 行,显示引脚号和倒计时
- 支持通过配置文件调整引脚号(gpio_pin)和倒计时长度
- install.sh 修复:补装 rpi-lgpio 依赖

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 16:10:42 +08:00
kushidou da8ad4d17d 修复 install.sh create_wrapper 覆盖源文件的问题
旧版用 ln -sf 创建软链接指向 .py 文件,新版改用 cat 写入包装脚本时,
bash 重定向会跟随旧软链接,直接将包装脚本内容写入 .py 源文件。

修复: rm -f "$link" 先移除旧文件/链接再写入包装脚本
2026-07-10 20:44:37 +08:00
kushidou 5a75faf6fc 审计日志增加 ADB 连接/断开和设备 ID 记录
- is_ready(): 检测到 ADB 设备连接时记录串号和类型 (USB/无线)
- is_ready(): 设备断开时记录上次串号和断开原因
- connect_wireless(): 记录无线连接成功/失败
- disconnect_wireless(): 记录无线断开
2026-07-10 19:48:13 +08:00
kushidou e17d03cea9 集成 venv 方案: 安装脚本 + 服务文件适配虚拟环境
- install.sh: 创建 .venv、安装 adbutils、生成包装脚本使用 venv python
- padsleep.service: ExecStart 指向 .venv/bin/python3
- requirements.txt: 添加 venv 安装说明
- 解决 PEP 668 (externally-managed-environment) 问题
2026-07-10 19:45:50 +08:00
kushidou 36fe0bb4fd 合并远程变更: adbutils 改造 + 无线 ADB 支持 + TUI 优化
合并内容:
- 远程: adbutils 库替换 subprocess、无线 ADB 连接、TUI 闪烁修复
- 本地: 审计日志、命令执行后验证重试、安装脚本
- 合并后保留双方特性: adbutils + 审计日志 + 无线 ADB + 命令验证
2026-07-10 19:35:32 +08:00
kushidouandClaude Fable 5 458b67213f Phase 1: 守护程序、TUI配置工具、安装脚本
核心变更:
- padsleep.py: 完整重写,实现守护进程主循环
  - ConfigManager: JSON配置加载/保存/变更检测
  - TimeChecker: 亮屏时间段判断(支持跨天)
  - AdbManager: ADB操作封装,自动检测设备,命令后验证
  - AuditLogger: 审计日志,超50MB自动裁剪保留后10%
  - IpcServer: Unix Socket JSON协议IPC服务端
  - 自动恢复: 亮屏时段内检测到屏幕熄灭立即点亮
  - 外部状态检测: 记录用户手动开关屏事件
- padsleep_tui.py: curses TUI配置工具
  - 亮屏时间段增删改查
  - ADB设备列表查看/选择
  - 守护进程状态监控
  - 审计日志查看
- padsleep.service: systemd服务单元(路径自适应)
- install.sh: 安装到 /opt/apps/padsleep,自动设置权限

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 23:42:09 +08:00
kushidou 4d0db4c390 基本功能实现和验证 2026-07-09 23:13:48 +08:00