在北京讀大學期間,各種專業課都要求論文作業,而且不像國外的大學,論文通過郵件提交。前兩個學期,需要經常出門找打印店,排很長時間的隊,冒著U盤染毒的風險給打印店老板送錢,還有一次熬夜寫論文,早上起來整個學校打印店都關門了,差點延誤論文提交時間。于是痛下決心在二手網站購置了一臺HP LaserJet 1020,花了450大洋,老板還貼心的換了一盒硒鼓。打印機測試正常,但是打印機的確比較老,沒有辦法進行網絡打印。若想讓舍友們舒服的使用打印機,翻出了閑置一年的樹莓派,決定將樹莓派改造為網絡打印服務器。本文旨在整理網上搭建網絡打印機的教程,幫助大家在過程中少走彎路。
一、部件清單
- 樹莓派
- HP LaserJet 1020
- 鼠標鍵盤 能用即可,在ssh連接之后就可以關閉圖形界面了
- SD卡 16GB以上最好
- 電腦一臺 本教程基于MacOS
二、準備樹莓派
首先得準備好SD卡,如果你之前在上邊裝載過其他LINUX,則需要對SD卡重新格式化調整。將TF卡插在Mac上,之后在終端輸入以下命令,就可以看到系統掛載的所有磁盤,請在其中確認自己TF卡的盤符。
diskutil list
找到盤符之后,在終端輸入以下命令,并在Password后輸入自己的用戶密碼就可以格式化SD卡了。
sudo diskutil eraseDisk FAT32 MY_TFCARD MBRFormat /dev/disk2
MY_TFCARD:格式化后的卷標,請使用大寫字母
/dev/disk2:需要格式化的盤符,請根據實際SD寸卡盤符填寫
然后就可以下載樹莓派鏡像了,大家可以在樹莓派官網選擇官方鏡像。這里選擇的時候有三個版本。
其中software版自帶了一些編程應用,適合SD卡存儲較大;Lite版本閹割掉了大部分的功能,包括圖形界面,高手向;這里我推薦的是Desktop標準版,在保留了基本的功能(包括圖形界面)之后,體量控制在了5GB左右,正常玩家向。
對于沒有多余顯示屏的玩家,可以嘗試購置一塊3.5寸的小觸控屏幕。筆者由于身處高校,校園網需要額外認證,且宿舍路由器開啟了DHCP功能,無法訪問路由器主頁,所以只能選擇自帶屏幕驅動的系統,這里有兩個網站大家根據自己的屏幕型號進行下載。【1】【2】
對于燒錄程序,我推薦balena,一款免費軟件,大家可以去balena官網下載,足以滿足此次燒錄需求。
打開balena,選擇解壓縮后的img文件,選擇我們格式化好的SD卡,點擊Flash,稍等片刻即可完成燒錄。之后給樹莓派插上SD卡打開電源即可點亮屏幕
三、設置樹莓派SSH
登陸樹莓派之后連接上路由器,在終端中輸入以下命令即可查看ip
ifconfig
然后轉到我們的電腦上,連接到同一個路由器下,在終端中輸入以下命令
ssh pi@10.15.139.5
在@
后面需根據自身網絡更換ip。
輸入之后系統提示需要輸入密碼,樹莓派默認密碼為raspberry
接下來,為了在下次進入樹莓派時ip保持不變,我們需要設定靜態ip。查看官方文檔 man dhcpcd.conf
可知,需要配置 static IP 的話,只需修改以下參數
vi /etc/dhcpcd.conf
# 使用 vi 編輯文件,增加下列配置項
# 指定接口 wlan0
interface wlan0
# 指定靜態IP,/24表示子網掩碼為 255.255.255.0
static ip_address=10.15.139.5/24
# 修改完成后,按esc鍵后輸入 :wq 保存。重啟樹莓派就生效了
sudo reboot
大家可能覺得每次輸入默認密碼比較繁瑣,其實通過sudo passwd pi
即可自行更改
四、安裝網絡打印機
在共享打印機之前,先分別修改 2 個軟件源,這是第 1 個:
sudo vi /etc/apt/sources.list
刪除或注釋全部內容,添加以下內容:
deb http://mirrors.aliyun.com/raspbian/raspbian jessie main contrib non-free rpi
修改第 2 個軟件源:
sudo vi /etc/apt/sources.list.d/raspi.list
刪除或注釋全部內容,添加以下內容:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ jessie main ui
最后,更新一下軟件源:
sudo apt-get update
或者一鍵換源
sudo sed -i 's#://raspbian.raspberrypi.org#s://mirrors.tuna.tsinghua.edu.cn/raspbian#g' /etc/apt/sources.list
sudo sed -i 's#://archive.raspberrypi.org/debian#s://mirrors.tuna.tsinghua.edu.cn/raspberrypi#g' /etc/apt/sources.list.d/raspi.list
安裝Cups
sudo apt-get install cups
在安裝過程中可能會報錯導致安裝失敗,例如:
pi@raspberrypi:~ $ sudo apt-get install cups
Reading package lists... Done
E: The value '\stable' is invalid for APT::Default-Release as such a release is not available in the sources
此時我們需要刪除掉/etc/apt/apt.conf.d/10defaultRelease文件
sudo rm -f /etc/apt/apt.conf.d/10defaultRelease
安裝完成后將pi用戶 加入到 lpadmin,pi成為管理員用戶
sudo usermod –a -G lpadmin pi
運行遠程訪問
sudo cupsctl --remote-any
重啟CUPS服務
sudo /etc/init.d/cups restart
打開PC瀏覽器,地址欄輸入:https://10.15.139.5:631/
可以看到下圖頁面則說明安裝完成。
依次點擊「Administration」-「Add Printer」按照提示配置即可。配置完成后,可以點擊「Print Test Page」來打印測試頁,如果一切正常,就意味著可以在其他設備上使用這臺打印機了,如果不行則需要查詢自己打印機是否在這個列表中,如果在,可以按照五進行設置。
五、HPLaserJet1020驅動安裝
安裝
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
解壓:
tar zxf foo2zjs.tar.gz
cd foo2zjs
編譯:
make
從Web獲取額外的文件(更改為自己打印機的驅動):
./getweb 1020
安裝驅動程序,foomatic XML文件,PPD文件和額外文件:
sudo make install
安裝熱插拔:
sudo make install-hotplug
CUPS管理打印機:
sudo make cups