23 เมษายน 2024

ทำ Print Server ด้วย Raspberry Pi

ผมต้องการแชร์ปริ้นเตอร์ในบ้านให้ทุกคนใช้งาน แต่แต่แหน่งที่ตั้งของ printer ไม่มี PC ติดตั้งอยู่ และ Printer ไม่ร้องรับ wifi หรือ lan จึงได้คิดเอา raspberry pi ที่มีอยู่มาทำเป็น printer server ซะเลย ว่าแล้วก็ลงมือทำเลยครับ

1. เตรียมอุปกรณ์

หาซื้ออุปกรณ์ Raspberry Pi จากนั้นติดตั้ง OS (Raspbian) แล้วเชื่อมต่อ raspberry pi เข้ากับระบบเครือข่ายของคุณ เสียบสาย usb ของเครื่องพิมพ์ที่คุณต้องการจะแชร์

2. ติดตั้งโปรแกรมบน raspberry pi

เปิด therminal ขึ้นมาแล้วใช้คำสั่งด้านล่างนี้เพื่อติดตั้งโปรแกรม cups

sudo apt-get update
sudo apt-get install cups

config file cupsd.conf

sudo nano /etc/cups/cupsd.conf
Browsing On
#Listen localhost:631
Port 631

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

<Location /admin>
  AuthType Default
  Require valid-user
  Order allow,deny
  Allow @LOCAL
</Location>

จากนั้น restart service ด้วยคำสั่ง

sudo systemctl restart cups

หา URL ของ Printer ด้วยคำสั่ง

sudo lpinfo -v |grep usb:

ผลลัพธ์

direct usb://HP/LaserJet%20Professional%20P1102?serial=000000000Q847YXWSI1c

ตั้งชื่อย้อให้กับเครื่องพิมพ์ ด้วยคำสั่ง sudo lpadmin -p {ชื่อย่อที่จะใช้เป็นชื่อเครื่อง} -v {URI จากข้อข้างบนนี่แหละ}

sudo lpadmin -p hp1102 -v usb://HP/LaserJet%20Professional%20P1102?serial=000000000Q847YXWSI1c

เช็คสถานะเครื่องพิมพ์ด้วยคำสั่ง sudo lpstat -p {ชื่อย่อเครื่อง} -l

sudo lpstat -p hp1102

ปกติมันจะ disable อยู่ ให้ enabled มันด้วยคำสั่ง sudo cupsenable {ชื่อย่อเครื่อง} แล้วเช็คสถานะดูอีกที่มันจะกลายเป็น is idle ถือว่าเรียบร้อย

sudo cupsenable hp1102

สุดท้ายสั่งให้ CUPS รับงานของเราด้วยคำสั่ง sudo cupsaccept {ชื่อย่อเครื่อง}

sudo cupsaccept hp1102

3. ตั้งค่าในฝั่ง Client

เปิด Browser เข้าไปที่หน้าเวปของ CUPS ด้วย ip ของ Raspberry Pi:631 อย่างถ้า ip เครื่อง Raspberry Pi เป็น 192.168.100.32 ก็พิมพ์ 192.168.100.32:631

คลิกที่แทป Printer จากนั้นคลิกที่ชื่อปริ้นเตอร์ที่เราต้องการ

copy url ของ printer ที่ต้องการ

http://192.168.100.32:631/printers/hp1102

ไปที่ Control panel > Hardware and Sound > Devices and Printers แล้วเลือก Add a printer

หา windows สามารถค้นหาแล้วเจอ จะปรากฏเครื่องพิมพ์ดังภาพ สามารถเลือกที่เครื่องพิมพ์แล้วคลิก Next เพื่อทำรายการต่อไปได้เลย

หาก windows ค้นหาไม่พบ ให้คลิก “The printer that i want isn’t listed”

จากนั้นคลิกเลือกที่ “Select a shared printer by name” แล้วว่าง url ที่ copy มาลงไป แล้วคลิก Next

เลือก Driver ให้ตรงกับ printer ของเรา แล้วกด Ok

Flash

เพียงเท่านี้เราก็มี Print server ไว้ใช้งานแล้วครับ