家里华硕路由和NAS上线以后,树莓派又开始落灰了。于是拿来和同样常年落灰,偶尔接上usb打印的Canon_pixma_MG2200一体机,凑个无线打印,扫描系统。这样家里多台电脑打印就不用抱着打印机到处跑了,手机都能直接打印。

但是做好才发现为什么我不直接把这些功能写进路由器里呢

前期准备

树莓派是3B型,用的是RaspbianOS,自带wifi很方便,只需要插一根电源线,再接上usb打印机就可以了。

当然第一次开机装系统还是要接一个键盘显示器的,连上wifi配好SSH之后就可以全部拔掉用别的电脑来管理了,我在windows下用的是putty。因为对linux命令还不是很熟悉,又做了个VNC服务,这样就可以看到远程桌面了。

此外我还开启了roo账户。

打印机使用的是佳能pixma系列MG2200扫描喷墨打印一体机,A4的文档打印和扫描复印足够用了,廉价实惠,能实现无线扫打就更完美了。

我在路由上将树莓派静态分配到192.168.1.144

无线打印机

树莓派上cups程序设置

用上面提到的putty软件root登录到树莓派

安装cups

apt-get update
apt-get install cups

cups配置

这个时候其实已经可以去访问http://192.168.1.144:631了,只是可能会提示“Forbidden”,自然是访问权限问题,所以要进行配置。

先关闭服务

sudo service cups stop

打开/etc/cups/cupsd.conf

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
</Location>

例如这一段,可以在第三行后加上:

Allow 192.168.1.0/24

来允许局域网内来访问

为了保证不被访问权限问题绊倒,我给文件中每个Order allow,deny下面都加上了Allow 192.168.1.0/24,简单又暴力。

启动服务

sudo service cups start

在web下继续配置打印机

PC打开浏览器输入192.168.1.144:631

1

如果没有上面添加访问权限,就只能在树莓派上用127.0.0.1:631来打开web界面。
进入Administration>Printers下的Add Printer

2

可以看见我的打印机已经被自动识别了,对于树莓派来讲他是个本地打印机

3

Name可以写的好记一些,勾上Share This Printers

4

似乎一开始就是完整安装,已经内置好了我的打印机驱动

5

这里就是一些具体的打印设置了,因机型而异,树莓派上的设置到此为止。

PC上添加打印机

我使用的是win7,控制面板>设备和打印机>添加打印机>无线打印机

7

这一步无需苦等,直接点“我需要的打印机不在列表中”
据说是由于CUPS实现广播利用的是Bonjour协议,而Windows默认不支持Bonjour,所以直接使用Windows添加打印机无法发现打印机的网络位置。

8

打印机位置,名称就如上面name设置

9

提示选择打印机驱动,如果你以前在电脑上装过这台打印机驱动,就能在对应厂商下找到打印机型号。

10

打印机添加完成,可以开始让他干活了,各种维护设置一样不少。

在CUPS中添加打印机之后即可自动实现AirPrint与IPP广播,iphone,ipad和安卓设备也能打印,无需配置。

主要参考文章:
http://www.ncnynl.com/ar…

有关登入web的权限问题:
http://www.cnblogs.com/leav…

扫描仪

树莓派上sane程序设置

cups程序似乎只有网络打印机解决方案,要实现无线扫描,需要借助sane程序。

网上找了很多实现网络扫描仪的方法,基本都是路由刷openwrt,一上来是安装sane,然而我们的树莓派已经自带了。

输入

scanimage -L

11

确实可以看见扫描仪已被识别。

可以尝试aptitude install xsane安装sane的图形化界面,就可以打开树莓派远程桌面使用了。

根据多次尝试,只需要编辑/etc/sane.d/saned.conf,添加:

192.168.1.0/24

网络扫描仪配置就完成了~

  1. 很多有关openwrt路由的教程提到安装和启用xinetd服务,树莓派似乎不做这步也没问题
  2. /etc/default/saned的配置文件,RUN=no一样可以使用
  3. /etc/services 下原本就有 sane-port 6566/tcp sane saned
  4. sudo service saned restart会提示saned.service is masked,无解

PC端扫描仪设置

扫描仪客户端下载:http://sanetwain.ozuzo.net/#download

12

SaneTwain这款软件小巧好用,将软件SaneTwain.ds放进C:\Windows\System32,之后如图上设置即可。扫描设置挺丰富的,足够用了。


有用没用的参考:

http://www.right.com.cn/forum/thread-48897-1-1.html
http://www.right.com.cn/forum/thread-196670-1-1.html
http://upsangel.com/openwrt/openwrt-share-printer-scanner-server/

(上面的帖子是装在openwrt上的,大同小异。)

http://www.jb51.net/os/Ubuntu/240942…

提及xsane:http://www.win789.com/linux…

