树莓派搭建网络打印机----HP LaserJet P1008

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/windsnow1/article/details/88026028

树莓派搭建网络打印机

摘要

实验室大家打印文件的时候,要么去打印机旁的电脑上打印,要么通过网络邻居将任务发送到打印机旁边的计算机上。为了腾出这台计算机,同时让每个人能在自己的计算机通过网络打印。我们想到用树莓派来代替这台计算机,实现实验室的网络打印机环境搭建。

环境介绍:

我所使用的树莓派型号是:Raspberry Pi 2 Model B V1.1。这款树莓派不带无线网口,但是有一个以太网口。
我所使用的打印机是HP LaserJet P1008。

准备工作:

1.准备树莓派的环境
我们先对树莓派烧录系统,系统下载:https://www.raspberrypi.org/downloads/raspbian/ 我选择的是 Raspbian Stretch with desktop,可以根据自己的需要进行选择。

使用读卡器,插上TF卡,连接PC。可以使用SD Card Formatter先对TF卡进行格式化。然后使用USB Image Tool烧录下载的系统。附上USB Image Tool使用教程链接:http://shumeipai.nxez.com/2013/08/31/usb-image-tool.html
格式化和烧录工具很多都可以,我只是比较习惯这两款。

树莓派插上TF卡,连接好HDMI显示屏,接上无线鼠标和键盘,连接以太网,连接打印机,上电。

完成系统开启工作。

2.树莓派网络环境准备
检测是否连接互联网:命令行输入:

ping www.baidu.com

查阅网络环境,即树莓派的IP地址:

我们可以知道树莓派的IP:192.168.137.87
MAC地址:B8-27-EB-0B-F1-9F

安装ssh和配置ssh开机启动,以备远程登录使用。

sudo apt-get install openssh-server

检查ssh服务是否开启

ps -e | grep ssh

如果列表只有ssh-agent,没有sshd表示没有开启,那么开启ssh服务:

sudo /etc/init.d/ssh start

此时再次检查ssh服务,会发现列表已经存有sshd了。

使用putty工具即可远程登录树莓派了,如下图:

设置开机启动ssh服务:打开/etc/rc.local文件

sudo gedit /etc/rc.local 
#没有gedit编辑器 可以使用vi vim 或者 sudo apt-get install gedit

在末尾 exit 0的前一行,添加开启ssh服务代码

/etc/init.d/ssh start

此时,开机启动后ssh服务便开启,可以使用远程登录树莓派了。

3.设置树莓派静态IP

编辑DHCP配置文件

sudo gedit /etc/dhcpcd.conf

末尾内容添加如下:

interface eth0
#etho是以太网卡名字 192.168.1.65是树莓派IP 
#routers是路由器IP domain_name_servers是DNS服务器IP
static ip_address=192.168.1.65/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

最后sudo reboot重启生效即可。

正式搭建工作

  1. 安装惠普hp打印机驱动,此安装会同时安装cups服务,cups服务是我们搭建网络打印机的基础服务,关于cups服务参考:https://baike.baidu.com/item/CUPS/13007261?fr=aladdin or https://www.cups.org/
sudo apt-get install hplip
  1. 将用户添加入lpadmin,我的用户名是pi。如果不添加,之后添加网络打印机,会报错:Unable to add printer forbidden。
sudo usermod -a -G lpadmin pi
  1. 修改cups配置环境,为了安全起见,cups服务默认是只能本地用户localhost访问的。现在我们需要远程访问,需要修改配置文件/etc/cups/cupsd.conf。在修改配置文件前,先关掉cups服务,然后再开启。
sudo service cups stop           #关掉服务
sudo gedit /etc/cups/cupsd.conf  #开始编辑
sudo service cups start          #开启服务

编辑内容修改为:

# Only listen for connections from the local machine.
#Listen localhost:631
Listen 0.0.0.0:631                             #此行是修改行,并注释上一行
...
...
...
# Restrict access to the server…
<Location />
Order allow,deny
Allow from @Local                              #此行是添加行
</Location>
 
# Restrict access to the admin pages…
<Location /admin>
Order allow,deny
Allow from @Local                             #此行是添加行
</Location>
 ...
# Restrict access to configuration files…
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from @Local                             #此行是添加行
</Location>

一共有四处修改,如果不修改,远程登录网页访问不了,记得重新开启cups服务。

  1. 如果是其他打印机,就可以进行远程打印了,但是HP LaserJet P1008还需要一下操作:安装foo2xqx: a linux printer driver for XQX stream protocol。
cd ~                                    #进入用户目录
#开始下载foo2zjs.tar.gz
sudo wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
#解压
tar zxf foo2zjs.tar.gz
#进入解压目录
cd foo2zjs

#执行以下操作:
sudo make     #编译
sudo ./getweb P1008
sudo make install
sudo make install-hotplug
sudo make cups
  1. 如果以上工作没问题,可以通过cups服务添加网络打印机设置了。打开同一局域网下计算机的浏览器,输入树莓派IP + :613。例如我的树莓派IP是192.168.137.87,那么输入192.168.137.87:631。

选择菜单栏条目【Administration】, 进而选择【Printer】下的【Add Printer】按钮。选择继续不安全网页,进去。这是电脑的防病毒问题,不需要,继续点击【Add Printer】按钮。弹出一个表单,输入树莓派的用户名和密码。

点击【Continue】

设置网络打印机名字,描述【可选】,然后勾选share,如下:

添加好PPD文件,关于这个PPD文件,提供下载链接:https://download.csdn.net/download/windsnow1/10980586

设置打印设置:

此时便配置成功了。可以打印一下测试页。

用户使用手册

说明:

路由器的IP是:192.168.1.1, 我已经设置树莓派的静态IP是192.168.1.65。
HP LaserJet P1008的网络地址是:http://192.168.1.65:631/printers/Printer406

现在以windows 10系统为例:
打开【控制面板】----【查看设备和打印机】

点击【添加打印机】

点击【我所需的打印机未列出】----勾选【按名称选择共享打印机】----输入网络打印机地址:http://192.168.1.65:631/printers/Printer406,切记协议是http,不是https。

选择厂商是HP 打印机是HP LaserJet P1008,如果没有可以选择HP LaserJet P1008之后的版本,例如P1015n等等,高版本向下兼容。

点击,确定即添加打印机成功。恭喜你,现在可以使用这款打印机进行网络打印了。

最后,倒腾了一天半的时间,感谢各路网路大咖,谢谢他们博文的分享,同时感谢我心中的男神对我的帮助。欢迎大家有问题指出,技术在于分享,欢迎大家交流问题,有问题,可以在下留言,我会一一回复。

参考链接:
https://blog.csdn.net/qq813480700/article/details/71597808
https://www.cnblogs.com/taojintianxia/p/6026225.html
https://blog.csdn.net/nullpointer2008/article/details/79664253

猜你喜欢

转载自blog.csdn.net/windsnow1/article/details/88026028
今日推荐