Raspberry Pi 5 发布到现在已经有一段时间,2025年再聊这块板子,我觉得那句老话终于可以改一改——它不是一台“玩具电脑”,而是一台能实实在在干活的迷你主机。我手上的树莓派5装了8GB内存,常年带一个主动散热风扇,接了NVMe固态硬盘,同时跑着好几个服务。这一年多折腾下来,踩过不少坑,也积累了一批真正值得复刻的项目。这篇文章我就把这6个我认为2025年最值得做的树莓派5项目完整拆开讲,从硬件选型到搭建步骤,再到那些文档里不会写的细节,一次说清楚。如果你正打算入手树莓派5,或者已经让板子吃灰很久,想重新利用起来,这篇应该能帮你省下不少试错时间。
1. 2025年还值得折腾的树莓派5:先聊选型思路
1.1 为什么是这6个项目,而不是别的
网上关于树莓派5的项目清单很多,但大部分都是罗列功能,没有考虑“2025年这个时间点做这件事到底划不划算”。我筛选项目时主要看四点:第一,能不能发挥树莓派5相对上一代的性能提升,尤其是CPU和PCIe接口带来的扩展能力;第二,社区支持是否成熟,遇到问题能搜到答案,而不是自己孤军奋战;第三,硬件成本是否合理,不能为了一个实验室玩具花掉比树莓派本身还多的外围费用;第四,项目完成后要能常用,不是折腾完拍个照就吃灰。
按这个标准,我把范围压缩到了6个方向:家庭自托管NAS、本地AI视觉识别、智能家居中枢、复古游戏机、全屋广告拦截DNS、3D打印服务器。这些项目覆盖了数据存储、人工智能、自动化控制、娱乐和网络基础设施,而且都能在树莓派5上跑出不错的效果。更关键的是,它们不是彼此孤立的,你在做完NAS之后,可以把AI视觉项目的数据存到NAS里;做完智能家居中枢之后,可以通过Pi-hole的DNS拦截日志辅助判断设备是否在异常通信。这也是我为啥愿意在一台板子上跑多个服务,而不是每样单独开一台机器。
1.2 树莓派5的硬件选择和系统准备
树莓派5最核心的升级是那颗BCM2712四核处理器,基于Cortex-A76架构,默认频率2.4GHz。单纯看跑分,它大概是树莓派4的2到3倍。实际使用中,最大的感受不是跑分,而是日常响应速度终于不再拖泥带水:打开浏览器、装软件、跑Docker,都不再有“树莓派式”的卡顿。内存方面,2025年已经能买到16GB版本,不过对大多数项目来说8GB已经完全够用,4GB也能承担轻量任务。如果你打算跑AI推理或者多容器应用,建议至少选8GB。
系统方面,我建议直接使用官方Raspberry Pi OS Bookworm,也就是Debian 12基础上的64位系统。强烈不建议还去找老的Buster或Bullseye镜像,因为不少新软件包和驱动都已经默认面向Bookworm构建,树莓派5本身也需要新版内核才能发挥全部性能。初次开机建议用官方Imager写入系统,在Imager里可以提前设置好Wi-Fi、SSH、用户名和密码,省去接显示器的麻烦。写入完成后插电开机,先用sudo apt update && sudo apt full-upgrade把系统更新到最新,然后安装raspberrypi-sys-mods相关的常用工具,保证后面的项目依赖环境干净。
1.3 一个“通用底座”:散热、电源和存储
树莓派5的性能上来了,功耗温度也跟着上来了。官方说树莓派5需要主动散热,这不是建议,是必须。我一开始图省事只装了一个散热片,结果CPU一高负载就开始降频,性能打折严重。后来换上了带风扇的官方主动散热器,日常温度在45℃左右,重负载能压在65℃以内。如果你要跑NAS或者AI推理这种长时间高占用任务,风扇不是可选项,是标配。另外注意电源,树莓派5原装电源是5V/5A,因为USB PD协议协商后可以输出更高的电流。我试过用旧手机充电器,结果外接硬盘时经常出现电压不足的低压警告,甚至直接重启。所以电源这块别省,至少买官方27W电源,或者支持PD协议并能稳定输出5V/5A的电源。
存储方面,2025年的最佳实践是直接放弃SD卡,改用NVMe固态硬盘。树莓派5自带PCIe 2.0 x1接口,通过一块PCIe转M.2 HAT板,可以把系统装在NVMe SSD上。实际体验和SD卡完全是两个世界:系统启动从半分钟缩短到十几秒,Docker容器拉取镜像时磁盘不再成为瓶颈,SD卡损坏导致数据丢失的风险也彻底消除。预算有限的可以选择256GB的NVMe SSD,配合一块HAT板,总共也就一百多块钱,比买个高质量大容量SD卡更划算。如果你暂时不想加NVMe,那至少选A2速度等级的SD卡,并且养成定期备份的习惯。
2. 项目一:家庭自托管NAS,把数据握在自己手里
2.1 项目定位与能干什么
把树莓派5改造成NAS,是我个人觉得最实用、也最适合新手的第一个项目。它解决的问题很具体:手机相册备份、电脑之间文件共享、离线下载、统一存储电影和文档。现在各网盘都在收缩免费空间,限速和广告越来越严重,自己搭一个NAS不仅能摆脱这些限制,还能完全控制数据隐私。树莓派5的USB 3.0接口速率理论是5Gbps,实际传输大文件时大约能跑到100MB/s左右,这个速度已经足够日常备份和家庭内网播放1080P甚至4K电影。
这个项目我选用的系统是OpenMediaVault(简称OMV),它是基于Debian的开源NAS系统,界面是中文友好的网页后台,插件生态很成熟。相比FreeNAS/TrueNAS,OMV对硬件要求低得多,特别适合树莓派这种ARM平台。相比直接手写Samba服务,OMV把共享目录、用户权限、硬盘管理、RAID、Docker扩展都集成在一个界面里,维护成本低,非常适合作为家庭数据底座长期运行。
2.2 硬件清单和OpenMediaVault搭建
整个项目需要的硬件在树莓派5基础上,额外增加一块USB 3.0移动硬盘或2.5英寸机械硬盘。我建议准备一个带独立供电的USB硬盘盒,因为树莓派5的USB口虽然输出功率比前代强,但带动一块高功耗机械盘时还是有可能电压不稳。固态移动硬盘则基本不用额外供电,但接口速率会被USB转接芯片限制。如果你的目标是作为长期NAS盘,我更推荐用带电源的3.5英寸硬盘盒,容量大、寿命长,对树莓派主板也更友好。
安装OMV有两种方式:一种是直接在Raspberry Pi OS上执行官方安装脚本,另一种是先用树莓派Imager写入OMV定制镜像。我更推荐前者,因为官方镜像有时更新滞后,而且装在系统上更容易后续扩展其他服务。安装命令很简单,在终端执行:
sudo apt update sudo apt install -y curl curl -sSL https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash整个脚本运行大概需要十几分钟,期间会重启几次。耐心等它装完,然后访问板子的IP地址,用默认账号admin/openmediavault登录后台。第一次进去后建议先修改默认密码,然后在“存储-硬盘”里找到你挂载的硬盘,创建一个新的文件系统,建议直接选ext4,兼容性好且不易碎片化。之后在“共享文件夹”里添加几个目录,比如photo、video、backup,再到“SMB/CIFS”中启用共享,把目录映射到Windows或手机应用里,NAS的基本功能就通了。
2.3 性能实测和功耗控制
我在实际使用中挂载了一块4TB机械硬盘,通过千兆网口访问。用dd命令测连续写入速度,能保持在105MB/s左右,读取速度也差不多,基本跑满了千兆网络。在拷贝大量零碎小文件时性能会跌到30-50MB/s,这是机械硬盘本身的物理限制,和树莓派5无关。如果你希望小文件性能更好,可以组两块SSD做缓存,但对于家庭使用,我觉得完全没必要,那会增加不少功耗和成本。
功耗方面,整机(树莓派5+风扇+一块3.5英寸机械硬盘)在待机状态大约6W,持续读写时大约11W。按照一天24小时跑,一个月电费大概几块钱。这也是树莓派5做NAS的最大优势之一——一台X86迷你主机空载功耗至少15W以上,而树莓派5加硬盘才10W上下。长期下去电费差距是很可观的。我还在OMV里设置了硬盘休眠策略,当15分钟没有访问时,硬盘自动进入待机,噪音和发热都能明显降低。
2.4 实操中踩过的坑
第一个坑就是一开始我没用独立供电硬盘盒,直接把一块2.5英寸移动硬盘插在USB口上,结果系统日志频繁出现“Failed to read FUSE mount”和USB设备掉线。后来测量发现,移动硬盘启动瞬间电流超过1A,树莓派5的USB口难以稳定提供,换上有供电的硬盘盒后问题彻底消失。如果你也想外接3.5英寸硬盘,一定记得买支持自动断电的硬盘盒,避免树莓派关机后硬盘仍在运行时晃动机头导致损坏。
第二个坑是OMV默认的swap太小,装完Docker和几个容器后,内存占用长期在90%以上。我后来在OMV后台加了2GB的交换文件,情况好很多。不过你也可以直接上8GB内存版本,基本不会再被内存卡脖子。第三个坑是初始安装脚本执行时如果网络中断,可能会出现包管理状态不一致,最稳妥的做法是换一个网络环境,或者使用国内软件源后重新运行安装,而不是反复重装系统。我自己后来为了干净,直接重新烧写系统一次,反而更快。
3. 项目二:本地AI视觉识别,给摄像头装上“脑子”
3.1 树莓派5跑AI到底行不行
树莓派5没有独立的NPU,但它的CPU性能已经足够跑一些轻量级深度学习模型。很多人一提到AI就想到大模型,觉得树莓派跑不动。实际上,在嵌入式场景里常用的模型是MobileNet、YOLOv8n这类几MB到十几MB的小模型,树莓派5的四个Cortex-A76核心完全能应付。我的实际体验是:用TensorFlow Lite跑MobileNet SSD做物体检测,输入分辨率640x480,树莓派5能达到25-35 FPS,基本满足实时监控需求。用YOLOv8n在CPU推理,帧率会降到8-12 FPS,但在静态场景或低帧率要求下也能用。
2025年做这个项目还有一个好处,就是Python生态已经非常成熟。picamera2库成为官方推荐的摄像头接口,tflite-runtime和ultralytics都有明确的ARM64版本,不再需要像前几年那样手动编译OpenCV,省下了大量折腾时间。这个项目的最终形态,可以是门口监控识别到人后推送消息,也可以是识别到猫狗时自动拍照,还可以是工厂里做一个简单的零件分拣计数。总之,把“视觉”和“规则”结合在一起,就是一台便宜好用的智能感知设备。
3.2 搭建一个实时物体检测系统
硬件上,除了树莓派5,还需要一个官方Camera Module 3或者任意USB摄像头。官方摄像头模块通过CSI接口连接,延迟更低,推荐优先使用。CSI排线连接时注意触点朝卡扣方向,金属触点不能被压到或者反向插入,否则摄像头灯不亮,系统也检测不到设备。连接好后先更新系统,然后安装必要的软件包:
sudo apt update sudo apt install -y python3-picamera2 python3-opencvpicamera2已经包含在Bookworm的基础镜像包里,如果提示找不到,就手动装一次。接下来用一个简单的脚本验证摄像头是否正常工作:
libcamera-hello --list-cameras如果能看到摄像头信息,就可以开始写推理脚本了。我推荐先用TensorFlow Lite的官方示例模型,比如MobileNet SSD v2,几百KB的模型文件就能识别80种日常物体。代码的思路是:用Picamera2循环采集画面,转换成数组后送入解释器,解析输出框并画在画面上。把实时结果显示到HDMI显示器,或者通过网络流输出到手机浏览器都可以。如果你希望更贴近实际项目,可以在检测到“person”或“cat”时调用subprocess执行拍照、存储到NAS共享目录,或者通过回调函数向智能家居中枢发送通知。
3.3 性能调优和模型选择
性能调优这块,我积累了几个关键经验。第一,摄像头输出分辨率不要直接设成最高,推理时把分辨率降到640x480,画面足够清晰,推理速度却快很多。第二,模型量化很重要。TensorFlow Lite的float16模型比int8模型精度高一点,但推理时CPU占用明显更高。对树莓派5来说,我一般优先用int8量化模型,速度能提升30%,精度损失在可接受范围内。第三,Python层面尽量减少每帧图像数组拷贝,直接复用picamera2的buffer,而不是每次都导出为numpy数组。用picam2.capture_array()时,如果后续处理耗时较长,可以用双线程或双缓冲机制,让采集线程和推理线程并行,否则帧率会被单线程的处理时间拖死。
模型选择上,如果你的目标是“识别出物体是猫还是狗”,可以用MobileNet v2或EfficientNet-Lite系列。如果目标是“识别出画面里有几个人”,YOLOv8n或YOLOv5s效果更好,但速度慢一些。如果你对实时性要求极高,可以用TensorFlow Lite自带的Quantized COCO SSD Large模型,在640x480分辨率下能跑到30 FPS以上。我自己后来做的是一个“快递包裹检测”的小装置,放在门口,用YOLOv8n检测画面中是否出现纸箱形状,检测到就通过MQTT发消息给Home Assistant,然后手机端马上收到推送。整个过程大约0.3秒,体验已经很不错了。
3.4 常见问题:温度、内存与并发
这个项目跑起来后最大的问题就是温度。AI推理是持续的重负载任务,如果散热跟不上,CPU温度达到85℃后会强烈降频,帧率会掉到个位数。我曾经在一次夜间长时间运行测试时,忘了开风扇,结果第二天早上看日志,整机因为过热降频到1.2GHz,检测任务几乎罢工。所以做AI项目前,务必确认主动散热风扇已经接好,并且开机后可以检查vcgencmd measure_temp,如果空载温度已经超过55℃,就要检查风道是不是堵了。
内存方面,如果使用8GB版本,跑一个检测脚本加一个摄像头流,内存占用大概1.5GB,完全没问题。4GB版本在同时跑多个容器时会吃紧,建议在系统里设置1GB的swap文件。还有一个容易忽略的问题是并发访问:当多个浏览器设备同时打开RTSP视频流时,推流进程CPU会暴涨。我最终的方案是不直接暴露原始RTSP,而是用Motion JPEG的方式推送一个低分辨率预览流,后端推理时用原图,访问预览用缩略图,这样多个手机端同时看也不会卡。
4. 项目三:智能家居中枢Home Assistant,让全屋设备统一管理
4.1 为什么用树莓派5跑Home Assistant
Home Assistant(简称HA)是目前功能最强大的开源智能家居平台,它能接入的设备和品牌超过几千种,包括小米、苹果HomeKit、Sonoff、Zigbee、Z-Wave等。市面上也有不少成品盒子,但价格动辄上千,而树莓派5只要两百多块,性能绰绰有余。树莓派5跑Home Assistant,最大的优势不是性能,而是扩展性:你可以同时插USB的Zigbee协调器、蓝牙适配器、摄像头、串口设备,所有硬件资源都掌握在自己手里,不受厂商限制。
我第一次接触HA是在树莓派4上,当时觉得界面反应有些卡顿,尤其是加载历史图表和地图时。换到树莓派5之后,界面流畅度明显提升,仪表盘刷新的响应速度也上来了。2025年HA的语音助手组件也更成熟了,直接通过wyoming集成连接本地语音模型,树莓派5虽然跑不了大语言模型,但支持唤醒词和命令词识别,做个全屋语音控制已经够用。这个项目很适合家里已经有多款智能设备、想统一管理的用户,也适合喜欢折腾自动化、希望“家有点智能”的极客。
4.2 安装方式和常用集成
Home Assistant最推荐的安装方式是HAOS(Home Assistant Operating System),这是一个专门为HA优化的嵌入式系统,内置了Supervisor,可以方便地安装各种插件。推荐用树莓派官方Imager,在“Other specific-purpose OS”里能找到Home Assistant的树莓派5镜像,直接烧写到NVMe SSD或SD卡上。如果你不想放弃现有系统,也可以在树莓派OS上用Docker跑HA Container版,但功能会少一些,比如不能安装加载项和系统级更新。我的建议是:如果你有独立的树莓派5做中枢,直接用HAOS;如果你想和NAS或Pi-hole共用一个系统,那就用Docker方式。
开机后访问http://<树莓派IP>:8123,完成初始创建账号和家庭配置。具体接入设备时,我重点说两个常用集成。
一是Zigbee设备接入。买一个适配HA的Zigbee USB协调器,比如Sonoff Zigbee 3.0 Dongle Plus或者Conbee II,插到树莓派USB口,然后在HA里添加Zigbee Home Automation集成,它就会自动发现设备。配网的时候把设备调到配对模式,在HA界面点“添加设备”,一般几十秒就能搜到。通过Zigbee接入了温湿度传感器、门窗传感器、人体传感器,这些设备功耗低、响应快,是自动化的核心输入。
二是MQTT设备接入。如果你有ESP8266或ESP32自制的传感器,或者用了Tasmota固件的智能插座,它们大多通过MQTT协议通信。在HA里添加Mosquitto broker加载项,再确认设备端设置的MQTT服务器地址是树莓派IP,数据就能自动流入HA。MQTT的好处是轻量稳定,能承载大量设备,后续即使HA临时重启,设备也会自动重连,不容易丢状态。
4.3 外设接入与自动化场景
所有设备接入HA后,真正让家居变智能的是自动化。我分享一个自己每天都在用的场景:阳台光线传感器检测到亮度低于某阈值且时间是傍晚,自动打开客厅灯,同时如果当时屋里没有人,则不执行任何动作。逻辑用HA的自动化编辑器配置非常直观,核心是触发条件、状态条件、动作三部分。触发条件设置为阴天或下午6点且光照传感器低于某个值;状态条件设置为有人占用;动作是调用灯开关服务。这套逻辑跑了一整年,没有出现误动作,比较可靠。
另一个实用场景是门窗异常报警。我在入户门和大窗上放了门窗传感器,HA检测到夜里11点到凌晨6点之间打开,就通过手机App推送通知,同时把客厅和走廊灯缓慢调亮。这种“传感器+通知+设备联动”的组合,是HA区别于单一品牌智能音箱的最大价值。你也可以设置离家模式:所有灯关闭、空调调至节能、摄像头开启,只要一键或者通过地理围栏自动触发。
4.4 稳定性优化与备份
HA是常驻服务,稳定性和备份是第一优先级。我在使用中总结了三条经验:第一,HAOS本身对断电比较敏感,不能直接断电,最好配一个UPS或者定期正常关机。树莓派5的电源管理比前代好一些,但HA写数据库时断电仍可能损坏SQLite文件。第二,数据库会越来越大,默认记录所有实体状态,长期跑几个月后SSD占用可能涨到几个G。我一般在/etc/homeassistant下用排除方式,只记录用到的传感器,或者配置记录器只保存重要实体,这样既能保留历史曲线,又不会膨胀太快。第三,备份要自动化。在HAOS里安装Google Drive备份插件或者SMB备份插件,每天晚上自动把配置和数据库打包上传到你的NAS。这个备份宁可多存几个版本,也不能只依赖SD卡,因为SD卡一旦损坏,没有备份就全没了。
我之前遇到过最头疼的问题是升级时某个自定义组件的依赖损坏,导致HA无法启动。后来我养成了习惯:每次升级前先手动做一次快照,升级后发现问题就立刻回滚。HAOS的快照功能是整个配置的完整备份,回滚后所有实体和自动化都恢复到备份时的状态,非常方便。如果你用Docker方式部署,可以先把/config目录压缩一份,再升级容器镜像,效果也是一样的。
5. 项目四:复古游戏机,配好手柄就能回童年
5.1 项目简介与模拟器选型
复古游戏机是树莓派社区最经典的应用之一,树莓派5发布后,这个项目更是脱胎换骨。上一个世代的树莓派4在模拟PSP和N64时经常卡顿,而树莓派5的CPU性能达到了原来的两到三倍,很多过去不能流畅运行的游戏现在都能跑到全速。这个项目的定位是制作一台低成本的模拟器主机,能玩FC、SFC、GBA、PS1、N64、PSP、DC甚至部分Wii游戏。配合复古风格的外壳和手柄,放在客厅连接电视,就是一台随时可玩的“时光机”。
模拟器选型上,目前最主流的系统是RetroPie和Recalbox。RetroPie更偏向DIY玩家,配置灵活,支持各种模拟器和启动方式,但第一次配置需要花些心思。Recalbox更像开箱即用的游戏主机,界面更像游戏机菜单,装完插上手柄就能玩。我个人更推荐RetroPie,因为社区资料多、可玩性强,而且2025年不少新模拟器核心优先支持RetroPie。如果你不想折腾,只想快速上手,选Recalbox也完全没问题。
5.2 系统安装和ROM管理
安装RetroPie的步骤很简单:先在树莓派OS上运行官方安装脚本,或者直接下载RetroPie官方镜像烧录到卡里。我更推荐直接下载官方镜像,因为预装了EmulationStation前端和大量模拟器,省去后面一个个安装的步骤。镜像默认启动后会自动扩展文件系统,然后进入游戏列表界面。第一次连接一个USB手柄,系统会识别并让你按键映射,这个步骤必做,否则无法操作界面。
ROM管理方面,最简单的做法是把树莓派的SD卡或者SSD通过Samba共享显示在Windows电脑上,直接复制游戏文件进去。RetroPie的SD卡共享目录一般叫/home/pi/RetroPie/roms,里面按平台分好了子目录,比如nes、snes、psx。把游戏ROM文件放到对应目录后,按键盘F4或通过菜单刷新列表,新游戏就会出现在前端界面上。
这里必须提醒一句,ROM的版权问题要自己注意,只下载你拥有实体卡带或已放弃版权保护的游戏。同时对中文用户来说,游戏文件名不要有特殊符号和空格,否则前端列表可能显示乱码,建议统一用英文或拼音命名,再在RetroPie里配置中文游戏列表头图。如果你感兴趣,可以给每个游戏加封面图,把图片命名为与ROM相同的文件名放到/roms/<平台>/images目录,界面会非常精美。
5.3 手柄、显示与性能配置
手柄方面,树莓派5的蓝牙体验比前代好了很多。我用的是一款第三方PS4手柄,第一次配对后,重启也不会断开。但要注意,蓝牙连接会有大约几十毫秒延迟,对动作游戏可能有点影响。追求极限手感的建议直接用USB有线手柄,树莓派5的4个USB口足够同时接4个手柄。如果玩双人游戏,也可以1个2.4G无线手柄加1个有线手柄组合,避免蓝牙带宽互相干扰。
显示方面,树莓派5支持双HDMI输出,可以接电视和接一个副屏。默认会有音频输出问题:有些显示器没有喇叭,声音会默认走HDMI导致没有声音。在RetroPie里打开raspi-config,把音频输出强制设为耳机或蓝牙,或者使用3.5mm音频口连接音箱。性能配置上,RetroPie会自动根据模拟器选择合适分辨率,但PSP和N64模拟器需要手动调高或调低渲染分辨率。我的经验是:PSP游戏开2倍分辨率非常稳,开3倍偶尔有掉帧;N64核心用Rice插件时兼容性更好,用GlideN64时画面特效好但配置复杂,新手先用Rice跑兼容模式就好。
5.4 使用心得:哪些游戏能跑,哪些别勉强
在树莓派5上,我实测了大量平台,可以给你一个直观的参考。FC、SFC、MD、GBA这些16位及以前的平台,全部满帧运行,没有任何压力。PS1基本完美,CPU占用不到一半。N64大部分游戏能满速,但《塞尔达传说:时之笛》有个别场景会掉到50 FPS左右,需要开跳帧。PSP的《战神:斯巴达之魂》这种高负载游戏,开2倍分辨率下能稳定60 FPS,但《怪物猎人P3》在某些战斗场景会有轻微掉帧。DC平台的《拳皇99》等2D游戏没问题,3D大作如《梦美》偶尔会卡。总体而言,树莓派5已经跨过了“能玩”和“流畅玩”的门槛,但别指望它能完美模拟Switch或PS2。
使用中我还发现,RetroPie在前端切换游戏时偶尔会有一两秒黑屏,这是正常的,因为模拟器核心在加载。如果某个游戏第一次进入就黑屏到死机,很可能是该模拟器核心默认设置与游戏不兼容,按住复位键或SSH进入后台删除该模拟器的缓存配置,再重新启动就能恢复。另外,树莓派5在RetroPie下对散热要求很高,模拟PSP时CPU占用超过80%,风扇声音会变大,这是正常的,别因为噪音就去改低风扇转速,否则可能触发过热降频导致卡顿。
6. 项目五:全屋网络广告拦截,Pi-hole让浏览器清静下来
6.1 Pi-hole的价值和原理
Pi-hole是一个基于DNS的广告拦截工具,原理是通过接管家庭网络的DNS解析请求,把已知广告域名的解析结果返回为0.0.0.0或直接拒绝,这样手机和电脑上的广告内容就无法加载。它不需要在每台设备上装客户端,只要把路由器或设备的DNS指向Pi-hole,全屋所有设备都会生效。这个项目最大的价值不是省下那几秒钟刷新网页的时间,而是通过拦截广告域名,减少了隐私跟踪器的数据回传,也在一定程度上加快了页面加载速度。
为什么用树莓派5跑Pi-hole?坦率地说,Pi-hole对硬件要求极低,一个树莓派Zero也能跑得很轻松。但2025年的家庭网络环境里,IPv6已经广泛普及,DNS请求数量比过去多不少,同时你还可以在Pi-hole身上叠加一个Unbound递归DNS,让家庭网络不再依赖公共DNS服务商的日志记录。树莓派5的CPU在这里显得“性能过剩”,但如果你家里已经有一台常年开机的树莓派5在跑HA或NAS,把Pi-hole作为其中一个增值服务,完全不需要额外硬件成本,这种“一物多用”才是2025年自托管的精神。
6.2 安装与配置DNS
Pi-hole的安装相当简单,在树莓派OS上执行:
curl -sSL https://install.pi-hole.net | bash安装过程中会询问你选择上游DNS服务器和要拦截的名单,默认选项就够用。装完后会告诉你两个IP地址:一是Pi-hole管理界面的地址,比如http://192.168.1.100/admin,二是当前板子的静态IP。为了稳定,建议在路由器后台把树莓派的IP设置为DHCP保留地址,并修改路由器的DHCP设置,把首选DNS改成树莓派IP,并禁用路由器自身的DNS转发。这样全屋设备自动通过Pi-hole解析,无需逐台手动设置。
配置好后,在管理界面能看到一个实时查询日志,每一条设备向哪个域名发起了DNS解析、是否被拦截都清清楚楚。你可能会发现很多智能家居设备在偷偷访问可疑域名,这也是Pi-hole带来的隐私价值。如果在某个设备上网页功能异常,需要暂时放行某个域名,可以进入Domain列表,把该域名加入白名单,几秒钟后生效。我一般在App里碰到无法登录的情况,先去Pi-hole查询日志看对应域名是否被拦截,再决定是否放行。这个方法比直接关闭Pi-hole调试高效得多。
6.3 白名单和定期维护
Pi-hole默认拦截名单已经能挡掉大部分广告,但有些误伤不可避免。最典型的是某些网站需要加载验证码服务,而验证码域名碰巧被名单包含,导致页面无法正常验证。遇到这种情况,在查询日志里搜索被拦截的域名,把它加进白名单即可。还有一类问题是视频网站播放正常但评论加载不出来,这通常是因为某个评论组件域名被拦截,不是网速问题。用Pi-hole的查询日志排查,比靠猜快得多。
维护方面,建议每个月更新一次广告拦截列表。Pi-hole默认会定期更新,你也可以手动执行pihole -g,它会从默认列表源拉取最新广告域名数据。如果觉得默认的拦截精度不够强,可以在搜索社区推荐的第三方列表源,把StevenBlack/hosts和oisd.nl加入进去。不过注意,拦截列表过于激进会导致不少正常功能被破坏,我自己的经验是:默认列表加上oisd-light作为补充,日常使用不会误伤任何常用App,覆盖度也足够。
6.4 效果评测与坑点
我在树莓派5上跑了半个月后,打开管理界面看统计数据:拦截率大概在16%-20%之间,也就是说每100次DNS请求里,有大约17次是广告或追踪域名。手机端某资讯App的开屏广告和视频前贴片广告明显减少,浏览器网页也干净了很多。网页加载速度的实际提升体感一般,但数据流量确实省了,尤其对于限速套餐比较明显。
坑点主要在两个地方。第一,如果路由器不支持单独指定DHCP分发的DNS,而是强制使用路由器自身IP作为DNS,那Pi-hole客户端列表里会显示所有设备都来自同一个路由器IP,你无法精确查看“哪台设备访问了什么”。这个问题可以通过在路由器后台关闭“DNS代理”或“DNS中继”来解决。第二,某些设备使用了内置的DNS over HTTPS或DNS over TLS,比如一些新版浏览器和手机系统,这些流量不会经过Pi-hole,导致拦截不了部分广告。这是现代网络的趋势,解决方法是同时在路由器层做流量引导,或者接受这个局限,让Pi-hole作为“兜底”拦截层,而不是唯一防线。
7. 项目六:低功耗3D打印服务器,远程控制不必开电脑
7.1 项目场景:OctoPrint还是Klipper?
3D打印玩家普遍有一个痛点:打印机上位机不能断,电脑一关打印任务就只能暂停,而且想看打印进度还得守在旁边。树莓派5做3D打印服务器正好解决这个问题,最常见的软件方案是OctoPrint和Klipper。OctoPrint是一个网页控制前端,负责连接打印机、上传G-code、实时显示摄像头画面、监控打印温度;Klipper则更进一步,它把复杂的运动计算从打印机主板的8位MCU上拿下来,交给树莓派的高性能CPU处理,从而获得更高的打印速度和更好的精度。
如果你只是想在现有打印机上增加远程控制和摄像头,OctoPrint就够用了,它兼容几乎所有USB串口打印机。如果你追求打印速度,想开高加速度、Klipper是更好的选择,但需要把打印机固件切换到Klipper模式,并且花时间做步进电机配置和压力补偿调参。我的建议是:先装OctoPrint,跑通远程控制后,再考虑是否切换到Klipper。树莓派5的CPU跑Klipper的软件运动学计算绰绰有余,同时还能再开一个摄像头流,完全没有压力。
7.2 安装OctoPrint和摄像头监控
OctoPrint的安装最快捷的方式是用官方OctoPi镜像,它预装好了OctoPrint、摄像头驱动和常用插件。树莓派5也有对应的OctoPi镜像,烧录到SSD后开机,访问http://<树莓派IP>/就能进入OctoPrint界面。如果你不想重装系统,也可以在树莓派OS里用Python虚拟环境安装:
cd ~ mkdir octoprint && cd octoprint python3 -m venv venv ./venv/bin/pip install OctoPrint ./venv/bin/octoprint serve记得把OctoPrint设置成systemd服务,这样开机自动后台运行,不需要手动登录终端。然后在OctoPrint的“设置-串口连接”里选择打印机对应的串口设备(通常是/dev/ttyUSB0),设置正确的波特率,比如大多数Marlin固件是115200。连接成功后,打印机控制台就能通过网页操作平台移动、温度调温和文件上传打印了。
摄像头监控方面,树莓派5可以通过CSI接口接官方摄像头,配置好libcamera后,OctoPrint的Webcam插件可能还需要安装camera-streamer组件。我使用的是最简单的方案:用一个普通USB摄像头接入树莓派,然后通过OctoPrint的默认MJPG-streamer插件推流。首次配置时在网页里填好摄像头URL,预览窗口就能显示画面。延时摄影功能也很有用,可以设定每隔几秒拍一张照片,打印结束后自动合成一段视频,用来回放整个打印过程。
7.3 远程访问和切片配置
远程访问的需求分两种:一种是在局域网内访问,路由器IP加端口就能访问;另一种是希望在单位或出门时用手机查看打印进度,这就需要配置frp、Tailscale或者公网映射。出于安全和稳定性考虑,我不建议直接把8123端口暴露到公网,推荐使用Tailscale这类组网工具,把树莓派和手机、电脑放到同一个虚拟内网里,访问体验和局域网一样,同时安全得多。这个工具在树莓派上安装很简单,注册账号后把设备加入网络即可,不需要在路由器上做端口转发。
切片配置方面,OctoPrint本身不负责切片,它只负责发送已经生成的G-code文件。一般流程是先在电脑上用Cura或PrusaSlicer切片,把G-code文件上传到OctoPrint,再点击打印。如果你追求便捷,可以安装Cura插件或使用OctoPrint的Printoid之类,但不建议在树莓派上跑切片软件,因为树莓派5虽然性能可以,但切片非常吃内存和CPU,体验远不如电脑。我习惯在电脑上切片后,直接通过OctoPrint的网页拖拽上传,相比SD卡插拔方便太多了。
7.4 实操经验与打印质量调优
实际使用中,最值得注意的点是打印机主板与树莓派通过USB连接时,偶尔会因为电磁干扰或电源波动导致串口断连。解决方法有三个:一是使用高质量屏蔽USB线,尽量短;二是在OctoPrint里开启“串口自动重连接”功能;三是在树莓派的串口配置里禁用蓝牙串口占用,避免系统误把蓝牙设备识别为打印机。我之前的USB线是普通打印线,打印过程中经常出现“Connection closed, trying to reconnect”的提示,换了一根带磁环的USB线后,问题基本没再出现过。
打印质量调优方面,如果你用Klipper,可以在树莓派上通过网页端实时调整压力前馈、加速度和输入整形参数,不需要重新烧录固件。我调到200mm/s的打印速度,配合加速度7000mm/s^2,打印机依然稳定。但要注意,高速度会对打印机结构稳定性提出更高要求,一定要检查皮带张力和热床固定。对于OctoPrint来说,插件生态提供了大量帮助,比如Bed Level Visualizer可以在完成一次网格调平后显示热床平整度,OctoPrint-TemperatureGraph能回看温度曲线。我建议新手先装这两个再加摄像头插件,其他按需添加,插件太多会造成页面加载卡顿,也增加故障点。
8. 写在最后:我的筛选标准和一点个人建议
这6个项目做下来,最大的体会是树莓派5确实改变了单板电脑的使用边界。以前玩树莓派,更多是“跑起来看看”,现在则完全可以把它当作一台低功耗的服务器长期服役。我在选择项目时的核心标准,始终是“能不能进入日常生活工作流”——NAS里存着全家人的照片,Home Assistant替我盯着阳台的传感器,Pi-hole让电视盒子不再疯狂加载广告,3D打印服务器让我在办公室里就能查看家里打印机的进度。这些项目不是展示品,而是每天都在用的基础设施。
最后再分享一个小技巧:所有项目都尽量做成systemd服务,用journalctl查看日志,而不是依赖前台进程。这样即使某个服务崩溃,也不会拖垮整台树莓派,排查问题也方便得多。等你跑通这6个项目,你会发现它们之间的联动才是最有价值的部分:AI视觉识别到异常事件,推送给Home Assistant;Home Assistant根据有人在家来决定是否让NAS执行备份;Pi-hole的拦截日志能帮你判断某个设备是不是在偷偷上传数据。这些组合拳才是2025年玩树莓派5的正确姿势。