《“树莓派搭建网络打印机 扫描仪服务器”》 有 18 条评论

  1. sudo service saned restart会提示saned.service is masked,无解——–这句话就是我遇到的问题,要接着怎么做才行?

    • 不用管它,如果你scanimage -L,能够看到你的扫描仪,就是能用的,添加允许访问的IP就可以了。如果你的设备只能打印没有扫描,那就。。

  2. 我并没有连接打印机和扫描仪,只是在树莓派上想提前做好准备,打印机已经可以网页访问,就差插上打印机就添加了。扫描仪需要安装了以后,执行那些操作才能成功吗?

  3. 你说的加入允许访问的IP,说的太简单了,加在哪里呀?我是0水平起步,请多多指教,能详细点

    • 如果你已经可以访问打印机设置网页,那打印机的问题就不大了,剩下的网页上设置就行。关于扫描仪,如果你用的是树莓派官方提供的那个RASPBIAN系统,自带就有扫描仪的驱动sane。编辑/etc/sane.d/saned.conf,添加:192.168.1.0/24。表示192.168.1.*被允许访问,如果你内网是192.168.0.*就写192.168.0.0/24,类推。之后使用一个SaneTwain小软件来访问网络上的扫描仪,上面都有提到。日常用用是足够的,出图很快也稳定。

  4. 要添加地址这个动作,我看其他教程没有提及,另外扫描的文件存在哪里呢??

  5. 并不能正常使用树莓派的CUPS在我的打印机上。

    折腾了一晚上。主要的问题在于配置完CUPS并且添加打印机的时候,树莓派识别出的打印机型号(Canon LBP 3310)并不在提供支持的列表中。

    尝试了使用近似的驱动(LBP 3XXX),然而并没有办法打印出测试页。
    同时上Canon官网下载对应Linux驱动,从.deb文件中解压出ppd文件,但是单独添加之后依然没有作用。
    于是想尝试直接在树莓派上运行安装驱动的.deb文件(dpkg -i ####.deb),然而被告知架构是ARM7系列的不可以安装i386和64位的驱动。

    问下楼主有什么解决思路吗?(有看到树莓派论坛的装了一个模拟什么32位的模拟器,然后开模拟器装驱动什么的,还有看到直接改32位驱动代码到arm7可用的大神。但是感觉难度都太高了)

  6. 看过了,还是没有办法。。。里边提到的驱动CAPT就是我之前从官方Cannon下载下来的驱动。
    之前装不了就是使用dpkg安装时提示
    ···
    dpkg: error processing archive cndrvcups-capt_2.71-1_i386.deb (–install):
    package architecture (i386) does not match system (armhf)
    Errors were encountered while processing:
    cndrvcups-capt_2.71-1_i386.deb
    ···
    我尝试用dpkg -i –force-all ###.deb来强行忽略架构问题安装驱动,虽然安装成功,
    ···
    dpkg: warning: overriding problem because –force enabled:
    dpkg: warning: package architecture (i386) does not match system (armhf)
    Selecting previously unselected package cndrvcups-common.
    (Reading database … 126215 files and directories currently installed.)
    Preparing to unpack cndrvcups-common_3.21-1_i386.deb …
    Unpacking cndrvcups-common (3.21-1) …
    dpkg: cndrvcups-common: dependency problems, but configuring anyway as you requested:
    cndrvcups-common depends on libc6 (>= 2.3.6-6).
    cndrvcups-common depends on libglade2-0 (>= 1:2.5.1).
    cndrvcups-common depends on libglib2.0-0 (>= 2.12.0).
    cndrvcups-common depends on libgtk2.0-0 (>= 2.8.0).
    cndrvcups-common depends on libstdc++6 (>= 4.1.1-12).
    cndrvcups-common depends on libcups2 | libcupsys2 (>= 1.2.7).

    Setting up cndrvcups-common (3.21-1) …
    ···
    但是还是没有办法直接打印。也没法测试单单树莓派是不是好用(估计不行)
    考虑到修改代码和模拟器都不是一个合适的办法(不会啊 [ac03] )遂放弃搞成树莓派的内网打印这个想法了。
    ===
    有一个办法是把CUPS装到路由器上,但是路由器(网件的4300)是在太破,虽然刷了openwrt,但是系统内存很小,就70多兆,记得树莓派的 CUPS一装就装了120多兆,而openwrt的CUPS包版本非常低而且似乎不再维护了,所以想想还是不想试了。。。没希望也就没失望。。。
    ===
    所以后来暂时直接接到macbook上,用一个叫Printopia的软件共享给iPad等打印,但是。。。
    接着电源待机(Sleep)的时候我的macbook在发烫 [ac12]
    是TM后台开了这个服务吗。。。卧槽我就是想其他设备上用个打印机怎么就这么倒霉。。。

    • 可能这系列打印机驱动比较特殊,树莓派不行路由应该也不行,都是ARM的。。

      • 嗯。不过后来发现了一个有意思的东西是。。。
        在MacOS上的浏览器敲击 http://localhost:631 ,是会出现CUPS页面的。

        似乎MacOS是默认把CUPS作为默认的核心服务。

        那么这个有什么用呢。。。
        好像可以用来修改一些默认的单双面打印的设置。。。(好吧,就是CUPS里的修改默认打印属性的功能。。。)
        或者像我这样没有办法用树莓Pi搭建的可以考虑用一台废旧的Macbook搭建打印服务器(真奢侈)

        不过如果要开启页面同样也要在控制台输入:cupsctl WebInterface=yes

        • 我选择找个垃圾PC跑windows做打印服务器,或者重买个打印机(滑稽
          看到貌似有给X86的linux用的驱动

  7. 大佬,我试了你的办法,我的也是一体机,打印可以正常使用,但是扫描仪却识别不出来,有什么办法吗

  8. 关于你安装cups自带佳能驱动???我的不带根据网上查询安装了驱动包可是一直提示复制ppd文件失败很奇怪

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注


*

关闭菜单