06-05-2023 03:42 PM - editat 16-12-2023 12:12 PM
Hello,
Acum ceva vreme va spuneam intr-un alt tutorial cum se poate folosi un router mai vechi pe post de Print Server pentru o imprimanta pe USB (fara WiFi) pentru a printa in retea, si chiar direct de pe telefon (cu cateva limitari).
Ei bine, astazi trecem la urmatorul nivel, acela in care folosim un Raspberry Pi pe post de print server dedicat. Deci nu mai aveti nevoie de acel router, dar...necesita cateva achizitii.
TL;DR: se ia una bucata Raspberry Pi cu Wifi, se instaleaza Raspberry OS pe el (sau o alta distributie de Linux), se instaleaza si configureaza CUPS, se adauga imprimanta, se adauga cateva foi de hartie si se "serveste" in voie. Mult succes!
Tutorialul nu e neaparat doar pentru printere HP, dar asta am, si asta am testat. 🙂 Teoretic ar trebui sa mearga fara probleme si pe alte imprimante.
Avantajul acestui setup este compatibilitatea default (fara alte softuri), de pe toate sistemele de operare pe care le-am incercat pana acum: MacOS, Windows, Ubuntu Linux, IOS si Android. Doar adaugi imprimanta, si e gata de printare. 😄
In cazul asta, o sa folosim un Raspberry Pi 3 Model A+. De ce asta si nu 4, sau orice altceva? Pentru ca asta e singurul pe care l-am gasit. Iar Pi 4 mi s-a parut cam scump pentru ce aveam eu nevoie. Aparent sunt stoc epuizat cam peste tot. In plus, voiam ceva cu porturi HDMI si USB full-size, spre deosebire de varianta unui Pi Zero 2 W, de exemplu, care are Micro USB si Mini HDMI, ceea ce inseamna cabluri, adaptoare etc.
Dar ideea e simpla: avem nevoie de un Pi cu Wi-Fi si macar un port USB pentru imprimanta noastra.
Raspberry Pi se poate achizitiona de pe raspberrypi.com. Odata ce alegeti un model, o sa aveti cateva optiuni locale de cumparare, cum ar fi de exemplu Optimus Digital, care pare sa fie partener oficial pentru astfel de produse.
Deci, de ce avem nevoie?
Gata? Sa-i dam drumul!
Scrierea sistemului de operare pe cardul SD
Daca nu doriti sa descarcati imaginea de fiecare data, puteti descarca fisierul o singura data, pe calculator, si il instalati din Imager folosind optiunea Use Custom din Choose OS.
Conectarea la Raspberry Pi
Daca totul a decurs cum trebuie si instalarea a fost cu succes, putem sa scoatem cardul din adaptor/card reader si sa-l introducem in Raspberry Pi pentru configurare.
Dupa cum ziceam si mai sus, daca aveti la dispozitie un monitor pe HDMI, mouse si tastatura, puteti sa le conectati si sa urmati pasii de mai jos de pe monitorul atasat. Eu am ales varianta "remote", de pe un alt laptop conectat la retea.
Pornim Pi-ul si asteptam cateva minute (vreo 2 minute ar trebui sa fie suficient) pentru configurarea initiala. Dupa care, putem incerca o conectare prin SSH.
Acum, avem doua variante prin care putem sa ne conectam la SSH. Folosind IP-ul Pi-ului (ne putem uita in interfata router-ului WiFi, la clientii conectati, si cautam hostname-ul pe care l-am setat pentru Pi) sau direct cu acel hostname.local pe care l-am setat in optiuni in momentul in care am instalat sistemul de operare pe card.
Sintaxa pentru conectare la ssh este de forma:
ssh [username]@[IP]
sau
ssh [username]@[hostname.local]
Concret:
ssh pi@192.168.0.123
sau
ssh pi@raspberrypi.local
O sa ceara acceptul pentru adaugare in known hosts. Scrieti "yes" si Enter. Dupa care, o sa ceara parola de conectare la Pi (cea pe care ati setat-o la setarile de SSH de mai sus).
Intrucat IP-ul dat de serverul DHCP se poate schimba, ca sa nu il cautam de fiecare data cand vrem sa facem o conectare catre PI, cel mai simplu este sa ne logam folosind hostname.local.
Actualizarea sistemului de operare si pregatirea de configurare CUPS
Odata logati pe Pi, recomand sa-i dati intai de toate un update si upgrade.
Concret:
sudo apt-get update && sudo apt-get upgrade
Sau separat:
sudo apt-get update
sudo apt-get upgrade
De asemenea, inainte sa ne apucam de configurat, o sa trebuiasca sa mai instalam CUPS (Common Unix Printing System) si pachetul printer-driver-hpcups pentru imprimantele HP. Fara el, o sa aveti doar o selectie limitata de drivere din care sa alegeti.
Comenzile, pentru cazul asta, sunt:
sudo apt-get install cups
sudo apt-get install printer-driver-hpcups
Dupa ce a terminat tot de instalat/actualizat, putem sa trecem la configurarea propriu-zisa a CUPS serverului.
Configurare Print Server
Intai de toate, trebuie sa adaugam userul ("pi", daca nu a fost schimbat in altceva) la grupul lpadmin ca sa putem interactiona cu el.
Comanda este:
sudo usermod -a -G lpadmin pi
Daca aveti alt user, inlocuiti "pi" in comanda de mai sus, cu userul respectiv.
Apoi facem un backup fisierului de configurare cupsd.
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.orig
Editam fisierul cupsd pentru acces remote:
sudo nano /etc/cups/cupsd.conf
Si modificam urmatoarele:
La linia
# Only listen for connections from the local machine
Listen localhost:631
comentam Listen localhost:631 adaugand un # in fata, si punem dedesubt:
Port 631
In final, o sa arate asa:
# Only listen for connections from the local machine
# Listen localhost:631
Port 631
Apoi, mai jos, la sectiunile marcate cu <Location/> </Location>, trebuie sa adaugam Allow @local, ca in exemplul de mai jos.
<Location/>
# Restrict access to the server
Order allow,deny
Allow @local <- inserati aici
</Location>
Vom face acelasi lucru si pentru celelalte doua locuri de mai jos.
Dupa ce am terminat, restartam serverul CUPS cu comanda:
sudo /etc/init.d/cups restart
In momentul asta, ar trebui sa puteti accesa serverul cups din browser folosind IP-ul PI-ului urmat de port 631 sau hostname-ul.
De exemplu: https://192.168.0.123:631 sau https://raspberrypi.local.:631
Ar trebui sa vedeti ceva in genul asta.
Bifati "Share printers connected to this system".
Mai trebuie doar adaugata imprimanta (aveti grija sa fie pornita!), folosind Add Printer.
Puteti sa-i dati si o locatie (optional). Dar important e sa nu uitati sa bifati Share This Printer.
Si, binenteles, va trebui sa-i selectam si driverul pe care sa-l folosesca.
Si cateva default-uri.
Asta e tot! 🙂
In momentul asta, imprimanta ar trebui sa fie detectabila de pe orice platforma (Windows, MacOS, Linux, iOS, Android), fara alte softuri suplimentare.
Happy printing!
la 09-05-2023 02:33 PM
Foarte bun articolul. Nu stiu de ce nu l-am vazut la data postarii (am cautat ceva legat de imprimarea cu Raspberry Pi si era si articolul tau).
Din pacare, Raspberry nu are mare cautare in Romania (de fapt, cam tot ce este legat de Linux nu prea se stie mare lucru, in special de cand comunitatile locale de "pinguini" nu mai au forta).
Legat de instalare: ar fi de spus ca pentru un noobie (inceptator) in ale Linuxului, o sa para ceva destul de greu de realizat. Recomand o vizualizare pe youtube dupa ce se citeste acest articol. O sa fie mult mai simplu.
PS: daca nu vedeam comenzile sudo apt-get [...], traiam si acum cu impresia ca Raspberry OS se bazeaza pe RHEL (sau Suse cu Yast si .rpm), nu pe Debian (cu Apt si .deb).
09-05-2023 02:48 PM - editat 09-05-2023 02:54 PM
Dap, este bazat pe Debian (11, "bullseye"). 🙂 Initial am testat solutia asta pe un Mac ruland Ubuntu Desktop. Da, stiu. Mac cu Linux?! :)) Dar da, un Mac (mai vechi) cu Intel, e la fel de capabil ca orice alt laptop cu Intel. Faptul ca e Mac nu-l face mai putin capabil, ba din contra. As zice ca e chiar mai capabil, tocmai prin faptul ca poate rula nativ si MacOS, ceea ce alte laptop-uri nu pot. Cel putin nu default. 🙂
Ideea a pornit de la dorinta de a avea imprimanta disponibila by default, fara softuri suplimentare, de pe orice sistem de operare, astfel incat oricine e legat la reteaua locala, sa poata printa direct de pe dispozitivul lui.
Si intrucat am avut succes (si aceleasi rezultate) si de pe laptop, am cautat o solutie care sa nu necesite un calculator (desktop sau laptop, e irelevant) permanent deschis. Si am gasit cateva solutii pe net, printre care si asta. Comandat "plăcințica", configurat, si acum am print server "de casa" 2.0, fara niciun fel de alte softuri (nici macar aplicatia HP Smart a celor de la HP, care, by the way, te forteaza sa ai si sa fii logat in contul HP pentru a putea scoate o pagina la imprimanta). Deci da...eu zic ca e mult mai ok cu varianta mea. 😄
Si da, pacat ca Linux-ul nu e atat de popular pe la noi. Sunt foarte multe chestii misto care se pot face pe Linux. Fiind un sistem de operare FOSS, si cu o comunitate foarte mare in spate, e normal sa apara si foarte multe idei si oameni priceputi care sa scoata tot felul de minuni. :))
la 09-05-2023 04:14 PM
Am trecut pe Linux tocmai ca, in urma cu 13 ani, interfata GNOME 2 era similara cu Mac-ul (ma rog, Machintosh). Tata inca foloseste primul meu calculator luat din primele salarii (din primul salariu am luat un monitor Fujitsu de 21" iar unitatea (desktop) pe parcursul urmatorului an din bucati). Si era 2007-2008... Mai spun ca sistemul de operare era Windows XP, iar din 2010 Ubuntu 10.04 si de vreo 3 ani Lubuntu 2x.04? Tata s-a bucurat ca e in limba romana, eu ca imi pot face proiectele de la master fara prea multe batai de cap cu Windows-ul (uneori mai aveam "blue screen of death"...).
In firma, daca nu ar fi softul de gestiune care sa necesite Windows, treceam 5 calculatoare pe Linux.
@Orange Romania S.A. 2024
Cod unic de înregistrare: 9010105
Numar inregistrare Registrul Comertului: J40/10178/1996
Sediul social: Clădirea Tandem, Strada Matei Millo, nr.5, Sector 1, Bucuresti
Certificatul Tip de furnizor