一、离线下载功能

应用场景:用于下载大文件(高清电影、深度学习模型、系统镜像等),后台挂机下载,不占用手机/电脑资源。

核心功能:

  • 实时查看下载进度
  • 下载完成邮件通知
  • 自动上传网盘保存
  • 支持手机/电脑管理与转存

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
  • 密码:使用授权码,不是邮箱密码

开启步骤:

  1. 登录 163 邮箱设置
  2. 开启 POP3/SMTP
  3. 生成授权码(只显示一次)

5. 运行离线下载项目

cd Offline_Download
python app.py

访问方式:

http://树莓派IP:8000

支持输入任意下载链接,网页端管理任务。


6. 完整流程验证

  1. 添加下载任务(支持多 URL)
  2. 自动后台下载
  3. 下载完成自动上传网盘
  4. 发送邮件通知
  5. 手机浏览器可远程管理

二、知识小结

功能模块 核心功能 技术实现 应用场景 亮点
远程下载控制 树莓派后台下载 Python + 任务队列 大文件下载 手机实时看进度
网盘自动同步 自动上传百度网盘 bypy + API 授权 空间不足 一次授权长期使用
邮件通知系统 下载完成提醒 SMTP + 授权码 异步任务追踪 主流邮箱支持
本地文件管理 局域网文件访问 轻量 HTTP 服务 多设备共享 任意格式传输
扩展能力 外网远程管理 Ngrok / 云服务器反向代理 远程运维 跨网络管理
组件 功能 关键参数 配置要点
bypy 百度网盘交互 授权码 10 分钟有效 命令行手动完成首次授权
SMTP 邮件发送 163 邮箱需开 POP3 用授权码,不是登录密码
虚拟环境 依赖隔离 Python venv 避免包版本冲突
文件服务 Web 下载管理 端口 8000 支持多线程、多任务
步骤 执行内容 测试结果 异常处理
网盘授权 bypy info 成功创建应用目录 复制授权码
下载测试 4K 视频 速度约 12MB/s 网络波动自动重试
邮件通知 任务完成发送 163 秒级送达 检查垃圾箱
网盘同步 上传 2.3GB 文件 MD5 校验正常 保持网络畅通