Files
padsleep_adb/README.md
T
kushidou 3dc30db3d6 更新 README 文档
- 完善功能特性说明
- 添加安装和使用指南
- 添加配置字段详细说明
- 添加无线 ADB 连接说明
- 添加 TUI 快捷键表格
- 添加文件结构说明
2026-07-10 10:52:06 +08:00

4.0 KiB
Raw Blame History

padsleep_adb

基于树莓派,通过 ADB 控制安卓平板自动亮屏和息屏的守护程序。

功能特性

  • 定时控制:根据配置的时间段自动亮屏/息屏
  • 超时保护:屏幕亮起超过设定时长且不在亮屏时间段内 → 自动息屏
  • 无线 ADB:支持通过 TCP/IP 连接安卓设备(无线调试)
  • TUI 管理:提供终端界面工具,方便查看状态和修改配置
  • IPC 通信:通过 Unix Socket 与 TUI 工具通信
  • 自动重连:无线连接断开后自动尝试重新连接

系统要求

  • 树莓派(或其他 Linux 设备)
  • Python 3.10+
  • ADB (Android Debug Bridge)
  • 安卓平板(已开启 USB 调试或无线调试)

安装

1. 安装系统依赖

# Debian/Ubuntu
sudo apt update
sudo apt install adb python3-curses

# 树莓派 OS
sudo apt install adb

2. 安装 Python 依赖

cd padsleep_adb
pip install -r requirements.txt

依赖列表:

  • adbutils>=2.12.0 — Python ADB 库

使用方法

启动守护程序

python padsleep.py

守护程序会自动:

  1. 加载配置文件 config.json
  2. 检测 ADB 设备
  3. 启动 IPC 服务(/tmp/padsleep.sock
  4. 进入主循环,定期检查屏幕状态

启动 TUI 管理工具

# 新终端窗口
python padsleep_tui.py

TUI 快捷键:

按键 功能
↑/k ↓/j 选择亮屏时间段
A 新增亮屏时间段
E 编辑选中时间段
D 删除选中时间段
S 选择 ADB 设备
W 无线连接设备
R 刷新状态
L 重载守护进程配置
F 强制息屏
N 强制亮屏
T 重新连接守护进程
H 显示帮助
Q 退出

配置说明

配置文件 config.json 示例:

{
  "screen_on_periods": [
    {"start": "08:00", "end": "22:00"}
  ],
  "check_interval_seconds": 30,
  "auto_sleep_delay_minutes": 5,
  "adb_device_serial": "",
  "adb_wireless_host": "",
  "adb_wireless_port": 5555,
  "adb_wireless_auto_connect": false
}

字段说明

字段 类型 默认值 说明
screen_on_periods array [{"start":"08:00","end":"22:00"}] 亮屏时间段列表,支持跨天(如 22:00~08:00
check_interval_seconds int 30 检查间隔(秒)
auto_sleep_delay_minutes int 5 非亮屏时段屏幕亮起多久后自动息屏(分钟)
adb_device_serial string "" 指定 USB 设备 serial,空表示自动选择第一个
adb_wireless_host string "" 无线设备 IP 地址,空表示不使用无线连接
adb_wireless_port int 5555 无线设备端口
adb_wireless_auto_connect bool false 启动时是否自动连接无线设备

无线 ADB 连接

方式一:配置文件预设

config.json 中设置:

{
  "adb_wireless_host": "192.168.1.100",
  "adb_wireless_port": 5555,
  "adb_wireless_auto_connect": true
}

方式二:TUI 手动连接

  1. 启动 TUI 工具
  2. W
  3. 输入 IP 地址和端口
  4. 确认连接

开启安卓设备无线调试

  1. 连接 USB,执行 adb tcpip 5555
  2. 或在设备上:设置 → 开发者选项 → 无线调试 → 开启

连接优先级

程序采用 USB 优先 策略:

  1. 首先尝试 USB 连接
  2. 如果 USB 不可用且配置了无线,尝试无线连接
  3. 无线连接断开后自动重连(最多 3 次)

文件结构

padsleep_adb/
├── padsleep.py          # 守护程序主程序
├── padsleep_tui.py      # TUI 管理工具
├── config.json          # 配置文件(首次运行自动生成)
├── requirements.txt     # Python 依赖
└── README.md           # 本文档

开发说明

  • 在 Windows 上开发,在树莓派上运行
  • 使用 adbutils 库与 ADB Server 通信
  • IPC 使用 Unix Socket + JSON 行协议
  • TUI 使用 Python curses

许可证

MIT License