一、离线下载功能
应用场景:用于下载大文件(高清电影、深度学习模型、系统镜像等),后台挂机下载,不占用手机/电脑资源。
核心功能:
- 实时查看下载进度
- 下载完成邮件通知
- 自动上传网盘保存
- 支持手机/电脑管理与转存
1. 创建虚拟环境
python -m venv ~/ache_env
作用:隔离项目依赖,避免冲突。 建议使用 MobaXterm 等 SSH 工具连接树莓派。
2. 安装 bypy 包(百度网盘工具)
工具介绍:Python 命令行工具,用于百度网盘上传/下载/同步。
安装并激活环境:
source ~/ache_env/bin/activate
pip install bypy
首次授权:
bypy info
- 打开授权链接登录
- 复制授权码粘贴到终端
- 10 分钟内完成验证
- 网盘自动生成
我的应用数据/bypy目录
3. 文件上传测试
touch test.txt
bypy upload test.txt
验证:查看网盘 bypy 目录是否出现文件。
4. 配置邮箱授权(以 163 为例)
邮箱配置项:
- SMTP 服务器:
smtp.163.com - 端口:
465 - 加密:
SSL - 密码:使用授权码,不是邮箱密码
开启步骤:
- 登录 163 邮箱设置
- 开启 POP3/SMTP
- 生成授权码(只显示一次)
5. 运行离线下载项目
cd Offline_Download
python app.py
访问方式:
http://树莓派IP:8000
支持输入任意下载链接,网页端管理任务。
6. 完整流程验证
- 添加下载任务(支持多 URL)
- 自动后台下载
- 下载完成自动上传网盘
- 发送邮件通知
- 手机浏览器可远程管理
二、知识小结
| 功能模块 | 核心功能 | 技术实现 | 应用场景 | 亮点 |
|---|---|---|---|---|
| 远程下载控制 | 树莓派后台下载 | Python + 任务队列 | 大文件下载 | 手机实时看进度 |
| 网盘自动同步 | 自动上传百度网盘 | bypy + API 授权 | 空间不足 | 一次授权长期使用 |
| 邮件通知系统 | 下载完成提醒 | SMTP + 授权码 | 异步任务追踪 | 主流邮箱支持 |
| 本地文件管理 | 局域网文件访问 | 轻量 HTTP 服务 | 多设备共享 | 任意格式传输 |
| 扩展能力 | 外网远程管理 | Ngrok / 云服务器反向代理 | 远程运维 | 跨网络管理 |
| 组件 | 功能 | 关键参数 | 配置要点 |
|---|---|---|---|
| bypy | 百度网盘交互 | 授权码 10 分钟有效 | 命令行手动完成首次授权 |
| SMTP | 邮件发送 | 163 邮箱需开 POP3 | 用授权码,不是登录密码 |
| 虚拟环境 | 依赖隔离 | Python venv | 避免包版本冲突 |
| 文件服务 | Web 下载管理 | 端口 8000 | 支持多线程、多任务 |
| 步骤 | 执行内容 | 测试结果 | 异常处理 |
|---|---|---|---|
| 网盘授权 | bypy info | 成功创建应用目录 | 复制授权码 |
| 下载测试 | 4K 视频 | 速度约 12MB/s | 网络波动自动重试 |
| 邮件通知 | 任务完成发送 | 163 秒级送达 | 检查垃圾箱 |
| 网盘同步 | 上传 2.3GB 文件 | MD5 校验正常 | 保持网络畅通 |