Een printer is niet de handigste van randapparatuur. Ze lijken op de meeste bureaus niet op hun plaats en vormen een behoorlijk racket bij het uitspugen van pagina's.

Je zou een paar honderd pond kunnen gooien op een hippe nieuwe netwerkprinter die ergens in een hoek zit en printopdrachten van elke computer op het lokale netwerk kan ontvangen of je kunt gewoon je gewone USB-printer aansluiten op de Raspberry Pi en genieten van dezelfde gemakken die worden aangeboden door de beste netwerkprinters.

Als u uw printer nog niet op Linux hebt gebruikt, gaat u voordat u aan dit project begint naar de website Open Printing om te controleren of uw printer compatibel is met de CUPS-afdrukserver-software.

Als uw printer wordt vermeld, sluit hem dan aan op de Raspberry Pi via een van de USB-poorten. Voor dit project gebruiken we de Raspbian distro en de Raspberry Pi is verbonden met het lokale netwerk via een compatibele draadloze adapter.

U kunt de Raspberry Pi echter ook via de bedrade Ethernet-poort op uw netwerk aansluiten.

Je kunt de instructies in deze tutorial volgen door de Raspberry Pi op afstand te gebruiken vanaf elke andere computer in het netwerk. Zorg er wel voor dat de SSH-server in Raspbian is ingeschakeld met behulp van de raspi-config-tool. Het is ook een goed idee om een ​​vast IP-adres toe te wijzen aan de Raspberry Pi.

U kunt dit eenvoudig doen vanuit de beheerderspagina van uw router. Voor deze tutorial nemen we aan dat het IP-adres van uw Raspberry PI 192.168.3.111 is.

Je hebt nu toegang tot de Pi vanuit Windows met behulp van de PuTTY-client of vanaf elke Linux-distro met de SSH CLI-opdracht met:

$ sudo ssh [email protected]

Installeer CUPS

Als je eenmaal binnen Raspbian bent, update je de repositories (repos) met $ sudo apt-get update en installeer vervolgens updates met $ sudo apt-get upgrade . Trek nu de CUPS-printserver in met $ sudo apt-get installatiekoppen

Wanneer het is geïnstalleerd, voegt u uw gebruiker toe aan de groep die is gemaakt door CUPS met de naam lpadmin en die toegang heeft tot de printerwachtrij.

U kunt ook bladeren door de uitgebreide documentatie van het op CUPS-browser gebaseerde configuratiescherm

Tenzij u een aangepaste gebruiker hebt gemaakt, wordt de standaardgebruiker op Raspbian pi genoemd. Gebruik de volgende opdracht om deze te laten communiceren met de printer: $ sudo usermod -a -G lpadmin pi

Hier gebruiken we de usermod-tool om toe te voegen ( -een ) de pi-gebruiker voor de lpadmin-groep ( -G ). CUPS kan standaard alleen worden geconfigureerd vanaf de lokale computer waarop deze is geïnstalleerd.

Omdat dat in ons geval niet werkt, moeten we het configuratiebestand bewerken zodat we de server vanaf een externe computer kunnen wijzigen. Allereerst moet u een back-up maken van het oorspronkelijke configuratiebestand met:

$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.orig

Open vervolgens het bestand met de nano-teksteditor: $ sudo nano /etc/cups/cupsd.conf . Blader in het bestand naar het volgende gedeelte:

# Alleen luisteren naar verbindingen vanaf de lokale computer
Luister naar localhost: 631

Geef die regel commentaar (door # toe te voegen aan het begin van de regel) en voeg een nieuwe toe om CUPS te vragen om verbindingen te accepteren vanaf elke computer in het netwerk. Zorg ervoor dat de sectie er als volgt uitziet:

# Alleen luisteren naar verbindingen vanaf de lokale computer
# Luister naar localhost: 631
Poort 631

Blader verder naar beneden in het configuratiebestand totdat u de secties en voeg een nieuwe regel toe die luidt Sta @local toe vlak voor het einde van de sectie. De sectie met de bijgevoegde regel zou nu als volgt moeten lezen:


# Beperk de toegang tot de server
Bestelling toestaan, ontkennen
Sta @local toe

Voeg nu de Laat de regel @local toe naar de andere twee locatiesecties - en

Sla het bestand op en start de CUPS-server opnieuw met: $ sudo /etc/init.d/cups herstart

U zou nu via elke computer op uw lokale netwerk toegang moeten hebben tot het CUPS-beheerpaneel door de webbrowser naar uw Pi te wijzen. Volg daarna de weg door de pagina om uw printer aan CUPS toe te voegen.

Sommige Linux-distributies worden geleverd met een beperkend iptables-firewallbeleid dat geen verbindingen via de CUPS-poorten toestaat.

Zelfs als Raspbian dat niet doet, zorg er dan voor dat het geen onverwachte fouten veroorzaakt door gaten in de firewall te slaan met:

$ sudo iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 631 -j
AANVAARDEN
$ sudo iptables -A INPUT -i wlan0 -p udp -m udp --dport 631
-j ACCEPTEREN

Als u via Ethernet verbinding maakt met de Raspberry Pi in plaats van met een draadloze adapter, wijzigt u de opdracht en vervangt u deze wlan0 met eth0 . Wanneer u klaar bent met het instellen van uw printer via het CUPS-beheerpaneel, is het tijd om deze toegankelijk te maken voor andere machines in uw netwerk.

Hoewel Linux-distro's geen problemen zullen hebben met het detecteren van uw nieuwe netwerkprinter, heeft het maken ervan voor Windows- en Apple-apparaten een aantal extra stappen nodig.

Op het tabblad Printers kunt u de status van elke taak op elke printer volgen

Netwerkbrede toegang

Installeer voor Windows de Samba-server op de Raspberry Pi met $ sudo apt-get install samba . Open vervolgens het configuratiebestand (/etc/samba/smb.conf) in de nano-teksteditor en zoek naar het gedeelte met de naam [printers] en zorg ervoor dat het de regel bevat:

gast ok = ja

Blader vervolgens omlaag naar het gedeelte [print $] en wijzig het pad naar het volgende:

path = / usr / share / cups / drivers

Blader vervolgens naar de sectie Algemene instellingen boven aan het configuratiebestand. Wijzig de werkgroepparameter om naar de naam van uw werkgroep te verwijzen, die standaard WORKGROUP heet .

Schakel ook de wins-ondersteuning in door de lijn toe te voegen wint support = ja

Sla nu het bestand op en start Samba opnieuw met $ sudo /etc/init.d/samba herstarten .

Ga vervolgens naar de Windows-machine en start de wizard Nieuwe printer toevoegen en klik op de optie om een ​​netwerkprinter te installeren. Dankzij de aangepaste Samba-configuratie, zal de wizard alle printers die aangesloten zijn op de Raspberry Pi detecteren en vermelden.

Als u Apple-apparaten hebt, kunt u ondersteuning voor het AirPrint-systeem van Apple inschakelen, waarmee u kunt afdrukken vanaf de iPad en iPhone. Installeer hiervoor de Avahi-daemon met sudo apt-get install avahi-daemon op de Raspberry Pi, waardoor de aangesloten printer zichtbaar wordt voor AirPrint-compatibele apparaten.

Naast de mogelijkheid om onze netwerkprinter vanuit grafische toepassingen op alle platforms te gebruiken, kunnen we deze ook gebruiken om vanuit de opdrachtregelinterface af te drukken. Bovendien kunnen we ook communiceren met de printer met behulp van de programmeertaal Python.

  • Bekijk onze verzameling fantastische Raspberry Pi-projecten