树莓派酱の吃灰日常
树莓派酱の吃灰日常
首次接入 (无屏幕)
刚到手的树莓派裸机, 没屏幕也没 Mini-HDMI 线. 通过 boot 分区预置文件让它自动连 WiFi + 开启 SSH, 之后所有操作都走远程.
boot 分区预置文件
用手机或电脑开 2.4G 热点 (树莓派旧型号不支持 5G), 然后在桌面新建个文件夹存这两个文件:
- 空文件
ssh— 无后缀名、无内容, 出现在 boot 根目录就会触发开启 SSH 服务. - WiFi 配置
wpa_supplicant.conf:
country=GB |

用读卡器把 TF 卡插进电脑, 把这两个文件复制到名叫 boot 的分区根目录. 开鸡, 等一会就会发现手机/电脑端被树莓派蹭上来, 路由器面板/手机热点页面里看到一个 raspberrypi 设备, 顺手记下分配到的内网 IP:

SSH 连接
- 连接三要素:
IP 地址 + 用户名 + 密码 - 树莓派系统默认账号
pi, 密码raspberry
详细操作可参照 ✨SSH 远程连接
连接后第一时间改密码: 💧 一些常用终端命令
VNC 连接
纯 SSH 不够用 (要操作图形界面、看桌面) 时改走 VNC.
- 下载 VNC Viewer
- 安装后输树莓派的内网 IP, 填用户名密码连接

系统初始化
进系统后第一件事是把源换掉, 之后装啥包都不至于卡半天.
apt 换源 (USTC)
sudo nano /etc/apt/sources.list |
deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware |
sudo apt update && sudo apt upgrade -y |
raspi-config 系统设置
官方的 TUI 配置面板, 改 hostname / 时区 / SSH-VNC 开关 / 显示分辨率 / 扩展根分区都从这里进:
sudo raspi-config |
Screenfetch 系统信息
显示发行版、内核、主题信息, 截图截了好看:
sudo apt install screenfetch |
当年没用 Neofetch 是因为旧版 Debian repo 地址过期, 装着麻烦. 现在新系统直接
apt install fastfetch更主流.

