材料 :树莓派主机 ,sd 卡 ,读卡器 ,HDMI ,鼠标,显示器 ,笔记本电脑win7 HP LaserJet Professional M1136 MFP 打印机
目标 : 让树莓派 作为一个网络打印机 共享给局域网内的用户主机使用
原理:树莓派 添加 LaserJet Professional M1136 MFP 打印机 实现 打印
一个树莓派主机 ,读卡器,以及树莓派上的 sd卡 让我在上面装一个树莓派,让他连接打印机, 并作为 一个打印服务 供局域网内的用户使用。树莓派可以连接wifi
安装树莓派 :
1阅读文档 https://www.raspberrypi.org/downloads/ (有很多方法,可以安装)
2下载 树莓派要使用的镜像 https://downloads.raspberrypi.org/raspios_armhf_latest
https://downloads.raspberrypi.org/raspios_armhf_latest
解压之后会得到一个单独的 .img文件
3,下载烧录工具 ,我这里用的是 上面文档提到的 工具 pi imager
https://downloads.raspberrypi.org/imager/imager_1.4.exe
4,准备好sd 卡 我用的是 16G 的, 将其格式化 为FAT 格式, 格式化工具 https://www.sdcard.org/downloads/formatter/eula_windows/index.html
下载格式化sd 卡的工具 ,系统有时格式化sd 卡会失败
5,格式化完成后 打开imager 将 之前 解压好的 .img 文件写入到 sd卡中
6,写入成功后,打开 sd 卡 ,会看到很多文件 新建 一个文本文件 命名为 ssh ,为了后面可以 直接ssh 登录到 树莓派;
还要增加一个 网络配置文件 , 让 系统启动后自动连接wifi ,虽然第一次 我是手动连的,有可能是因为 ssid 的名字为中文,但后面断电后都会自动连,配置文件名为 wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="wifi名字"
psk="wifi 密码"
}
7,如果 树莓派 在第一次启动时 可以自动连 接我所设定的wifi ,那么,我就不需要 显示器 ,以及 hdmi 了 。我这边 用了几种方法来确定 树莓派的ip ,第一种 是在 树莓派启动之前 在 window 主机上 命令行中使用 arp -a
以及在树莓派启动之后 ,再次使用 arp -a 多出的ip就是 树莓派的ip
我没有成功使用这种方法, 因为我是手动连接wifi ,wifi密码是 在系统里找的文字复制的,,哈哈
第二种 是在 linux 主机上 桥接模式 使用 nmap 命令 获取 局域网内的主机
nmap 192.168.10.0/24
时间会比较久,好像 也不是 很全,不准确,
通过路由器的方法会准确点
由于我这边是 直接手动连接的, 是直接在显示器上看见的, 上面的方法以后在试试,
第一次 启动树莓派时 如果绿灯没闪 ,估计写入sd 卡有问题,要重新写入,绿灯闪后 ,变红灯 说明系统已经启动
可以用上面的方法找ip 去连接
树莓派的有初始密码 raspberry,默认用户 pi
为了防止 断电后ip 都会变 ,将其固定ip写入配置文件 /etc/dhcpd.conf , 保证在此局域网内的ip 不变
sudo vim /etc/dhcpd.conf
interface wlan0 # wifi 接口
static ip_address = 192.168.10.115/24
static routers = 192.168.10.1 # 默认网关
static domain_name_servers = 192.168.1.1 # dns 根据实际情况写
这样之后 , 在尝试 断掉电源 ,启动电源 ,并连接 树莓派
以上就是 树莓拍的设置,接下进行 打印机的添加
首先 可以把打印机 的usb 接口 连接在自己的电脑上试一下 ,因为后面添加网络打印机 要一些驱动,没有驱动 的下载驱动精灵 ,会自动添加 。正常打印之后 ,拔掉 打印机的usb 接口, 将其插到 树莓派的 usb 接口上 。
登录 树莓派 执行 lsusb 查看 主机上是否 有 打印机信息
我这边遇到的情况很奇怪, 我这边 查到的是
Inc LaserJet M1132 MFP 但是 我的打印机却是 LaserJet Professional M1136 MFP
主要的难题就是 驱动的选择
参考这篇文章
https://www.cnblogs.com/lfri/p/12089913.html
https://opensource.com/article/18/3/print-server-raspberry-pi
我是通过在这个
sudo wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
文件中 的 ppd 找到 对应的驱动 ,最后上传才成功的
HP LaserJet Pro M1132s MFP Foomatic/foo2xqx
这个驱动一添加,就好了,另外 要注意的是 hplip 的安装 ,虽然没用到,估计对其他打印有用吧 ,以及上面的文档
下面详细说下操作步骤
1,连接 打印机 usb , 连接后 在命令行中执行 lsusb ,会看到 usb 上的设备,包括连接的打印机
2,安装 cups. 服务, apt-get install cups ;
3,直接启动 cups 服务 /etc/init.d/cups start;
4,允许 网内的其他主机访问 sudo cupsctl --remote-any ; sudo /etc/init.d/cups restart
5, 安装一些 库 sudo apt-get install hplip
6,查看 连接的打印机 lpinfo -v
7,查看 安装好的驱动 lpinfo -m
8,添加打印机 lpadmin -p hpprint3 -E -v usb://HP/LaserJet%20Professional%20M1136%20MFP -m drv:///hpcups.drv/hp-laserjet_professional_m1132_mfp.ppd
-p 后是 指定添加打印机的名字 , -v 后是 要添加的打印机 -m 后是 该打印机的驱动
上面的驱动 不对 ,所以添加好可以查看下
9,lpstat -p -d
查看 可用的打印机 以及 当前 默认的打印机
10,测试打印 lp -d printter filename
11,设置默认打印机 lpoptions -d print
如果不能打印 ,可以把这个添加的打印机删了 再重新添加
可以通过网页的形式去删 ,然后 网页的形式去添加,