家里华硕路由和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
如果没有上面添加访问权限,就只能在树莓派上用127.0.0.1:631来打开web界面。
进入Administration>Printers下的Add Printer
可以看见我的打印机已经被自动识别了,对于树莓派来讲他是个本地打印机
Name可以写的好记一些,勾上Share This Printers
似乎一开始就是完整安装,已经内置好了我的打印机驱动
这里就是一些具体的打印设置了,因机型而异,树莓派上的设置到此为止。
PC上添加打印机
我使用的是win7,控制面板>设备和打印机>添加打印机>无线打印机
这一步无需苦等,直接点“我需要的打印机不在列表中”
据说是由于CUPS实现广播利用的是Bonjour协议,而Windows默认不支持Bonjour,所以直接使用Windows添加打印机无法发现打印机的网络位置。
打印机位置,名称就如上面name设置
提示选择打印机驱动,如果你以前在电脑上装过这台打印机驱动,就能在对应厂商下找到打印机型号。
打印机添加完成,可以开始让他干活了,各种维护设置一样不少。
在CUPS中添加打印机之后即可自动实现AirPrint与IPP广播,iphone,ipad和安卓设备也能打印,无需配置。
主要参考文章:
http://www.ncnynl.com/ar…有关登入web的权限问题:
http://www.cnblogs.com/leav…
扫描仪
树莓派上sane程序设置
cups程序似乎只有网络打印机解决方案,要实现无线扫描,需要借助sane程序。
网上找了很多实现网络扫描仪的方法,基本都是路由刷openwrt,一上来是安装sane,然而我们的树莓派已经自带了。
输入
scanimage -L
确实可以看见扫描仪已被识别。
可以尝试
aptitude install xsane
安装sane的图形化界面,就可以打开树莓派远程桌面使用了。
根据多次尝试,只需要编辑/etc/sane.d/saned.conf,添加:
192.168.1.0/24
网络扫描仪配置就完成了~
- 很多有关openwrt路由的教程提到安装和启用xinetd服务,树莓派似乎不做这步也没问题
- /etc/default/saned的配置文件,RUN=no一样可以使用
- /etc/services 下原本就有 sane-port 6566/tcp sane saned
- sudo service saned restart会提示saned.service is masked,无解
PC端扫描仪设置
扫描仪客户端下载:http://sanetwain.ozuzo.net/#download
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…
sudo service saned restart会提示saned.service is masked,无解——–这句话就是我遇到的问题,要接着怎么做才行?
不用管它,如果你scanimage -L,能够看到你的扫描仪,就是能用的,添加允许访问的IP就可以了。如果你的设备只能打印没有扫描,那就。。
我并没有连接打印机和扫描仪,只是在树莓派上想提前做好准备,打印机已经可以网页访问,就差插上打印机就添加了。扫描仪需要安装了以后,执行那些操作才能成功吗?
你说的加入允许访问的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小软件来访问网络上的扫描仪,上面都有提到。日常用用是足够的,出图很快也稳定。
我的是debian系统,你说的试试,麻烦了,不行再找你
要添加地址这个动作,我看其他教程没有提及,另外扫描的文件存在哪里呢??
SaneTwain会询问你
又折腾一下,感觉都解决啦,明天联机试试
并不能正常使用树莓派的CUPS在我的打印机上。
折腾了一晚上。主要的问题在于配置完CUPS并且添加打印机的时候,树莓派识别出的打印机型号(Canon LBP 3310)并不在提供支持的列表中。
尝试了使用近似的驱动(LBP 3XXX),然而并没有办法打印出测试页。
同时上Canon官网下载对应Linux驱动,从.deb文件中解压出ppd文件,但是单独添加之后依然没有作用。
于是想尝试直接在树莓派上运行安装驱动的.deb文件(dpkg -i ####.deb),然而被告知架构是ARM7系列的不可以安装i386和64位的驱动。
问下楼主有什么解决思路吗?(有看到树莓派论坛的装了一个模拟什么32位的模拟器,然后开模拟器装驱动什么的,还有看到直接改32位驱动代码到arm7可用的大神。但是感觉难度都太高了)
能力有限无法帮助到你,可以看看这里?有提及到你的型号https://wiki.archlinux.org/index.php/CUPS/Printer-specific_problems#CAPT
看过了,还是没有办法。。。里边提到的驱动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) …
···
但是还是没有办法直接打印。也没法测试单单树莓派是不是好用(估计不行)
考虑到修改代码和模拟器都不是一个合适的办法(不会啊 )遂放弃搞成树莓派的内网打印这个想法了。
===
有一个办法是把CUPS装到路由器上,但是路由器(网件的4300)是在太破,虽然刷了openwrt,但是系统内存很小,就70多兆,记得树莓派的 CUPS一装就装了120多兆,而openwrt的CUPS包版本非常低而且似乎不再维护了,所以想想还是不想试了。。。没希望也就没失望。。。
===
所以后来暂时直接接到macbook上,用一个叫Printopia的软件共享给iPad等打印,但是。。。
接着电源待机(Sleep)的时候我的macbook在发烫
是TM后台开了这个服务吗。。。卧槽我就是想其他设备上用个打印机怎么就这么倒霉。。。
可能这系列打印机驱动比较特殊,树莓派不行路由应该也不行,都是ARM的。。
嗯。不过后来发现了一个有意思的东西是。。。
在MacOS上的浏览器敲击 http://localhost:631 ,是会出现CUPS页面的。
似乎MacOS是默认把CUPS作为默认的核心服务。
那么这个有什么用呢。。。
好像可以用来修改一些默认的单双面打印的设置。。。(好吧,就是CUPS里的修改默认打印属性的功能。。。)
或者像我这样没有办法用树莓Pi搭建的可以考虑用一台废旧的Macbook搭建打印服务器(真奢侈)
不过如果要开启页面同样也要在控制台输入:cupsctl WebInterface=yes
我选择找个垃圾PC跑windows做打印服务器,或者重买个打印机(滑稽
看到貌似有给X86的linux用的驱动
大佬,我试了你的办法,我的也是一体机,打印可以正常使用,但是扫描仪却识别不出来,有什么办法吗
[…] 参考:树莓派搭建网络打印机 扫描仪服务器 […]
关于你安装cups自带佳能驱动???我的不带根据网上查询安装了驱动包可是一直提示复制ppd文件失败很奇怪