樹莓派搭建網絡列印機
摘要:
實驗室大家列印檔案的時候,要麼去列印機旁的電腦上列印,要麼通過網絡鄰居将任務發送到列印機旁邊的計算機上。為了騰出這台計算機,同時讓每個人能在自己的計算機通過網絡列印。我們想到用樹莓派來代替這台計算機,實作實驗室的網絡列印機環境搭建。
環境介紹:
我所使用的樹莓派型号是:Raspberry Pi 2 Model B V1.1。這款樹莓派不帶無線網口,但是有一個以太網口。
我所使用的列印機是HP LaserJet P1008。
準備工作:
1.準備樹莓派的環境
我們先對樹莓派燒錄系統,系統下載下傳:https://www.raspberrypi.org/downloads/raspbian/ 我選擇的是 Raspbian Stretch with desktop,可以根據自己的需要進行選擇。
使用讀卡器,插上TF卡,連接配接PC。可以使用SD Card Formatter先對TF卡進行格式化。然後使用USB Image Tool燒錄下載下傳的系統。附上USB Image Tool使用教程連結:http://shumeipai.nxez.com/2013/08/31/usb-image-tool.html
格式化和燒錄工具很多都可以,我隻是比較習慣這兩款。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL2QjM5EjMzkDM4IjMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
樹莓派插上TF卡,連接配接好HDMI顯示屏,接上無線滑鼠和鍵盤,連接配接以太網,連接配接列印機,上電。
完成系統開啟工作。
2.樹莓派網絡環境準備
檢測是否連接配接網際網路:指令行輸入:
ping www.baidu.com
查閱網絡環境,即樹莓派的IP位址:
我們可以知道樹莓派的IP:192.168.137.87
MAC位址:B8-27-EB-0B-F1-9F
安裝ssh和配置ssh開機啟動,以備遠端登入使用。
sudo apt-get install openssh-server
檢查ssh服務是否開啟
ps -e | grep ssh
如果清單隻有ssh-agent,沒有sshd表示沒有開啟,那麼開啟ssh服務:
sudo /etc/init.d/ssh start
此時再次檢查ssh服務,會發現清單已經存有sshd了。
使用putty工具即可遠端登入樹莓派了,如下圖:
設定開機啟動ssh服務:打開/etc/rc.local檔案
sudo gedit /etc/rc.local
#沒有gedit編輯器 可以使用vi vim 或者 sudo apt-get install gedit
在末尾 exit 0的前一行,添加開啟ssh服務代碼
/etc/init.d/ssh start
此時,開機啟動後ssh服務便開啟,可以使用遠端登入樹莓派了。
3.設定樹莓派靜态IP
編輯DHCP配置檔案
sudo gedit /etc/dhcpcd.conf
末尾内容添加如下:
interface eth0
#etho是以太網卡名字 192.168.1.65是樹莓派IP
#routers是路由器IP domain_name_servers是DNS伺服器IP
static ip_address=192.168.1.65/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
最後sudo reboot重新開機生效即可。
正式搭建工作
- 安裝惠普hp列印機驅動,此安裝會同時安裝cups服務,cups服務是我們搭建網絡列印機的基礎服務,關于cups服務參考:https://baike.baidu.com/item/CUPS/13007261?fr=aladdin or https://www.cups.org/
sudo apt-get install hplip
- 将使用者添加入lpadmin,我的使用者名是pi。如果不添加,之後添加網絡列印機,會報錯:Unable to add printer forbidden。
sudo usermod -a -G lpadmin pi
- 修改cups配置環境,為了安全起見,cups服務預設是隻能本地使用者localhost通路的。現在我們需要遠端通路,需要修改配置檔案/etc/cups/cupsd.conf。在修改配置檔案前,先關掉cups服務,然後再開啟。
sudo service cups stop #關掉服務
sudo gedit /etc/cups/cupsd.conf #開始編輯
sudo service cups start #開啟服務
編輯内容修改為:
# Only listen for connections from the local machine.
#Listen localhost:631
Listen 0.0.0.0:631 #此行是修改行,并注釋上一行
...
...
...
# Restrict access to the server…
<Location />
Order allow,deny
Allow from @Local #此行是添加行
</Location>
# Restrict access to the admin pages…
<Location /admin>
Order allow,deny
Allow from @Local #此行是添加行
</Location>
...
# Restrict access to configuration files…
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from @Local #此行是添加行
</Location>
一共有四處修改,如果不修改,遠端登入網頁通路不了,記得重新開啟cups服務。
- 如果是其他列印機,就可以進行遠端列印了,但是HP LaserJet P1008還需要一下操作:安裝foo2xqx: a linux printer driver for XQX stream protocol。
cd ~ #進入使用者目錄
#開始下載下傳foo2zjs.tar.gz
sudo wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
#解壓
tar zxf foo2zjs.tar.gz
#進入解壓目錄
cd foo2zjs
#執行以下操作:
sudo make #編譯
sudo ./getweb P1008
sudo make install
sudo make install-hotplug
sudo make cups
- 如果以上工作沒問題,可以通過cups服務添加網絡列印機設定了。打開同一區域網路下計算機的浏覽器,輸入樹莓派IP + :613。例如我的樹莓派IP是192.168.137.87,那麼輸入192.168.137.87:631。
選擇菜單欄條目【Administration】, 進而選擇【Printer】下的【Add Printer】按鈕。選擇繼續不安全網頁,進去。這是電腦的防病毒問題,不需要,繼續點選【Add Printer】按鈕。彈出一個表單,輸入樹莓派的使用者名和密碼。
點選【Continue】
設定網絡列印機名字,描述【可選】,然後勾選share,如下:
添加好PPD檔案,關于這個PPD檔案,提供下載下傳連結:https://download.csdn.net/download/windsnow1/10980586
設定列印設定:
此時便配置成功了。可以列印一下測試頁。
使用者使用手冊
說明:
路由器的IP是:192.168.1.1, 我已經設定樹莓派的靜态IP是192.168.1.65。
HP LaserJet P1008的網絡位址是:http://192.168.1.65:631/printers/Printer406
現在以windows 10系統為例:
打開【控制台】----【檢視裝置和列印機】
點選【添加列印機】
點選【我所需的列印機未列出】----勾選【按名稱選擇共享列印機】----輸入網絡列印機位址:http://192.168.1.65:631/printers/Printer406,切記協定是http,不是https。
選擇廠商是HP 列印機是HP LaserJet P1008,如果沒有可以選擇HP LaserJet P1008之後的版本,例如P1015n等等,高版本向下相容。
點選,确定即添加列印機成功。恭喜你,現在可以使用這款列印機進行網絡列印了。
最後,倒騰了一天半的時間,感謝各路網路大咖,謝謝他們博文的分享,同時感謝我心中的男神對我的幫助。歡迎大家有問題指出,技術在于分享,歡迎大家交流問題,有問題,可以在下留言,我會一一回複。
參考連結:
https://blog.csdn.net/qq813480700/article/details/71597808
https://www.cnblogs.com/taojintianxia/p/6026225.html
https://blog.csdn.net/nullpointer2008/article/details/79664253