吃灰派复活记
缘起
之前一个项目做预研的时候搞了个树莓派 3B,测试完之后,一直处于吃灰状态。刚好最近经常给小朋友打印东西,家里那台老的 HP P1106 不支持无线打印,每次都接 USB 才能打印,让人无比烦躁。于是乎抽空把打印机接到树莓派上,利用 cups 做成无线打印。
安装系统
烧镜像
- 官网 下载最新的镜像
- 可以通过
dd
把镜像复制到 SD 卡中,具体方法参考 官方指南 - 也可以通过 Etcher,
brew cask install balenaetcher
即可,傻瓜式操作
配置 WIFI
在 boot
分区,创建文件 wpa_supplicant.conf
,内容为1
2
3
4
5
6
7
8
9country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="wifi_ssid"
psk="wifi_password"
priority=1
}
具体参数说明1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#ssid: WIFI ssid
#psk: WIFI 密码
#priority: 连接优先级,数字越大优先级越高(不可以是负数)
#scan_ssid: 连接隐藏 WiFi 时需要指定该值为 1
// WiFi 没有密码
network={
ssid="WIFI ssid"
key_mgmt=NONE
}
// WiFi 使用 WEP 加密
network={
ssid="WIFI ssid"
key_mgmt=NONE
wep_key0="WIFI password"
}
// WiFi 使用 WPA/WPA2 加密
network={
ssid="WIFI ssid"
key_mgmt=WPA-PSK
psk="WIFI password"
}
启用 ssh
在 SD 卡的根目录创建空文件 ssh,可通过 touch ssh
实现
修改配置
签名的步骤都完成后就可以把 SD 卡插入到树莓派中了,上电开机了。在路由中查看树莓派中分配到的 IP ,可以在路由中把树莓派的 IP 固定下来,方便后面登录。
ssh pi@10.10.50.42
登录到树莓派中,默认密码为raspberry
sudo raspi-config
可以修改一些系统配置,比如修改密码、开启 VNC 服务我一般会添加 SSH key 省得后面每次登录输入密码
安装 cups
sudo apt-get update && sudo apt-get install cups
安装 cupssudo usermod -a -G lpadmin pi
运行当前 pi 用户配置 cupssudo service cups stop
关闭 cups 服务sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak
备份默认配置sudo vi /etc/cups/cupsd.conf
修改 cups 的配置,允许在浏览器添加打印机,可参考 我的配置。这个配置在局域网的话应该是通用的,允许来自局域网的请求sudo service cups start
启动 cups 服务- 在浏览器通过
http://raspberry_pi_ip:631
应该就可以添加打印机了
安装打印机驱动
由于我的打印机是 HP LaserJet Professional p1106,官方并没有提供 Linux 的驱动,所以需要安装第三方的驱动 foo2zjs,这个驱动支持 HP P1102,但我的 P1106 用起来也没什么问题。
编译安装 foo2zjs:
1
2
3
4cd $HOME && \
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz && \
tar zxf foo2zjs.tar.gz && cd foo2zjs && \
make && sudo make install && sudo make install-hotplug && sudo make cupssudo service cups start
启动 cups 服务在浏览器通过
http://raspberry_pi_ip:631
应该就可以添加打印机了这时候在系统里面添加打印机应该就能发现
VNC 登录
- 开启 VNC server 后,可以通过
brew install --cask vnc-viewer
安装 VNC client。 - 在 VNC Viewer 中添加树莓派的 IP 地址即可登录树莓派的桌面
后记
除了上面提到的操作之外,我额外配置了 zsh,docker 等,由于都是常规 Linux 操作再次就不再赘述了。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26➜ neofetch
`.::///+:/-. --///+//-:`` pi@raspberrypi
`+oooooooooooo: `+oooooooooooo: --------------
/oooo++//ooooo: ooooo+//+ooooo. OS: Raspbian GNU/Linux 10 (buster) armv7l
`+ooooooo:-:oo- +o+::/ooooooo: Host: Raspberry Pi 3 Model B Rev 1.2
`:oooooooo+`` `.oooooooo+- Kernel: 4.19.75-v7+
`:++ooo/. :+ooo+/.` Uptime: 3 days, 23 hours, 19 mins
...` `.----.` ``.. Packages: 1494 (dpkg)
.::::-``:::::::::.`-:::-` Shell: zsh 5.7.1
-:::-` .:::::::-` `-:::- Terminal: /dev/pts/0
`::. `.--.` `` `.---.``.::` CPU: BCM2835 (4) @ 1.200GHz
.::::::::` -::::::::` ` Memory: 203MiB / 926MiB
.::` .:::::::::- `::::::::::``::.
-:::` ::::::::::. ::::::::::.`:::-
:::: -::::::::. `-:::::::: ::::
-::- .-:::-.``....``.-::-. -::-
.. `` .::::::::. `..`..
-:::-` -::::::::::` .:::::`
:::::::` -::::::::::` :::::::.
.::::::: -::::::::. ::::::::
`-:::::` ..--.` ::::::.
`...` `...--..` `...`
.::::::::::
`.-::::-`
---EOF---