“Raspberry + CUPS + HP M1136 = 无线网络打印, 第一篇文章尝试,记录一次应用实战”
办公室需要一台打印机,第一次买,惊讶于如此便宜的京东价格,于是到了一台这货,HP M1136不算简单的拆机安装之后,发现了个悲剧,只支持USB,不支持网络打印。作为一名实战主义码仔,当然不会直接退货这么Low的方法来解决(使用后不支持退货,囧),拿出空闲的树莓派做个无线打印服务器是个正当方式

1.刷系统
常规操作,不赘述,SDFormatter 格式化TF卡,Win32 DiskImager写入系统
系统使用:Raspberry Pi Desktop

2.安装驱动
树莓派驱动打印机进行打印,肯定是需要安装驱动的,于是上HP官网,发现其为第三方的开发者方式提供,驱动为hplip

不过,并不推荐从这里直接下载,因为真的很慢.......推荐采用更简单的方式

整个过程耗时较久,不过好歹一路的yes和enter,比较省心,更赞的是安装hplip后将一同安装cups。而cups即为打印服务器的服务主体

3.配置CUPS
正常安装完hplip之后,需要简单进行cups配置
sudo service cups stopsudo nano /etc/cups/cupsd.conf
(1)修改默认监听地址,cups默认只监听本机IP地址,导致只能本地访问,修改后如下
# Only listen for connections from the local machine.#Listen localhost:631Listen 0.0.0.0:631
(2)配置可访问服务
# Restrict access to the server...<Location />Order allow,denyAllow from @Local</Location># Restrict access to the admin pages...<Location /admin>Order allow,denyAllow from @Local</Location># Restrict access to configuration files...<Location /admin/conf>AuthType DefaultRequire user @SYSTEMOrder allow,denyAllow from @Local</Location>
这部分相应的配置网络上也比较多的介绍,我这边的网络内有应用管控网关,所以简单的配置下就好了。其他的也可以查阅相应文档。
(4)添加用户权限
这是很重要的一部,如果不加,后续添加打印机会出现forbidden,我这的用户为树莓派默认用户pi
sudo usermod -a -G lpadmin pisudo services cups start
至此,即可以启动服务
4.CUPS添加打印机
打开浏览器输入 树莓派IP:631

(1)添加打印机(记得将打印机USB插入到树莓派,并将打印机上电)

需要输入用户名密码(用户:pi,密码:********)
(2)选择打印机(选择带USB字样)

(3)打印机命名

取个简单而且标识性的名字,同时一定记得将 sharing进行勾选
(4)选择PPD文件
PPD文件为打印机打印描述文件,即为描述打印的打印参数,如支持的纸张之类。选项中没有也可以从其他平台的驱动中拷贝一个并提供

至此,添加完成,在Printers菜单即能看到已经添加完成的打印机

括号内容为打印服务状态,空闲、可接受打印任务、共享
5.客户端添加网络打印
办公电脑均为windows,进入控制面板,硬件和声音,设备和打印机,添加打印机

(1)直接进行添加

不用等待,直接手动添加
(2)直接进行添加

输入 http://树莓派IP:631/printers/打印机名称,即会出现打印机型号选择

如果这里没有对应的厂商或者型号,两种方式可以解决:①安装官方驱动,这个过程中可能需要usb直连电脑安装(hp的部分驱动在win10下自解压后无法自动启动,可以在temp目录或者自己解压后运行setup)②找到相近的型号使用(这两种方法都试过,都是可行的)

到此,所有的工作都安装完毕,其中也省略了对一般基本操作的描述,如配置树莓派的网络,无线网络的连接、SSH环境的搭建等
6.使用打印
使用和正常的打印机使用没有差别,文档里按ctrl + p

测试了页面调整打印也都是正常的,这两个小家伙就这么放着开始正常的工作了。到目前都工作的挺好

(文中少部分截图来自网络和官网:如有问题请联系)
后记:
第一次用订阅号,第一次在订阅号写文章,不知道怎么样写比较好,想到哪里写到哪里。没有其他的目的,只想将自己实践过程中的不涉及商业的部分作为一种记录,互联网很好,很多的资源和资料可以查到,也作为一种对资源结合自身实践的整理。
后续给自己的鼓励,尽量输出有价值内容,无论是环境搭建、还是代码分析,或者是代码调试,呈现的都是干货,给自己总结,也给需要的少踩坑




