用Raspberry Pi作印表機伺服器

一台用了將近15年的HP LaserJet P1006印表機,到目前還在繼續使用中,這台印表機的列印連接傳輸是用USB線與電腦連接。
最近因為有多台電腦當要列印時,就得將筆電搬到印表機旁插上USB線來列印,非常的不方便。

之前(3、4年前)就有用Raspberry Pi來作印表機伺服器,但之前用過的經驗是Raspberry Pi非常的不穩定,Raspberry Pi常常會當機,或用一段時間後重新開機時開不起來,所以就沒繼續用。

最近因為家裡家人有多台電腦使用要列印的問題,原本想要買印表伺服器,但找了一下發現價格都不便宜,所以想說還是用Raspberry Pi來試試看,經過這次使用,發現後來新版的Raspberry Pi的Raspbian 的OS有改進了比之前的版本穩定多了。

這裡用Raspberry Pi作印表機伺服器是用CUPS 這套開放源碼軟體同時具備 AirPrint(雲端列印)功能,即便iPhone也能列印。

下面簡單的介紹CUPS的架設安裝過程:
1、準備好Raspberry Pi及安裝好Raspbian 的OS並完成最新的更新(這裡不作介紹)。
2、安裝CUPS主程式:
      #apt-get install cups
3、將使用者 pi 加入 lpadmin 管理印表機群組(這裡的使用者pi可以用你實際Raspbian的登入使用者)
      #usermod -a -G lpadmin pi
4、修改CUPS設定檔
      #vi /etc/cups/cupsd.conf

       找到 Listen localhost:631 那一行,前面加上 # 當作註解,另外加上一行 Port 631。
       找到 Restrict access to the server 那一行,在 Order allow,deny 下加一行 Allow @Local,如下圖紅色底線部分,存檔離開。

5、重新啟動 CUPS 服務
       #service cups restart
6、安裝 HP LaserJet P1006印表機驅動程式
       到The Linux Foundation -OpenPrinting 這個網站去查一下CUPS是否有支援我的印表機型號。


7、安裝 foo2xqx 印表機驅動程式:
       這裡在裝foo2xqx 之前,需先安裝 ghostscript,指令如下:
       #apt-get install ghostscript

       下載foo2xqx
       #git clone https://github.com/koenkooi/foo2zjs.git
       #cd foo2zjs
       #make
       (這裡要等一段時間)

       #make install
       #make cups
       至此 foo2xqx 印表機驅動程式安裝好了
8、在CUPS上新增印表機:
       開啟瀏覽器連上 CUPS 的 Web 介面,需使用 HTTPS 協定,而且要指定 Port 631。以我的 pi為例,IP是 192.168.1.168,直接在瀏覽器列輸入:
       https://192.168.1.168:631
       在畫面上點按[Administration]再點按[Add Printer]


這時會出現登入的對話視窗,輸入Raspbian OS上的帳號(pi)、密碼登入

登入後畫面會出現這Raspberry Pi上USB所插接的HP LaserJet P1006印表機選項,我們即點選這HP LaserJet P1006的印表機,並按下[Continue]按鈕

接著畫面上只要勾選[Sharing]勾項並點按[Continue]按鈕

接著畫面點選如下圖[Model]裡的HP LaserJet P1006印表機的選項,並按下[Add Printer]按鈕

接著直接點按[Set Default Options]按鈕

至此即完成印表機的新增設定

接下來我們點按[Printers]頁籤即會看到我們剛剛所新增的印表機,這時我們點按[HP_LaserJet_P1006]這連結到下一個畫面

這裡我們可以如下圖點按下拉選單選擇[Print Test Page]來作印表機的列印測試,如果成功即可印出測試頁來

至此我們即在Raspberry Pi上作完印表伺服器的設定,這裡要補充說明一下,我們要在用戶端新增印表機(新增印表伺服機位置)時要對其這印表機的網址連結作複製,這連結會在下面所要繼續講的用戶端新增印表機時會用到

用戶端新增印表機設定:
這裡我用的是Windows 10作業系統,其印表機新增設定如下:
點按[開始]→[設定]

點按[裝置]

接著點按[印表機與掃描器]→[新增印表機或掃描器]

等過一段時間會出現[我想要的印表機未列出]
(這裡要注意,如果出現我們在Raspberry Pi上所新增的印表機,不要去選那印表機,一定要用[我想要的印表機未列出]這個,因為直接選那印表機所新增出來的印表機無法用,印出來是模糊的)

這時會出現一個設定畫面,這裡我們點選[依名稱選取共用印表機],接著將剛剛我們上面所複製的那印表機網址給貼上去,然後直接點按[下一步]按鈕(不要按[瀏覽]按鈕)
(這裡要注意,網址是必須http非https,不然會無法連到)

接著點按[HP]→[HP LaserJet P1006]→[確定]按鈕

這時會開始連線到我們的Raspberry Pi印表伺服器

如連線成功即會看到新增印表機成功的訊息畫面,點按[下一步]按鈕

這時即會看到已成功新增印表機的訊息畫面,這裡我們可以透過[列印測試頁(P)]按鈕來作列印測試是否可以印出來,如可以印出測試頁來即完成用戶端的印表機新增。


留言

這個網誌中的熱門文章

DIY陶甕咖啡豆烘豆機

我的陶甕咖啡烘豆設備

練習卡布奇諾拉花