今天的主角是Raspberry pi树莓派。Raspberry Pi可扩展性强,除自身带有视音频输出口,两个USB接口,一个以太网接口之外,Raspberry Pi不仅能为家里搭一些轻量级服务器,还能成为打印服务器、下载服务器、简易NAS等,还可通过购买扩展卡的方式增加摄像头与遥控功能。。。。。总之绝对是把好手Raspberry
今天的任务是借助Raspberry pi树莓派把家里的打印机最终实现谷歌云打印功能(自己线下折腾了两天最终符合自己预期效果Raspberry
一、准备工作
二、实施步骤
主要分两步:
1.链接树莓派与打印机,主要任务是在树莓派上安装打印机驱动(成败的关键)。各种打印机大同小异。本教程是以自己的惠普HP M1005 MFP为例说明。
2.在树莓派上添加惠普HP M1005 MFP为谷歌云打印机。步骤较简单嘿嘿,稍后讲解。
先来看看第1步:1.链接树莓派与打印机。默认raspberry树莓派已经做好基本设置,IP,SSH之类已经OK。我是用putty作为ssh客户端。在pc电脑上打开putty终端,登陆到树莓派(192.168.1.115:22),我安装的是xbian,默认用户名是xbian(不同系统用后名不一样如pi),默认密码:raspberry。
步骤如下:
1)安装CUPS软件,”CUPS“是linux下可以用通用打印系统
sudo apt-get install build-essential tix foomatic-filters groff dc
sudo apt-get install cups
2)允许pi用户配置CUPS,
sudo usermod -a -G lpadmin xbian
3)修改配置文件
sudo nano /etc/cups/cupsd.conf
替换配置文件(root用户去掉“sudo”)变化和改变的地方以黑体加重处理。
# Listen localhost:631 Port 631 < Location / > # Restrict access to the server... Order allow,deny Allow @local < /Location > < Location /admin > # Restrict access to the admin pages... Order allow,deny Allow @local < /Location > < Location /admin/conf > AuthType Default Require user @SYSTEM # Restrict access to the configuration files... Order allow,deny Allow @local < /Location >
等待安装完成之后对CUPS服务进行相关配置,更改其位于/etc/cups/下的配置文件cupsd.conf如下:
将Listen localhost:631行注释掉,并在其下方增加一行Port 631以监听来自网络的位置。
在上方增加一行ServerAlias *以接受来自网络的请求。
在与区块内增加Allow @Local字段,以实现通过网络访问控制面板。
完成以上修改之后启动cups服务,
sudo /etc/init.d/cups restart
cups安装完成。
———————阶段分割线—————————–
惠普打印机驱动安装(其它品牌打印及有可能跳过此步骤)
HP并没有提供支持ARM架构的驱动,其所有插件都只是针对x86平台。因此这驱动是怎么都装不上的。也在此希望HP能早日推出支持ARM的插件。
使用开源foo2zjs驱动
经过一番搜索之后,发现了一款开源的打印驱动foo2zjs。该驱动支持部分打印机,安装该驱动需要下载其官方网站上的源码包进行编译安装。
过程如下:
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz Unpack: $ tar zxf foo2zjs.tar.gz $ cd foo2zjs $ make $ sudo make install sudo /etc/init.d/cups restart
至此惠普打印机驱动装好
———————阶段分割线—————————–
向CUPS添加共享打印机
驱动安装完成之后即可使用CUPS添加打印机。CUPS自有一套WEB管理界面,监听终端的631接口。
4.在与树莓派同一局域网内;PC端用IE浏览器打开网站“https://192.168.1.115:631/ ”
5.点击“Administrator”界面添加对应的打印机,登录帐号和密码是树莓派的pi用户的密码;Administration -> Add Printer;选中自动发现的本地打印机,点击继续按钮进入打印机设置界面。
在local printers中找到usb连接的打印机,(寻找到你自己的打印机),修改打印机名(例如:“hp”),(越短越好记),这里填写打印机的名称与注释,可以保持默认不变。下面有个“共享该打印机”的复选框要确认选中。然后点击继续按钮进入驱动选择界面。
在列表中选择对应的驱动,所有foo2zjs驱动会注明如HP laserjet M1005 MFP(footmatic/foo2xqx)字样。再点击“添加打印机”按钮即完成了打印机的添加。
到此树莓派的打印机设置就完成了!
至此,本地打印服务器搭建完成了,局域网内的设备都可以发现此网络打印机,添加后就可以打印了。但离我们的终极目标还有一步之遥,那就是云打印–Google cloud print。(爱死你了谷歌!!!)
———————阶段分割线—————————–
2.在树莓派上添加惠普HP M1005 MFP为谷歌云打印机。这个要实现有两个方案,一个是在xbian(pi)上安装chrome,利用浏览器里面的设置来实现,详细看这里。这个方案不理想,作为xbian没装桌面系统,实现起来有难度。推荐第二个方案。利用pyathon脚本连接树莓派与Google cloud print。这个国外的大侠已经帮我们做好了cloudprint。并且非常好用。
安装过程。在终端窗口一个命令搞定。
(apt-get install python-pip python-cups pip install daemon pip install cloudprint) sudo pip install cloudprint -i http://pypi.v2ex.com/simple (万恶的GFW把github官方镜像服务器封了) 安装完成后运行:cloudprint 提示输入谷歌账号:如 myemail@gmai.com 提示输入谷歌账号密码*********** 程序会自动发现网内的打印机并添加到Google cloud print。完。 最后将cloudprint变为开机启动程序。 sudo nano /etc/init.d/cloudprint 添加如下代码 #!/bin/bash # /etc/rc.d/cloudprint # Description: Starts the Google Cloud Print script on startup # ---------------- # ### BEGIN INIT INFO # Provides: Cloud-Print # Required-Start: $cups $network $local_fs $syslog # Required-Stop: $local_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Start Google Cloud Print ### END INIT INFO USER="xbian" PIDFILE="/var/run/cloudprint/pid" case $1 in start) echo -n "Starting Google Cloud Print: " sudo -u $USER cloudprint -d -p $PIDFILE ;; stop) echo -n "Stopping Google Cloud Print: " killall cloudprint ;; restart) echo -n "Restarting Google Cloud Print: " killall cloudprint sudo -u $USER cloudprint -d -p $PIDFILE ;; *) echo "Usage: cloudprint {start|stop|restart}" ;; esac 然后 sudo update-rc.d cloudprint defaults
#####2018年4月12日更新##########
利用上述方法可能在新版的raspbian下,可能会失效。请尝试以下方法。
$ cat $HOME/.config/autostart/cloudprint.desktop [Desktop Entry] Type=Application Exec=cloudprint -d -p /tmp/cloudprint.pid Hidden=false X-GNOME-Autostart-enabled=true Name[en_US]=Cloud Print Name=Cloud Print Comment[en_US]=Share your CUPS printers with google's cloud print. Comment=Share your CUPS printers with google's cloud print.
全部工作完成,至此可以在任何地方,任何设备包括手机,利用谷歌云打印了。树莓派耗电很小,可以一直开着都没有问题呵呵。。。。。。。
转载请注明:落伍老站长 » Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005