在北京读大学期间,各种专业课都要求论文作业,而且不像国外的大学,论文通过邮件提交。前两个学期,需要经常出门找打印店,排很长时间的队,冒着U盘染毒的风险给打印店老板送钱,还有一次熬夜写论文,早上起来整个学校打印店都关门了,差点延误论文提交时间。于是痛下决心在二手网站购置了一台HP LaserJet 1020,花了450大洋,老板还贴心的换了一盒硒鼓。打印机测试正常,但是打印机的确比较老,没有办法进行网络打印。若想让舍友们舒服的使用打印机,翻出了闲置一年的树莓派,决定将树莓派改造为网络打印服务器。本文旨在整理网上搭建网络打印机的教程,帮助大家在过程中少走弯路。
一、部件清单
- 树莓派
- HP LaserJet 1020
- 鼠标键盘 能用即可,在ssh连接之后就可以关闭图形界面了
- SD卡 16GB以上最好
- 电脑一台 本教程基于MacOS
二、准备树莓派
首先得准备好SD卡,如果你之前在上边装载过其他LINUX,则需要对SD卡重新格式化调整。将TF卡插在Mac上,之后在终端输入以下命令,就可以看到系统挂载的所有磁盘,请在其中确认自己TF卡的盘符。
diskutil list
找到盘符之后,在终端输入以下命令,并在Password后输入自己的用户密码就可以格式化SD卡了。
sudo diskutil eraseDisk FAT32 MY_TFCARD MBRFormat /dev/disk2
MY_TFCARD:格式化后的卷标,请使用大写字母
/dev/disk2:需要格式化的盘符,请根据实际SD寸卡盘符填写
然后就可以下载树莓派镜像了,大家可以在 树莓派官网选择官方镜像。这里选择的时候有三个版本。
其中software版自带了一些编程应用,适合SD卡存储较大;Lite版本阉割掉了大部分的功能,包括图形界面,高手向;这里我推荐的是Desktop标准版,在保留了基本的功能(包括图形界面)之后,体量控制在了5GB左右,正常玩家向。
对于没有多余显示屏的玩家,可以尝试购置一块3.5寸的小触控屏幕。笔者由于身处高校,校园网需要额外认证,且宿舍路由器开启了DHCP功能,无法访问路由器主页,所以只能选择自带屏幕驱动的系统,这里有两个网站大家根据自己的屏幕型号进行下载。【1】【2】
对于烧录程序,我推荐balena,一款免费软件,大家可以去balena官网下载,足以满足此次烧录需求。
打开balena,选择解压缩后的img文件,选择我们格式化好的SD卡,点击Flash,稍等片刻即可完成烧录。之后给树莓派插上SD卡打开电源即可点亮屏幕
三、设置树莓派SSH
登陆树莓派之后连接上路由器,在终端中输入以下命令即可查看ip
ifconfig
然后转到我们的电脑上,连接到同一个路由器下,在终端中输入以下命令
ssh [email protected]
在@
后面需根据自身网络更换ip。
输入之后系统提示需要输入密码,树莓派默认密码为raspberry
接下来,为了在下次进入树莓派时ip保持不变,我们需要设定静态ip。查看官方文档 man dhcpcd.conf
可知,需要配置 static IP 的话,只需修改以下参数
vi /etc/dhcpcd.conf
# 使用 vi 编辑文件,增加下列配置项
# 指定接口 wlan0
interface wlan0
# 指定静态IP,/24表示子网掩码为 255.255.255.0
static ip_address=10.15.139.5/24
# 修改完成后,按esc键后输入 :wq 保存。重启树莓派就生效了
sudo reboot
大家可能觉得每次输入默认密码比较繁琐,其实通过sudo passwd pi
即可自行更改
四、安装网络打印机
在共享打印机之前,先分别修改 2 个软件源,这是第 1 个:
sudo vi /etc/apt/sources.list
删除或注释全部内容,添加以下内容:
deb http://mirrors.aliyun.com/raspbian/raspbian jessie main contrib non-free rpi
修改第 2 个软件源:
sudo vi /etc/apt/sources.list.d/raspi.list
删除或注释全部内容,添加以下内容:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ jessie main ui
最后,更新一下软件源:
sudo apt-get update
或者一键换源
sudo sed -i 's#://raspbian.raspberrypi.org#s://mirrors.tuna.tsinghua.edu.cn/raspbian#g' /etc/apt/sources.list
sudo sed -i 's#://archive.raspberrypi.org/debian#s://mirrors.tuna.tsinghua.edu.cn/raspberrypi#g' /etc/apt/sources.list.d/raspi.list
安装Cups
sudo apt-get install cups
在安装过程中可能会报错导致安装失败,例如:
pi@raspberrypi:~ $ sudo apt-get install cups
Reading package lists... Done
E: The value '\stable' is invalid for APT::Default-Release as such a release is not available in the sources
此时我们需要删除掉/etc/apt/apt.conf.d/10defaultRelease文件
sudo rm -f /etc/apt/apt.conf.d/10defaultRelease
安装完成后将pi用户 加入到 lpadmin,pi成为管理员用户
sudo usermod –a -G lpadmin pi
运行远程访问
sudo cupsctl --remote-any
重启CUPS服务
sudo /etc/init.d/cups restart
打开PC浏览器,地址栏输入:https://10.15.139.5:631/
可以看到下图页面则说明安装完成。
依次点击「Administration」-「Add Printer」按照提示配置即可。配置完成后,可以点击「Print Test Page」来打印测试页,如果一切正常,就意味着可以在其他设备上使用这台打印机了,如果不行则需要查询自己打印机是否在这个列表中,如果在,可以按照五进行设置。
五、HPLaserJet1020驱动安装
安装
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
解压:
tar zxf foo2zjs.tar.gz
cd foo2zjs
编译:
make
从Web获取额外的文件(更改为自己打印机的驱动):
./getweb 1020
安装驱动程序,foomatic XML文件,PPD文件和额外文件:
sudo make install
安装热插拔:
sudo make install-hotplug
CUPS管理打印机:
sudo make cups