网络
WiFi 故障排查
新版树莓派系统 (Bookworm 起) 默认改用 NetworkManager 管理网络, 旧的 wpa_supplicant + 配置文件方式可能不再生效. 如果 wpa_cli -i wlan0 reconfigure 直接 FAIL, 大概率就是这个原因, 配置没问题但服务没接管 wlan0.
先确认谁在管 wlan0:
ps aux | grep wpa |
如果 NetworkManager 在跑, 就别再折腾 wpa_supplicant.conf 了, 直接 nmcli 连:
扫描可用 WiFi |
国内地区把
country=CN写进/etc/wpa_supplicant/wpa_supplicant.conf, 否则部分 5GHz 信道扫不到.
强制使用 wpa_supplicant
如果坚持走配置文件路线 (比如系统镜像没装 NetworkManager), 先把 NM 停掉清场:
sudo systemctl stop NetworkManager |
排查 RFKill 软关闭:
rfkill list |
运营商热点 (
CMCC-xxx、ChinaNet-xxx这种) 一般有 portal 网页认证或限制设备数, 连上但不能上网是正常现象, 别误以为是配置问题.
有线直连 PC (无路由器/交换机)
没有路由器或交换机时, 用一根网线把树莓派和 PC 直接对接. 没有 DHCP 服务, 双方需要手动配静态 IP. 这套配置也是后面 WoL 直连场景的前置条件.
安装 dhcpcd
sudo apt update |
配静态 IP
PC 端 (Windows IPv4 属性):
IP: 192.168.50.2 |
树莓派端 (sudo nano /etc/dhcpcd.conf):
interface eth0 |
接口名通常是
eth0, 在某些镜像下会是基于 MAC 的长名 (例如enxb827ebeb0a18), 用ip a查实际名字.
改完重启 (sudo reboot), 在树莓派ping 192.168.50.2, 通了再继续.
启用 IP 转发 (可选)
如果想让 PC 通过树莓派 (它的 WiFi) 转发上外网:
sudo nano /etc/sysctl.conf |
内网文件共享 (Samba)
把外接硬盘挂到树莓派, 通过 SMB 协议共享给局域网. Windows 资源管理器输 \\<ip> 就能当网盘用, 比折腾 NAS 系统轻量.
挂载外接磁盘
sudo apt update && sudo apt install exfat-fuse exfatprogs ntfs-3g samba samba-common-bin |
用 sudo blkid 拿到硬盘的 UUID, 写进 /etc/fstab 实现开机自动挂载:
UUID=749C-1C4F /mnt/storage exfat defaults,auto,users,rw,nofail,uid=1000,gid=1000 0 0 |
nofail很重要, 没插盘时不至于系统起不来.
Samba 服务配置
/etc/samba/smb.conf 末尾追加共享段:
# 共享 exFAT 硬盘 (/dev/sdb1) |
设 SMB 用户密码 (这个密码独立于系统密码) 并重启服务:
sudo smbpasswd -a weidows |
Windows 客户端连接
资源管理器地址栏直接输 \\192.168.xxx.xxx 回车, 弹窗里填上面 smbpasswd 设的用户名密码.
不建议用 macOS 连, 会在每个目录里生成一堆
.DS_Store污染文件.
网络唤醒 PC (WoL)
树莓派 24h 常开, 可以当作"远程电源按钮"触发主机的 Wake-on-LAN. 出门在外想用桌面机时随手开一下就行, 不必让台式机一直耗电待命.
PC 端配置
BIOS
不同主板叫法略有不同, 都要打开:
- Wake on LAN / Power On By PCI-E
- PME Event Wake Up
- ErP / EuP 关闭 (开了会切断 S5 状态下的网卡待机供电, 魔术封包根本进不来)
Windows 系统
设备管理器 → 网卡 → 电源管理:
- 勾选: 允许此设备唤醒计算机
- 勾选: 仅允许魔术封包唤醒
高级选项里把 Wake on Magic Packet 改成 Enabled.
| 状态 | 能否 WoL |
|---|---|
| 睡眠 (S3) | 可以 |
| 休眠 (S4) | 可以 |
| 完全关机 (S5) | 看主板, 一般要关 ErP |
先在局域网里用手机 App
Wake On Lan测一次, 这一步过不了后面都白搭.
树莓派发包
sudo apt update |
同一局域网下一般这一句就够了.
直连场景: 定向广播 / 单播
树莓派 ←→ PC 用网线点对点直连 (网络配置见 有线直连 PC), 没有 DHCP 也没有广播域. 默认的 255.255.255.255 广播包发不出去, 必须改成定向广播或单播:
定向广播 (到 /24 子网的广播地址) |
留意网口指示灯: PC 关机后必须还亮 (至少闪一下), 否则说明网卡被断电了, 魔术封包根本收不到, 回去检查 BIOS 的 ErP.
HTTP API 远程唤醒
懒得每次 SSH 进树莓派敲命令, 写个 Flask 小接口:
sudo apt install python3-flask |
from flask import Flask |
挂 Cloudflare Tunnel 或反代到自己域名, 出门在外打开浏览器/快捷指令就能唤醒.
部署到公网一定要加鉴权 (token 或 basic auth), 不然别人扫到接口也能开你的电脑.
自动唤醒兜底
让树莓派定期 ping 主机, 不在线就发 WoL:
ping -c 1 192.168.50.2 || wakeonlan -i 192.168.50.255 XX:XX:XX:XX:XX:XX |
丢进 crontab 即可, 适合"主机意外掉电后自动复活"的场景. 别在正常关机的机器上开, 否则你永远关不掉电脑.
硬件项目: WS2812B 彩色灯带
用树莓派 GPIO 驱动一条 WS2812B 灯带, 进阶版还能接 USB 声卡做音乐频谱可视化. 本人用的 Pi 3B / 4B.
硬件连接
WS2812B 灯带分三根线 (颜色可能并不一致, 红 / 黑 / 绿 / 白): VCC、信号、GND. 淘宝买条杜邦共对母口线连, 不嫌粗暴的直接拿小刀豁开绝缘皮插也行.
树莓派 GPIO 抽象示意 (这里只用第一行, 编号是自己临时排的, 不是标准物理引脚号) |
接线 (按上图自定义编号):
| 灯带线 | 接到位置 |
|---|---|
| 红线 (+5V) | 2 |
| 中间线 (信号) | 6 |
| 另一根 (GND) | 3 |
标准 WS2812B 接法走 GPIO18 (物理 Pin 12), 用
rpi_ws281x默认配置时按此对应; 上面的编号是自定义示意, 实际接线以你买的灯带/驱动配置为准.
安装工具链与驱动
sudo apt-get -y install python3-pip git scons swig |
pip 装完很可能 import 报 ModuleNotFoundError: No module named 'rpi_ws281x', 需要下载源码本地编译:
git clone https://github.com/jgarff/rpi_ws281x.git |
千万不要在父目录上跑
sudo python ./python/setup.py install— 会因为找不到rpi_ws281x.i直接 swig 报错退出.
修改配置文件
examples/strandtest.py 是官方示例, 需要改两处:
- 顶部 import 加一行:
from neopixel import * |
- LED 灯珠数 (
LED_COUNT) 改成实际灯带的数量.
把改好的脚本复制出来 (别在 examples 目录里跑, import 路径会出问题):
sudo cp ./examples/strandtest.py . |
测试运行
sudo python3 ./strandtest.py |
第一次在公司点亮的样子:

进阶: 音乐频谱可视化
需要额外硬件: 树莓派没有板载输入声卡, 必须配 USB 免驱声卡 + 3.5mm 有线可录音耳机. 调查过没有更轻的替代方案, 拓展坞有时会附带声卡, 可以一刀切.
装环境
sudo apt-get install portaudio19-dev libatlas-base-dev |
跑起来
git clone https://github.com/scottlawsonbc/audio-reactive-led-strip.git |
灯带检测
灯带是否损坏: 一头接上 +5V + GND, 另一头短接信号线试试.
- 树莓派重启 → 灯带本体没问题, 是信号线或电压不足导致不亮.
- 树莓派毫无反应 → 大概率灯带本体坏了.
借物表
- rpi_ws281x - jgarff — WS2812B 灯带驱动源码
- audio-reactive-led-strip - scottlawsonbc — 音乐频谱可视化
- VNC Viewer 下载
- USTC Debian 镜像源
- Programming-Configuration - 本人配置文件
- 树莓派 GPIO Pinout — GPIO 引脚定义参考














