Maak je eigen Airprinter!
Joshua Fuller

Raspberry Pi als Airprinter... Printen vanaf je iPhone

Heb je altijd al willen printen willen printen vanaf je iPhone? Ben je helemaal klaar mee om naar je vijfduizend jaar oude computer te lopen om dan tien jaar te wachten voordat hij is opgestart voordat je dan eindelijk kan gaan printen?

Gelukkig heeft Apple hier iets voor bedacht. Je kan (al een tijdje) printen direct via je iPhone. Helaas is er 1 probleem, de meeste printers worden niet ondersteund. Gelukkig kan je als je een Raspberry Pi hebt heel makkelijk ervoor zorgen dat je nu toch wel kan printen vanaf je iPhone!

Heb je geen Raspberry Pi, of vind je het te moeilijk om deze guide te volgen, dan kan je altijd nog kijken naar deze HP printer in de HP Store (aff.).

De installatie

Om van je Raspberry Pi een Airprinter te maken moet je als eerste verbinden met de Command Line van je Pi. We hebben ook een uitleg gemaakt hoe je kan verbinden met de Command Line van je Raspberry Pi via SSH.

Nu je in de Command Line zit, is de eerste stap om het programma Cups te installeren. Dat is een printserverprogramma van Apple waarbij je je printers kan toevoegen, en daarmee dus werkend kan krijgen met Airprint. Cups kan je installeren met de volgende command.

sudo apt install cups -y

Nadat Cups is geïnstalleerd moet je jouw gebruiker toevoegen aan de printergroep lpadmin, want op die gebruikersgroep staan de printers ingesteld. Dat doe zo:

sudo usermod -a -G lpadmin pi

Nu is Cups geïnstalleerd, maar je moet nog wel je printer toevoegen. Gelukkig kan je dat makkelijk doen vanaf de webinterface van Cups. Standaard is die zo ingesteld dat je niet zomaar vanaf elk apparaat kan inloggen. Dat wil je nu veranderen naar dat iedereen die op jouw eigen netwerk zit de interface kan bekijken. Om dat te doen moet je een bestandje aanpassen. Dat doe je als volgt:

sudo nano /etc/cups/cupsd.conf

Nu kan je de configuratie bekijken, in deze configuratie wil je een aantal dingen aanpassen. Zo wil je dit gedeelte aanpassen:

# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock

Dit wil je veranderen naar:

Verander dat Cups luistert naar elke request, niet alleen van de localhost zelf

Met deze aanpassing accepteerd je Pi requests van over het locale netwerk, dus dan  kan je aanpassingen maken via je eigen computer. Daarna wil je ook nog toevoegen dat je de pagina's kan bekijken, voeg daarbij toe Allow @local. Zie het voorbeeld hieronder:

Zorg dat je toevoegd Allow @local

Hieronder is het nog een keer duidelijk aangegeven wat je allemaal moet toevoegen.

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

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @local
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @local
</Location>

Sla hierna het bestand op (Ctrl + O en Ctrl + X). En herstart Cups daarna als volgt:

sudo service cups restart

Printer toevoegen

Oké nu heb je alle software geïnstalleerd die je nodig hebt. Nu moet je in je webbrowser je printer toevoegen. Je gaat in de browser naar het ip-adres van je Raspberry Pi en dan :631, bijv. http://192.168.86.37:631.

Weet je het ip-adres van je Raspberry Pi niet? Type dan in de Command Line:  ifconfig. Als je dan met wifi bent verbonden, dan vind je bij wlan0 en dan inet je ip-adres, als je via ethernet bent verbonden dan vind je je ip-adres bij lan0 en dan inet. Een voorbeeld van een ip-adres is 192.168.1.1.

 Nu kom je uit bij een scherm in deze richting.

Dit is de home pagina van Cups

Klik op het kopje Administration en klik daarna op Add printer. Nu komt er een scherm te staan, met het bericht Upgrade Required. Klik op de link naar de admin pagina.

Je moet inloggen voordat je dit kan aanpassen

Hierna kom je een waarschuwing tegen, deze kan je gewoon negeren en je kan alsnog naar de pagina gaan door bij de optie Advanced het risico te accepteren.

Deze waarschuwing is als gevolg van dat deze pagina werkt met https, om ervoor te zorgen dat je wachtwoord niet zomaar gestolen kan worden. Maar https moet altijd via een speciale service ondertekend worden, bij Cups is dit natuurlijk niet standaard ingesteld. Daarom vertrouwd Firefox, of een andere browser de website niet. Maar het is gewoon helemaal veilig.

Dit waarschuwingsscherm kan tevoorschijn komen als je probeert in te loggen

Nu ben je weer terug bij het scherm waar je eerst was, klik nu weer op Add Printer. Nu wordt gevraagd om je User Name en je Password. Bij username vul je je gebruikersnaam in, dat is dus standaard pi. En bij password je wachtwoord van je Raspberry Pi. Als je nog nooit het wachtwoord van je Raspberry Pi hebt aangepast dan is het standaard wachtwoord raspberry.

Login met je account

Oké nu kan je eindelijk je eigen printer toevoegen. Meestal staat je eigen printer er al, als je hem via USB hebt aangesloten staat die bij Local Printers, als de printer via het netwerk is aangesloten dan staat hij bij Discoverd Network Printers.

Het kan ook zijn dat je printer die via je netwerk is aangesloten niet zomaar gevonden kan worden. Je kan dan die printer toevoegen door het ip-adres van je printer op te zoeken, en hem dan handmatig toe te voegen via de optie Other Network Printers. Als je dat doet, dan kan je (meestal) je printer toevoegen m.b.v. het Internet Printing Protocol (ipp).

Voeg je printer op deze pagina toe

Selecteer de printer die je wilt toevoegen en druk op Continue. Geef vervolgens de printer een naam en een beschrijving, als je wilt kan je ook nog een locatie toevoegen. Klik daarnaast ook nog op Share This Printer, want dan kan je ook printen vanaf je iPhone. Als je dit hebt gedaan, druk op Continue.

Geef je printer een naam

Nu kom je op het laatste scherm, hier moet je het type printer selecteren, zodat Cups weet wat voor formaten hij naar de printer kan sturen. In mijn geval kan ik mijn type printer selecteren, soms kan je je type printer er niet zomaar tussen vinden, dan kan je even Googlen om te zoeken welke optie je moet selecteren. Als je je type printer hebt geselecteerd klik op Add Printer. Hierna wordt nog grevraagd naar de opties, maar klik daar maar gewoon op Set default options. En nu kan je printen vanaf je iPhone!

Selecteer hier het juiste type printer

Printen vanaf je iPhone

Je hebt nu alles ingesteld, maar hoe moet je nu printen vanaf je iPhone? Bij datgene wat je wilt afdrukken, bijvoorbeeld een webpagina of een email ga naar de deel knop. In het deel menu is er een optie Druk af, klik daarop en selecteer bij printer de printer die je net hebt ingesteld. Kies eventueel nog de opties, en druk daarna op Druk af rechtsboven. Het duurt misschien een aantal seconden, maar hierna wordt je document/webpagina/e-mail toch echt afgedrukt. Hieronder kan je zien hoe het werkt in iOS 13

Zo print je naar je Airprinter

En nu heb je je eigen Airprint server gemaakt! Je kan ook Android telefoons en Windows computers laten printen via je Airprint server, maar dat is voor een volgende keer.


Credits