树莓派改造无线打印机

如何将一台打印机利用树莓派改造为无线的,这样局域网内的所有手机和电脑都可以快乐地使用它而不需要到指定的电脑上打印啦!

所需物品

  1. 树莓派(我用的型号是 3B)
  2. 打印机(我用的型号是惠普 P1106)

树莓派安装的系统是 Raspbian,使用 USB 线连接到打印机。

安装和配置

1. 设置 root 账户的密码

如果你开启了 root 账户,则忽略这一步,否则执行以下命令:

1
sudo passwd root

接着输入和确认 root 密码,如果想要使用 root 账户的话,可以继续执行下面的命令,否则跳过就可以了。可以使用 sudo passwd --unlock root 开启 root 账户,使用 sudo passwd --lock root 关闭 root 账户。

2. 安装打印机服务

这里就以惠普打印机为例,首先安装 hplip 即惠普的打印机连接服务:

1
sudo apt-get install hplip

再安装 cups 使用无线打印服务:

1
sudo apt-get install cups

安装完成后,将用户加到 lpadmin 用户组,执行

1
2
sudo usermod -a -G lpadmin pi
sudo cupsctl --remote-any

3. 添加打印机

在局域网中(或树莓派上)访问 http://树莓派ip地址:631/admin 进入 cups 的设置网页,可能需要输入树莓派的账户密码,然后点击 Add Printer 添加打印机

image-20200909100928653

按照给出的名称选择自己的打印机,点击 Continue

image-20200909101920752

在 Description 中填写一个名称,这个名称会显示在局域网中的其他电脑上(但是似乎这里填写的都不会生效,需要在后面再次设置),然后勾选 Sharing,

image-20200909101300397

在下一个页面中,打印机型号对应的驱动(Model)会显示在前面,选择对应的那个(如果有多个随意选一个即可),如果后面显示“requires proprietary plugin (en)”(如图),则后面需要做额外的配置,如果这里没有你的打印机型号,可以搜索下载你的打印机型号的 PPD 文件,然后从下面的 Or Provide a PPD File 那里选择它上传,之后点击 Add Printer 完成添加。点击下载惠普 HP 1106 PPD 文件

image-20200909101812421

4. 额外步骤

如果上一步中,如果 Model 选择中显示“requires proprietary plugin (en)”,则需要在树莓派中执行:

1
hplip-plugin

如果执行成功,则说明可以使用了,在刚才的网页中点击上面的 Administration,点击 Manage Printers

image-20200909102238244

点击刚才添加的打印机,在 Maintenance 中选择 Print Test Page,如果可以打印成功,则说明添加成功

image-20200909102344001

如果没有打印出测试页,可以执行 cat /var/log/cups/error_log 查看日志,我当初显示 Filter Failed(是没有执行 hplip-plugin 造成的),其他错误你可以通过分析日志搜索解决办法。

如果 Description 仍是默认的,可以在 Administration 中点击 Modify Printer,然后给它设置一个 Description。

删除打印机、编辑打印队列等功能都可以在这个网页中实现。

5. 使用打印机

在支持打印的 Android 手机、iOS 手机、Windows 以及 Mac 电脑上,直接搜索打印机就可以搜索出打印机,一般名称为 Description描述 @ Pi名称,这里以 Windows 为例,打开设置,设备,打印机和扫描仪,点击“添加打印机或扫描仪”,马上就可以搜索出打印机,添加即可。

image-20200909103423084