最新消息:

Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005

编程 eben 1978浏览

今天的主角是Raspberry pi树莓派。Raspberry Pi可扩展性强,除自身带有视音频输出口,两个USB接口,一个以太网接口之外,Raspberry Pi不仅能为家里搭一些轻量级服务器,还能成为打印服务器、下载服务器、简易NAS等,还可通过购买扩展卡的方式增加摄像头与遥控功能。。。。。总之绝对是把好手Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005。

今天的任务是借助Raspberry pi树莓派把家里的打印机最终实现谷歌云打印功能(自己线下折腾了两天最终符合自己预期效果Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005)。

一、准备工作
    1.Raspberry pi树莓派。(已安装好系统。店主本人用树莓派做了云电视机顶盒,安装了xbian系统)
   2.usb接口打印机(不限型号,店主的是 惠普HP M1005 MFP 多功能打印复印一体机)。
   3.Google 账号(用于实现Google cloud print)
二、实施步骤
主要分两步:
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