Pi Print Server

, , 2 Comments

Sudah lama sepertinya saya tidak menulis di blog ini karena kesibukan pekerjaan dan juga fokus untuk membuat materi-materi kelas coding untuk anak-anak. Dan akhirnya saya coba kembali membagikan satu project sederhana yang bisa dilakukan dengan Raspberry Pi versi berapapun juga, bahkan dengan SBC lainnya yang menjalankan Linux.

Awal mula dari project ini karena work from home dan home learning membuat saya harus merelokasi PC dan printer agar lebih nyaman buat anak-anak saat mengikuti kelas online dan terkadang harus mencetak materi yang dibagikan. Printer yang saya miliki adalah EPSON L3110 (USB) yang cukup untuk print warna atau hitam putih ukuran A4 dan scanning. Problem yang dihadapi adalah:

  • Transfer file dari laptop/hp ke PC untuk print (via USB disk, cloud storage, email) apapun yang cepat
  • Jika ada kendala satu dan lain hal, copot kabel USB printer dari PC dan colok ke laptop

Problem itu tentunya tidak terjadi jika kita menggunakan smart printer yang sudah punya wifi sendiri seperti printer saya sebelumnya HP 7610.

Solusi dari problem tersebut adalah menjadikan printer EPSON L3110 (USB) tersebut bisa menerima perintah untuk mencetak dari device apapun (PC, Laptop, HP, SBC ) dengan OS apapun baik desktop maupun mobile.

Dalam tulisan ini saya akan coba membagikan cara yang telah saya praktekkan dan berhasil. Tentu saja ada banyak cara yang bisa dicari di internet, saya akan taruh referensi lain untuk di cek pada bagian akhir dari tulisan ini.

Print Server

Install dan konfigurasi CUPS

Pertama saya menyiapkan satu micro sd card dengan OS Raspbian terbaru. Karena fungsi yang diharapkan nantinya oleh print server ini hanya sederhana, maka saya cukup menginstall Raspbian Lite karena proses download image dan flashing OS lebih cepat. Setelah OS terinstall dan berhasil terhubung dengan internet maka ada beberapa hal yang perlu dikerjakan antara lain:

Install CUPS

Seperti biasa lakukan dulu update repository dan juga system

sudo apt-get update
sudo apt-get upgrade

Setelah itu barulah kita install CUPS

sudo apt-get install cups

Lanjutkan dengan mengkonfigurasi cups yang ada di /etc/cups/cupsd.conf seperti contoh dibawah ini:

Port 631

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


<Location /admin>
  Order allow,deny
  Allow @Local
</Location>


<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @Local
</Location>

Setelah itu save file konfigurasi tersebut dan restart cups

sudo service cups restart

Selanjutnya kita tambahkan user pi kedalam group lpadmin sehingga user pi dapat melakukan tindakan administrasi di dalam cups seperti menambah printer.

sudo usermod -a -G lpadmin pi

Setelah user pi sudah ditambahkan ke dalam group, maka kita perlu membuat CUPS dapat terhubung ke network dan dapat diakses melalui network.

sudo cupsctl --remote-any
sudo /etc/init.d/cups restart

Sampai disini kita sudah selesai untuk melakukan instalasi, konfigurasi CUPS dan membuatnya dapat diakses oleh network.

Install SAMBA

Samba adalah utility yang memudahkan pertukaran/sharing antara Linux dengan Windows. Samba digunakan agar Windows system dapat mengenali dan menggunakan CUPS yang terhubung dengan Raspberry Pi untuk mencetak.

Lakukan instalasi samba dengan mengetikkan perintah berikut ini jika misalnya tidak secara otomatis terinstall sebelumnya saat menginstall CUPS.

sudo apt-get install samba

Lanjutkan dengan melakukan konfigurasi samba yang terletak di /etc/samba/smb.conf .Inti dari konfigurasi tersebut adalah:

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = yes
   read only = no
   create mask = 0700

Perlu diingat, saat sistem Windows mengakses printer ini, maka Windows akan mencari driver dari printer tersebut. Kita dapat meletakkan driver printer pada direktori /var/lib/samba/printers dan menambahkan konfigurasi pada smb.conf seperti dibawah ini

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = no
   guest ok = yes

Lakukan restart samba untuk mengimplementasikan konfigurasi tersebut

sudo systemctl restart smbd

 

Menambahkan Printer Pada CUPS

Karena kita mulai dengan Raspbian Lite, maka kita perlu membuat satu desktop environment. Saya pilih LDXE karena desktop environment ini adalah salah satu yang paling ringan sehingga cepat saat beroperasi didalamnya dan juga instalasinya. Untuk menambahkan LXDE, kita jalankan perintah ini

sudo apt-get install lxde-core lxappearance

Setelah LDXE terinstall, lakukan reboot dan secara otomatis kita akan masuk ke dalam desktop environment. Secara default, LXDE tersebut kosong. hanya berisi utility dasar saja. Untuk itu masuklah ke dalam terminal dan install chromium-browser agar kita dapat mengakses CUPS dari dalam web browser

sudo apt-get install chromium-browser

Untuk mengetahui IP address kita ketikkan perintah pada terminal

hostname -I

dan ketikkan ip address tersebut ke dalam address browser dan diakhiri dengan nomor port misalnya 192.168.0.10:631. Maka CUPS akan terbuka. Masuklah ke dalam menu administration dan tambahkan printer. Printer akan terdeteksi saat printer menyala dan terhubung dengan Raspberry Pi melalui kabel USB.

 

Mencetak dari Windows

Untuk instalasi printer di Windows straight forward.

 

Mencetak dari Smartphone

Ada beberapa aplikasi yang dapat kita gunakan, ada dua yang saya gunakan yaitu NokoPrint dan PrintShare. Cukup pilih printer dari network dan printer akan terdeteksi.

 

Dalam tulisan berikutnya saya akan share bagaimana membuat IP address menjadi statik dan sistem menjadi read only. Kedua hal ini akan sangat mendukung Raspberry Pi menjadi sebuah printserver.

 

Demikian sharing singkat bagaimana membuat printer local menjadi printer network yang dapat diakses oleh semua perangkat komputer dirumah secara wireless. Apabila tulisan ini bermanfaat mohon share dan like tulisan ini. Terima kasih.

 

 

Reference:

“https://raspberrytips.com/upgrade-raspbian-lite-to-desktop/”

“https://pimylifeup.com/raspberry-pi-print-server/”

“https://circuitdigest.com/microcontroller-projects/raspberry-pi-print-server”

Facebook Comments
 

2 Responses

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.