Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005
(2014-03-20 10:51:05)
标签:
it |
在智能家居流行的今天,作为一个极客店主(淘宝店:生活科技+),当然不能落后。今天的主角是Raspberry pi树莓派。Raspberry
Pi可扩展性强,除自身带有视音频输出口,两个USB接口,一个以太网接口之外,Raspberry
Pi不仅能为家里搭一些轻量级服务器,还能成为打印服务器、下载服务器、简易NAS等,还可通过购买扩展卡的方式增加摄像头与遥控功能。。。。。总之绝对是把好手http://www/uc/myshow/blog/misc/gif/E___6743EN00SIGG.gifpi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005" TITLE="Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005" />。
1.Raspberry
pi树莓派。(已安装好系统。店主本人用树莓派做了云电视机顶盒,安装了xbian系统)
2.usb接口打印机(不限型号,店主的是 惠普HP M1005 MFP
多功能打印复印一体机 )。
3.Google 账号(用于实现Google cloud print)
今天的任务是借助Raspberry
pi树莓派把家里的打印机最终实现谷歌云打印功能(自己线下折腾了两天最终符合自己预期效果http://www/uc/myshow/blog/misc/gif/E___6708EN00SIGG.gifpi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005" TITLE="Raspberry pi树莓派安装CUPS实现打印共享服务器及谷歌云打印功能for 惠普HP M1005" />)。
一、准备工作
二、实施步骤
主要分两步:
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
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.
全部工作完成,至此可以在任何地方,任何设备包括手机,利用谷歌云打印了。树莓派耗电很小,可以一直开着都没有问题呵呵。。。。。。。